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();
|
||||
if (loginRequired(to) && !userStore.loggedIn) {
|
||||
const appEnv = import.meta.env.VITE_APP_ENVIRONMENT || "local";
|
||||
const ssoLogin = appEnv.startsWith("prod") || appEnv.startsWith("stage");
|
||||
return ssoLogin
|
||||
? `/login?next=${encodeURIComponent(to.fullPath)}`
|
||||
: `/login-local?next=${encodeURIComponent(to.fullPath)}`;
|
||||
return "/start";
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
import GuestStartPage from "@/pages/GuestStartPage.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 {
|
||||
handleCourseSessionAsQueryParam,
|
||||
handleCurrentCourseSession,
|
||||
redirectToLoginIfRequired,
|
||||
redirectToStartIfRequired,
|
||||
updateLoggedIn,
|
||||
} from "@/router/guards";
|
||||
import { addToHistory } from "@/router/history";
|
||||
|
|
@ -20,6 +23,29 @@ const router = createRouter({
|
|||
}
|
||||
},
|
||||
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",
|
||||
component: LoginPage,
|
||||
|
|
@ -288,7 +314,7 @@ const router = createRouter({
|
|||
});
|
||||
|
||||
router.beforeEach(updateLoggedIn);
|
||||
router.beforeEach(redirectToLoginIfRequired);
|
||||
router.beforeEach(redirectToStartIfRequired);
|
||||
|
||||
// register after login hooks
|
||||
router.beforeEach(handleCurrentCourseSession);
|
||||
|
|
|
|||
Loading…
Reference in New Issue