diff options
Diffstat (limited to 'web/middleware')
| -rw-r--r-- | web/middleware/conference-selected.ts | 15 | ||||
| -rw-r--r-- | web/middleware/logged-in.ts | 19 |
2 files changed, 18 insertions, 16 deletions
diff --git a/web/middleware/conference-selected.ts b/web/middleware/conference-selected.ts new file mode 100644 index 0000000..c6415bb --- /dev/null +++ b/web/middleware/conference-selected.ts @@ -0,0 +1,15 @@ +import { useConferenceStore } from "~/stores/conference"; + +const conferenceStore = useConferenceStore(); +const scheduleStore = useScheduleStore() + +export default defineNuxtRouteMiddleware((to, from) => { + if (conferenceStore.id === null) { + return navigateTo("/conferences"); + } + + if (scheduleStore.schedule === null) { + fetchSchedule(); + fetchFavourites(); + } +});
\ No newline at end of file diff --git a/web/middleware/logged-in.ts b/web/middleware/logged-in.ts index 1ddd3ce..97db606 100644 --- a/web/middleware/logged-in.ts +++ b/web/middleware/logged-in.ts @@ -1,21 +1,8 @@ +const authStore = useAuthStore() + export default defineNuxtRouteMiddleware((to, from) => { - if ("" === getCookie("fosdem_planner_session")) { + if (!authStore.isLoggedIn()) { return navigateTo("/login"); } }); -function getCookie(cname: string) { - let name = cname + "="; - let decodedCookie = decodeURIComponent(document.cookie); - let ca = decodedCookie.split(";"); - for (let i = 0; i < ca.length; i++) { - let c = ca[i]; - while (c.charAt(0) == " ") { - c = c.substring(1); - } - if (c.indexOf(name) == 0) { - return c.substring(name.length, c.length); - } - } - return ""; -} |
