Compare commits

...

7 Commits
0.1.0 ... 0.1.1

Author SHA1 Message Date
Philipp Dormann ef304c576b Merge branch 'feature/0.1.1' into dev 2021-03-26 20:45:11 +01:00
Philipp Dormann e2be86c558 v0.1.1 changelog 2021-03-26 20:44:53 +01:00
Philipp Dormann 4d57812c04 version bump to 0.1.1 2021-03-26 20:43:52 +01:00
Philipp Dormann 829fe32743 org registration - add team select
close #18
2021-03-26 20:42:20 +01:00
Philipp Dormann 760b1b32a2 added baseurl_selfservice config
close #22
2021-03-26 20:10:26 +01:00
Philipp Dormann 7b0bc22a71 [tmp] vue i18n error 2021-03-26 18:36:52 +01:00
Philipp Dormann 88996f81d8 Merge tag '0.1.0' into dev
working basics
2021-03-26 18:01:03 +01:00
9 changed files with 208 additions and 89 deletions

View File

@ -2,4 +2,96 @@
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
#### 0.0.1
#### [0.1.1](https://git.odit.services/lfk/selfservice/compare/0.1.0...0.1.1)
- org registration - add team select [`#18`](https://git.odit.services/lfk/selfservice/issues/18)
- added baseurl_selfservice config [`#22`](https://git.odit.services/lfk/selfservice/issues/22)
- [tmp] vue i18n error [`7b0bc22`](https://git.odit.services/lfk/selfservice/commit/7b0bc22a7157ee4551ab69dd5be856abed90b60c)
- ⏫ version bump to 0.1.1 [`4d57812`](https://git.odit.services/lfk/selfservice/commit/4d57812c043e9078656818a33d241df220127a92)
- Merge tag '0.1.0' into dev [`88996f8`](https://git.odit.services/lfk/selfservice/commit/88996f81d8990969048f00a7c175d2a30da2588b)
#### 0.1.0
> 26 March 2021
- drop profile data editing [`#20`](https://git.odit.services/lfk/selfservice/issues/20)
- Merge pull request 'feature/15_company_registration' (#16) from feature/15_company_registration into dev [`#15`](https://git.odit.services/lfk/selfservice/issues/15)
- Merge pull request 'i18n support for TOS checkbox' (#14) from feature/4-component-interpolation into dev [`#4`](https://git.odit.services/lfk/selfservice/issues/4)
- Merge pull request 'feature/11-user-scans' (#13) from feature/11-user-scans into dev [`#11`](https://git.odit.services/lfk/selfservice/issues/11)
- Merge pull request 'feature/10-my-profile-data' (#12) from feature/10-my-profile-data into dev [`#10`](https://git.odit.services/lfk/selfservice/issues/10)
- Merge pull request 'feature/3_env_file' (#9) from feature/3_env_file into dev [`#3`](https://git.odit.services/lfk/selfservice/issues/3)
- Merge pull request 'feature/5_basic_ui_lap_times' (#8) from feature/5_basic_ui_lap_times into dev [`#5`](https://git.odit.services/lfk/selfservice/issues/5)
- Merge pull request 'use new flex grid for responsive displaying action buttons' (#7) from feature/6_profile_action_buttons into dev [`#6`](https://git.odit.services/lfk/selfservice/issues/6)
- Merge pull request 'feature/1-register-disable-submit-address' (#2) from feature/1-register-disable-submit-address into dev [`#1`](https://git.odit.services/lfk/selfservice/issues/1)
- Initial commit [`7c2154a`](https://git.odit.services/lfk/selfservice/commit/7c2154ad026e8850727c40e9759757c4ceb56d0b)
- sample routes + first landing page and routing logic [`3e92597`](https://git.odit.services/lfk/selfservice/commit/3e92597a563399149b5fbfab74fce6a0ecd6aba4)
- basic ui for profile page [`a0cbeae`](https://git.odit.services/lfk/selfservice/commit/a0cbeae8fef54c298883c379a9e9e9440f6d3336)
- 🎉 initial commit [`4ca10e1`](https://git.odit.services/lfk/selfservice/commit/4ca10e1db4b99b0181fdb0bdad1c042f958b2267)
- ✨refined Register component for basic requirements [`e63367e`](https://git.odit.services/lfk/selfservice/commit/e63367e84e382607d372dd5f14f3dd13da0426de)
- Profile - basic ui reactivity logic [`13543c3`](https://git.odit.services/lfk/selfservice/commit/13543c3cd2792b3f7829a2e0d5d64e73852d7feb)
- 🚚 tmp move Login component [`a661064`](https://git.odit.services/lfk/selfservice/commit/a661064f34d31dd1ef5a01919cc8d5a2d81882b9)
- basic lap/ scans ui [`1436948`](https://git.odit.services/lfk/selfservice/commit/14369480ea23e8b0af8548596a6bf3d331de13e5)
- basic markdown rendering + routing for /imprint and /privacy [`5a5261d`](https://git.odit.services/lfk/selfservice/commit/5a5261d6b0d4adc62c100a29cebd07d25b89028d)
- Register - basic form validations [`2b303ac`](https://git.odit.services/lfk/selfservice/commit/2b303ac9b279423bc0cee687e4d9ef3bdb3727c2)
- use new flex grid for responsive displaying action buttons [`2b9c454`](https://git.odit.services/lfk/selfservice/commit/2b9c454395a4789236878b7e2a77dc1fa230eafe)
- merge #6 into #5 [`7fa459b`](https://git.odit.services/lfk/selfservice/commit/7fa459b71b2bdd96d4a5104b5356441e1232e5e8)
- re-order language files 😬 [`4fb9aee`](https://git.odit.services/lfk/selfservice/commit/4fb9aee25586cc873f7e276fd44e41458b633b70)
- 🐳 working docker config + Dockerfile [`5a258d8`](https://git.odit.services/lfk/selfservice/commit/5a258d8e6ceadb6a66cf628e8093876d1f4a783c)
- 🧹 added order script for i18n keys [`94f5787`](https://git.odit.services/lfk/selfservice/commit/94f578798818f7188ff83e6accb201a50aaa43a2)
- Profile - remove form styling. data is not editable yet [`8205c11`](https://git.odit.services/lfk/selfservice/commit/8205c11bd9a38c49608b0641dd89df22f492efd0)
- 🌎 basic i18n keys for Register component [`37b7ed7`](https://git.odit.services/lfk/selfservice/commit/37b7ed75c52cea16b413fcd2af586a30392496d5)
- Register - reactive AGB registration button [`9effcb4`](https://git.odit.services/lfk/selfservice/commit/9effcb457540b512c261286cbf46bbd856b7d8b9)
- Register - basic input POST to api [`8bf0803`](https://git.odit.services/lfk/selfservice/commit/8bf08034b798da354fdbbbc7ce6e5a72616bb16b)
- added ui for configuration errors page [`c92d5bf`](https://git.odit.services/lfk/selfservice/commit/c92d5bf5f2ff7642e2a55abe0002ff94f2d64d3e)
- fix accessibility in Profile component [`3351092`](https://git.odit.services/lfk/selfservice/commit/335109285912a4df16d4f0aea90c0ba054089762)
- 🌎 Profile - i18n compatibility [`b518730`](https://git.odit.services/lfk/selfservice/commit/b518730fab90927b111f1708b532c5eb34e2aee2)
- basic demo for i18n integration along with i18n-ally [`63bb34e`](https://git.odit.services/lfk/selfservice/commit/63bb34ef997bed202f3f208645e14861318e66ef)
- basic input styling for Profile page [`8fd6f47`](https://git.odit.services/lfk/selfservice/commit/8fd6f47b2f5d21a58ce356a949910db7d7e6064b)
- 🎉 working vue reactivity [`d18dbc3`](https://git.odit.services/lfk/selfservice/commit/d18dbc3a1fdf1bc9f2e8c5b37cc2d3044857410a)
- 📍🏠 added address2 field to Register [`2153944`](https://git.odit.services/lfk/selfservice/commit/215394489461e17760263cebf606475938500e6b)
- Profile - fetch user profile data from api [`0929f2b`](https://git.odit.services/lfk/selfservice/commit/0929f2bbc7037106bc6c9a4c948f51c59148a10b)
- 🐳 basic devcontainer config [`5bfeac6`](https://git.odit.services/lfk/selfservice/commit/5bfeac693e8f9bfe6f62a38e12bf259744330c39)
- 📃 updated README [`4c78712`](https://git.odit.services/lfk/selfservice/commit/4c78712f83565f21f3cdee2168f9221e2a007951)
- Profile - display group [`641e7a0`](https://git.odit.services/lfk/selfservice/commit/641e7a0d8ff75ce5756d11f39b583f55731b821c)
- accessibility fixes for input borders [`b7f15f4`](https://git.odit.services/lfk/selfservice/commit/b7f15f4d6827c893aa1fc4d47996df2fb46602ff)
- add required confirmation of data on registration [`aa287cf`](https://git.odit.services/lfk/selfservice/commit/aa287cf452e588a41ec0f74063dcbecdb08d476a)
- 🐞 bugfix for non-existant env.js [`987ac4d`](https://git.odit.services/lfk/selfservice/commit/987ac4d02cf63af5acdcc60f0ee2ec54534773cb)
- fallback for env config errors [`20229ab`](https://git.odit.services/lfk/selfservice/commit/20229ab14252e20ffb3ac0e3e8b9d8f7f31819a3)
- move profile to path param [`a39cf75`](https://git.odit.services/lfk/selfservice/commit/a39cf75c7fc2e29a5a1a34a7db39355e59ce9476)
- sample toast integration [`ff89071`](https://git.odit.services/lfk/selfservice/commit/ff89071156325b40239d39bc5c21106cfb6448a0)
- ⚙ basic release config [`35b4796`](https://git.odit.services/lfk/selfservice/commit/35b4796f3794f332940becc25a617777216cc1f3)
- added more example laps [`c8bf0b2`](https://git.odit.services/lfk/selfservice/commit/c8bf0b2685f1e0db4df5e4ce405268865775eb41)
- Register - correct phone number validation [`72f6523`](https://git.odit.services/lfk/selfservice/commit/72f65234f09fc2b9c7179fa1b43e217fab59ae60)
- basic /register/:token route [`18d1dda`](https://git.odit.services/lfk/selfservice/commit/18d1ddacf7e99e67e6572533ebd9add3d0c0592f)
- i18n support for TOS checkbox [`d405557`](https://git.odit.services/lfk/selfservice/commit/d405557aafb205c958914c85bd69c364d107370c)
- 🌎 first translations for landing page [`f1c45df`](https://git.odit.services/lfk/selfservice/commit/f1c45dff11bfa088f04922f5cd2d8f4f5f873f2f)
- enable org registration [`7904151`](https://git.odit.services/lfk/selfservice/commit/7904151a52af1a1592706e6a468943c8e9c57518)
- working path params for org registration [`79d8545`](https://git.odit.services/lfk/selfservice/commit/79d8545ed6b2e0e64ca02194bc7009b48d2c8f2d)
- ⏫ dependency bump [`36baf17`](https://git.odit.services/lfk/selfservice/commit/36baf174a52e3a5ce21294f7d4e899d6893fd517)
- ✨ basic env.js file for api baseurl, documentserver_key [`747c1d2`](https://git.odit.services/lfk/selfservice/commit/747c1d2a906ed46325b999ebc0f079265ad81eeb)
- ✅ added zipcode validation [`b5eade9`](https://git.odit.services/lfk/selfservice/commit/b5eade9633fb88659cdfe882220db0579e39ada1)
- 🌟 added requirement stars to Register ui [`2822fcd`](https://git.odit.services/lfk/selfservice/commit/2822fcdeba3c5f559c165d512a2743949bf9c61e)
- ⏫ dependency bumps [`70ac314`](https://git.odit.services/lfk/selfservice/commit/70ac31401654c316a5c162dbc142421788fccee7)
- format lap times + only display valid scans [`ff1f43e`](https://git.odit.services/lfk/selfservice/commit/ff1f43e235ba318008b9c408853231c809760304)
- Register - basic email input validation [`0c006cc`](https://git.odit.services/lfk/selfservice/commit/0c006cc09c983041d906621677b4a7a32ca1bb22)
- Register - reactive address checkbox [`2b3f4ab`](https://git.odit.services/lfk/selfservice/commit/2b3f4abe1ac13318f5dee873b3454eb06577d1c5)
- use api response object properly [`c8d4621`](https://git.odit.services/lfk/selfservice/commit/c8d462100a660e8edfd3bc46bd0c8abbd002f661)
- added sponsorings tab [`e499357`](https://git.odit.services/lfk/selfservice/commit/e499357d6f151eaa8885ebfb78150e709ba4e753)
- 🌎 translation for lap times + distance [`cf5c279`](https://git.odit.services/lfk/selfservice/commit/cf5c279eacde5d62b62c030b21ba51caad56eac4)
- 🐞 fix for address submitting [`9d970b0`](https://git.odit.services/lfk/selfservice/commit/9d970b02b8a7ab54109fc3df2c652d01e0c99a8e)
- ⏫ version bump to 0.1.0 [`ace5c95`](https://git.odit.services/lfk/selfservice/commit/ace5c958f1ce63c1a91ae730b129de45ee9b975a)
- added empty state for scans [`49c3507`](https://git.odit.services/lfk/selfservice/commit/49c3507a71a6ca212b0b8ade2b1945ea90db96bc)
- ✨ Register - invalid phone number error state [`e633ad6`](https://git.odit.services/lfk/selfservice/commit/e633ad6cea5d1fe8596cb67319ca7da7548bc770)
- display user name in Profile title [`b30277b`](https://git.odit.services/lfk/selfservice/commit/b30277b617c1329702cb538b7e98d98929ca2346)
- ✨ Profile - basic parsing for hash based query params [`f8ceec4`](https://git.odit.services/lfk/selfservice/commit/f8ceec492d720ced359da9001088bf691cb8c28f)
- ✨ Profile - lap times table responsiveness [`503aafb`](https://git.odit.services/lfk/selfservice/commit/503aafba06d0d72fd980dedd9a56905c6673ce28)
- 🐞 Register - display error state for empty + required address inputs [`3404fc0`](https://git.odit.services/lfk/selfservice/commit/3404fc06bf8e7163319680991f8d98208869478c)
- fix fallback component routing for invalid env config [`56daa7c`](https://git.odit.services/lfk/selfservice/commit/56daa7c501e3f59e988f1912ed397e43d6311572)
- center empty state image [`cb3dc13`](https://git.odit.services/lfk/selfservice/commit/cb3dc13c8acfeea3fad9ba9d5f9f6eade3e2310d)
- routing import fix [`ac9f1ba`](https://git.odit.services/lfk/selfservice/commit/ac9f1ba2aca43d38d67604a4f6e77c5b29a670af)
- ✨ Register - disable register button when invalid phone number is set [`e858334`](https://git.odit.services/lfk/selfservice/commit/e8583340c761663067aa51a4937d0795b75d21f1)
- 🐞 Register - fix zipcode submitting [`43ee4b5`](https://git.odit.services/lfk/selfservice/commit/43ee4b51f9973a20fbb2f4f7774763f5c089b0e1)
- 🚀Bumped version to v0.0.1 [`c8db78d`](https://git.odit.services/lfk/selfservice/commit/c8db78df6ffd5b4bdeb53893f363659ae2eefd45)
- Register - style agb link with underline [`c8e1b5d`](https://git.odit.services/lfk/selfservice/commit/c8e1b5d80db0ce20043a5cda5588c995e71ee090)
- new favicon [`9958fed`](https://git.odit.services/lfk/selfservice/commit/9958fed045e683cbf25b51c66deec405fd342073)
- 🌎 added missing translations [`69db350`](https://git.odit.services/lfk/selfservice/commit/69db350461231123796bc24a2452e6af47a7c83f)

View File

@ -1,6 +1,6 @@
{
"name": "@odit/lfk-selfservice",
"version": "0.1.0",
"version": "0.1.1",
"scripts": {
"dev": "vite",
"build": "vite build",

View File

@ -3,6 +3,8 @@ const config = {
documentserver_key: '',
// required
baseurl: '',
// optional, will fallback to /selfservice
baseurl_selfservice: '/selfservice',
// optional, will fallback to /imprint
url_imprint: '',
// optional, will fallback to /privacy

View File

@ -3,5 +3,6 @@
</template>
<script setup>
//
console.log(config.baseurl_selfservice);
config.baseurl_selfservice = (config.baseurl_selfservice || "/selfservice");
</script>

View File

@ -9,8 +9,22 @@
<p
v-if="state.org_name !== ''"
class="mx-auto leading-relaxed text-base text-center"
>Organization: {{ state.org_name }}</p>
<p v-else class="mx-auto leading-relaxed text-base text-center">Bürgerlauf</p>
>{{ $t('organization') }}: {{ state.org_name }}</p>
<p
v-if="state.org_name !== '' && state.org_teams.length > 0"
class="mx-auto leading-relaxed text-base text-center"
>Team:</p>
<select
v-model="org_team"
v-if="state.org_name !== '' && state.org_teams.length > 0"
class="w-full border bg-white rounded px-3 py-2 outline-none block mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
>
<option v-for="t in state.org_teams" :key="t.id" :value="t.id">{{ t.name }}</option>
</select>
<p
v-if="state.org_name === ''"
class="mx-auto leading-relaxed text-base text-center"
>Bürgerlauf</p>
<div class="mt-4">
<label for="first_name" class="block font-medium">
{{ $t('vorname') }}
@ -247,6 +261,8 @@ import isEmail from 'validator/es/lib/isEmail';
import isMobilePhone from 'validator/es/lib/isMobilePhone';
import isPostalCode from 'validator/es/lib/isPostalCode';
import { useToast } from "vue-toastification";
import { router } from '../router';
import { i18n } from '../language';
const props = defineProps({
token: String
@ -256,6 +272,8 @@ if (props.token) {
axios.get(`${config.baseurl}api/organizations/selfservice/${props.token}`)
.then(({ data }) => {
state.org_name = data.name;
state.org_teams = data.teams;
org_team.value = data.teams[0]?.id;
})
.catch((error) => {
console.log(error);
@ -266,9 +284,11 @@ let userdetails = ref({ firstname: "", lastname: "", middlename: "", mail: "", p
let provide_address = ref(false);
let agb_accepted = ref(false);
let data_confirmed = ref(false);
let org_team = ref("");
//
const state = reactive({
org_name: "",
org_teams: [],
submit_enabled: computed(() => agb_accepted.value === true && data_confirmed.value === true && (isMobilePhone(userdetails.value.phone) || !userdetails.value.phone.trim()) && isEmail(userdetails.value.mail)
&& userdetails.value.firstname
&& userdetails.value.lastname && (provide_address.value === false || provide_address.value === true && (userdetails.value.address.street.trim() && userdetails.value.address.city.trim() && isPostalCode(userdetails.value.address.zipcode, "DE"))))
@ -297,6 +317,9 @@ function login() {
country: "DE",
}
}
if (state.org_name !== '' && state.org_teams.length > 0) {
postdata.team = org_team.value;
}
toast("registration in progress...");
let url = `${config.baseurl}api/runners/register`;
if (props.token) {
@ -305,9 +328,7 @@ function login() {
axios.post(url, postdata)
.then(({ data }) => {
const token = btoa(data.token);
location.replace("../profile/" + token)
//
toast.success("You have been registered!");
router.push(`${config.baseurl_selfservice}/profile/${token}`);
})
.catch((error) => {
console.log(error);

14
src/language.js Normal file
View File

@ -0,0 +1,14 @@
import * as keys_en from './locales/en.json';
import * as keys_de from './locales/de.json';
import { createI18n } from 'vue-i18n';
const messages = {
en: keys_en,
de: keys_de
};
const browserlocale = ((navigator.languages && navigator.languages[0]) || '').substr(0, 2);
export const i18n = createI18n({
locale: browserlocale,
fallbackLocale: 'en',
messages
});

View File

@ -1,41 +1,43 @@
{
"already_have_an_account": "Already have an account?",
"apartment_suite_etc": "Apartment, suite, etc.",
"configuration_error": "Configuration error",
"confirm_personal_data": "I hereby confirm that the above information is complete and correct",
"distance": "Distance",
"download_certificate": "Download certificate",
"e_mail_adress": "mail address",
"go_to_login": "Go To Login",
"i_accept": "I have read and accepted the ",
"i_accept_end": "",
"if_you_are_the_system_administrator_please_refer_to_the_official_product_documentation_readme_for_configuration_guidance": "If you are the system administrator, please refer to the official product documentation/ README for configuration guidance.",
"imprint": "Imprint",
"lap_time": "Lap time",
"lap_times": "Lap times",
"main_page_text": "Here you can register for the Lauf Für Kaya! or manage your runner profile.",
"mittelname": "Middlename",
"nachname": "Lastname",
"no_laps_scans_were_recorded_yet": "No laps/ scans were recorded yet...",
"ort": "City",
"phone_number": "Phone Number",
"please_provide_a_valid_zipcode": "Please provide a valid zipcode...",
"please_provide_valid_mail": "Please provide a valid mail address.",
"plz": "zipcode",
"privacy_policy": "Privacy Policy",
"profile": "Profile",
"provide_address": "Provide a postal address?",
"register": {
"register_now": "Register now for Lauf für Kaya! 2021."
},
"register_now": "Register now!",
"registrieren": "Register Now",
"save_changes": "Save changes",
"sponsoring": "Sponsoring",
"strasse": "Street/ Block",
"the_system_is_not_properly_configured_please_contact_the_system_administrator_for_help": "The system is not properly configured. Please contact the system administrator for help.",
"this_is_not_a_valid_international_phone_number": "This is not a valid international phone number",
"tos": "Terms of Service",
"view_my_data": "View my data",
"vorname": "Firstname"
}
"already_have_an_account": "Already have an account?",
"apartment_suite_etc": "Apartment, suite, etc.",
"configuration_error": "Configuration error",
"confirm_personal_data": "I hereby confirm that the above information is complete and correct",
"distance": "Distance",
"download_certificate": "Download certificate",
"e_mail_adress": "mail address",
"go_to_login": "Go To Login",
"i_accept": "I have read and accepted the ",
"i_accept_end": "",
"if_you_are_the_system_administrator_please_refer_to_the_official_product_documentation_readme_for_configuration_guidance": "If you are the system administrator, please refer to the official product documentation/ README for configuration guidance.",
"imprint": "Imprint",
"lap_time": "Lap time",
"lap_times": "Lap times",
"main_page_text": "Here you can register for the Lauf Für Kaya! or manage your runner profile.",
"mittelname": "Middlename",
"nachname": "Lastname",
"no_laps_scans_were_recorded_yet": "No laps/ scans were recorded yet...",
"ort": "City",
"phone_number": "Phone Number",
"please_provide_a_valid_zipcode": "Please provide a valid zipcode...",
"please_provide_valid_mail": "Please provide a valid mail address.",
"plz": "zipcode",
"privacy_policy": "Privacy Policy",
"profile": "Profile",
"provide_address": "Provide a postal address?",
"register": {
"register_now": "Register now for Lauf für Kaya! 2021."
},
"register_now": "Register now!",
"registrieren": "Register Now",
"save_changes": "Save changes",
"sponsoring": "Sponsoring",
"strasse": "Street/ Block",
"the_system_is_not_properly_configured_please_contact_the_system_administrator_for_help": "The system is not properly configured. Please contact the system administrator for help.",
"this_is_not_a_valid_international_phone_number": "This is not a valid international phone number",
"tos": "Terms of Service",
"view_my_data": "View my data",
"vorname": "Firstname",
"organization": "Organization",
"you_have_been_registered": "You have been registered!"
}

View File

@ -1,49 +1,10 @@
import { createApp } from 'vue';
import { createWebHistory, createRouter } from 'vue-router';
import App from './App.vue';
import { createI18n } from 'vue-i18n';
import Toast from 'vue-toastification';
import 'windi.css';
import 'toastify-js/src/toastify.css';
import 'vue-toastification/dist/index.css';
import * as keys_en from './locales/en.json';
import * as keys_de from './locales/de.json';
import { router } from './router';
import { i18n } from './language';
const messages = {
en: keys_en,
de: keys_de
};
const browserlocale = ((navigator.languages && navigator.languages[0]) || '').substr(0, 2);
const i18n = createI18n({
locale: browserlocale,
fallbackLocale: 'en',
messages
});
// ---------------
const EnvError = import('./components/EnvError.vue');
const Home = import('./components/Home.vue');
const Imprint = import('./components/Imprint.vue');
const Privacy = import('./components/Privacy.vue');
const Register = () => import('./components/Register.vue');
const Profile = () => import('./components/Profile.vue');
//
let routes = [ { path: '/:pathMatch(.*)*', component: EnvError } ];
if (typeof config !== 'undefined') {
if (config.baseurl && config.documentserver_key) {
routes = [
{ path: '/', component: Home },
{ path: '/imprint', component: Imprint },
{ path: '/privacy', component: Privacy },
{ path: '/register', component: Register },
{ path: '/register/:token', component: Register, props: true },
{ path: '/profile/:token', component: Profile, props: true }
];
}
}
const router = createRouter({
history: createWebHistory(),
routes
});
// ---------------
createApp(App).use(Toast).use(i18n).use(router).mount('#app');

26
src/router.js Normal file
View File

@ -0,0 +1,26 @@
import { createWebHistory, createRouter } from 'vue-router';
// ------------
const EnvError = import('./components/EnvError.vue');
const Home = import('./components/Home.vue');
const Imprint = import('./components/Imprint.vue');
const Privacy = import('./components/Privacy.vue');
const Register = () => import('./components/Register.vue');
const Profile = () => import('./components/Profile.vue');
//
let routes = [ { path: '/:pathMatch(.*)*', component: EnvError } ];
if (typeof config !== 'undefined') {
if (config.baseurl && config.documentserver_key) {
routes = [
{ path: '/', component: Home },
{ path: '/imprint', component: Imprint },
{ path: '/privacy', component: Privacy },
{ path: '/register', component: Register },
{ path: '/register/:token', component: Register, props: true },
{ path: '/profile/:token', component: Profile, props: true }
];
}
}
export const router = createRouter({
history: createWebHistory(),
routes
});