feat: start pages placeholder
This commit is contained in:
parent
fdcb6ca3d9
commit
ebb4772f54
|
|
@ -0,0 +1,51 @@
|
||||||
|
<script setup lang="ts"></script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<section class="bg-blue-900 text-white">
|
||||||
|
<div class="container-medium px-4 pb-16 pt-10 lg:px-8">
|
||||||
|
<h2>Die Lernumgebung für die Versicherungsbranche</h2>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<main class="bg-gray-200 lg:px-12 lg:py-12">
|
||||||
|
<div class="container-medium">
|
||||||
|
<h3 class="mb-8 text-blue-900">Wähle jetzt deinen Lehrgang aus:</h3>
|
||||||
|
|
||||||
|
<div class="mb-16 flex items-center gap-x-8">
|
||||||
|
<img
|
||||||
|
class="h-72"
|
||||||
|
src="../assets/images/mood_vv.jpg"
|
||||||
|
alt="Versicherungsvermittler"
|
||||||
|
/>
|
||||||
|
<div class="space-y-2">
|
||||||
|
<h4 class="text-lg font-bold">Versicherungsvermittler/-in</h4>
|
||||||
|
<p>
|
||||||
|
Der Lehrgang und die Prüfung zum Erwerb des Verbandszertifikats als
|
||||||
|
Versicherungs-vermittler/-in.
|
||||||
|
</p>
|
||||||
|
<router-link class="btn-primary" :to="{ name: 'vvStart' }">
|
||||||
|
Mehr erfahren
|
||||||
|
</router-link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex items-center gap-x-8">
|
||||||
|
<div class="space-y-2">
|
||||||
|
<h4 class="text-lg font-bold">Überbetriebliche Kurse</h4>
|
||||||
|
<p>
|
||||||
|
Die überbetrieblichen Kurse der kaufmännischen Ausbildungs- und
|
||||||
|
Prüfungsbranche «Privatversicherung».
|
||||||
|
</p>
|
||||||
|
<router-link class="btn-primary" :to="{ name: 'ukStart' }">
|
||||||
|
Mehr erfahren
|
||||||
|
</router-link>
|
||||||
|
</div>
|
||||||
|
<img
|
||||||
|
class="h-72"
|
||||||
|
src="../assets/images/mood_uk.jpg"
|
||||||
|
alt="Versicherungsvermittler"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
<script setup lang="ts"></script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<main class="bg-gray-200 lg:px-12 lg:py-12">
|
||||||
|
<div class="container-medium">
|
||||||
|
<h2 class="mb-8 text-blue-900">Überbetriebliche Kurse</h2>
|
||||||
|
<router-link
|
||||||
|
class="btn-primary"
|
||||||
|
:to="{ name: 'accountCreate', params: { courseType: 'uk' } }"
|
||||||
|
>
|
||||||
|
Jetzt mit Lehrgang starten
|
||||||
|
</router-link>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</template>
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
<script setup lang="ts"></script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<main class="bg-gray-200 lg:px-12 lg:py-12">
|
||||||
|
<div class="container-medium">
|
||||||
|
<h2 class="mb-8 text-blue-900">Versicherungsvermittler/-in</h2>
|
||||||
|
<router-link
|
||||||
|
class="btn-primary"
|
||||||
|
:to="{ name: 'accountCreate', params: { courseType: 'vv' } }"
|
||||||
|
>
|
||||||
|
Jetzt mit Lehrgang starten
|
||||||
|
</router-link>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</template>
|
||||||
|
|
@ -12,14 +12,10 @@ export const updateLoggedIn: NavigationGuard = async () => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export const redirectToLoginIfRequired: NavigationGuard = (to) => {
|
export const redirectToStartIfRequired: NavigationGuard = (to) => {
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
if (loginRequired(to) && !userStore.loggedIn) {
|
if (loginRequired(to) && !userStore.loggedIn) {
|
||||||
const appEnv = import.meta.env.VITE_APP_ENVIRONMENT || "local";
|
return "/start";
|
||||||
const ssoLogin = appEnv.startsWith("prod") || appEnv.startsWith("stage");
|
|
||||||
return ssoLogin
|
|
||||||
? `/login?next=${encodeURIComponent(to.fullPath)}`
|
|
||||||
: `/login-local?next=${encodeURIComponent(to.fullPath)}`;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
|
import GuestStartPage from "@/pages/GuestStartPage.vue";
|
||||||
import LoginPage from "@/pages/LoginPage.vue";
|
import LoginPage from "@/pages/LoginPage.vue";
|
||||||
|
import UKStartPage from "@/pages/UKStartPage.vue";
|
||||||
|
import VVStartPage from "@/pages/VVStartPage.vue";
|
||||||
import DashboardPage from "@/pages/dashboard/DashboardPage.vue";
|
import DashboardPage from "@/pages/dashboard/DashboardPage.vue";
|
||||||
import {
|
import {
|
||||||
handleCourseSessionAsQueryParam,
|
handleCourseSessionAsQueryParam,
|
||||||
handleCurrentCourseSession,
|
handleCurrentCourseSession,
|
||||||
redirectToLoginIfRequired,
|
redirectToStartIfRequired,
|
||||||
updateLoggedIn,
|
updateLoggedIn,
|
||||||
} from "@/router/guards";
|
} from "@/router/guards";
|
||||||
import { addToHistory } from "@/router/history";
|
import { addToHistory } from "@/router/history";
|
||||||
|
|
@ -20,6 +23,29 @@ const router = createRouter({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
routes: [
|
routes: [
|
||||||
|
{
|
||||||
|
path: "/start",
|
||||||
|
component: GuestStartPage,
|
||||||
|
meta: {
|
||||||
|
public: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/start/vv",
|
||||||
|
component: VVStartPage,
|
||||||
|
name: "vvStart",
|
||||||
|
meta: {
|
||||||
|
public: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/start/uk",
|
||||||
|
component: UKStartPage,
|
||||||
|
name: "ukStart",
|
||||||
|
meta: {
|
||||||
|
public: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/login",
|
path: "/login",
|
||||||
component: LoginPage,
|
component: LoginPage,
|
||||||
|
|
@ -288,7 +314,7 @@ const router = createRouter({
|
||||||
});
|
});
|
||||||
|
|
||||||
router.beforeEach(updateLoggedIn);
|
router.beforeEach(updateLoggedIn);
|
||||||
router.beforeEach(redirectToLoginIfRequired);
|
router.beforeEach(redirectToStartIfRequired);
|
||||||
|
|
||||||
// register after login hooks
|
// register after login hooks
|
||||||
router.beforeEach(handleCurrentCourseSession);
|
router.beforeEach(handleCurrentCourseSession);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue