From e664cf3b96a6d16501aff6b215a1e8030cec0464 Mon Sep 17 00:00:00 2001 From: Pascal Syma Date: Fri, 31 Jul 2026 01:32:00 +0200 Subject: [PATCH] feat(landing): add landing page layout and content --- app/components/admin/QuestModal.vue | 2 +- app/lang/de.json | 16 ++ app/lang/en.json | 16 ++ app/layouts/landing.vue | 65 ++++++ app/pages/index.vue | 304 ++++++++++++++++++---------- 5 files changed, 295 insertions(+), 108 deletions(-) create mode 100644 app/layouts/landing.vue diff --git a/app/components/admin/QuestModal.vue b/app/components/admin/QuestModal.vue index 484ef72..8387f4a 100644 --- a/app/components/admin/QuestModal.vue +++ b/app/components/admin/QuestModal.vue @@ -340,7 +340,7 @@ async function deleteImage() { :src="currentPicture.url" alt="Quest picture" class="h-24 w-32 rounded object-cover" - /> + > +const { loggedIn, clear } = useUserSession(); +const { t, locale } = useI18n(); +const localePath = useLocalePath(); +const route = useRoute(); +const switchLocalePath = useSwitchLocalePath(); + + + + diff --git a/app/pages/index.vue b/app/pages/index.vue index 54879b7..48296b4 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -2,129 +2,219 @@ import { useI18nKey } from '~/composables/useI18nKey'; import { fullDate } from '~~/server/utils/date'; +definePageMeta({ + layout: 'landing' +}); + const { loggedIn } = useUserSession(); const { data, pending, refresh } = await useFetch('/api/home'); const { t, d } = useI18n(); const localePath = useLocalePath(); const { tKey, tSluggy } = useI18nKey(); watch(loggedIn, () => refresh()); + +const steps = [ + { icon: 'login', key: 'step_register' }, + { icon: 'groups', key: 'step_team' }, + { icon: 'photo_camera', key: 'step_quests' }, + { icon: 'emoji_events', key: 'step_win' } +];