✨ Add layouts, routing, transitions & pages (Story 1.4)
Default layout with sticky AppHeader (nav, LanguageSwitcher, mobile hamburger), AppFooter with social links. Minimal layout for express mode. 7 placeholder pages with localized EN routes. Page transitions (fade+slide), prefers-reduced-motion support, custom scroll behavior, error.vue, useSeo composable, SVG favicon. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
27
frontend/app/layouts/minimal.vue
Normal file
27
frontend/app/layouts/minimal.vue
Normal file
@@ -0,0 +1,27 @@
|
||||
<template>
|
||||
<div class="min-h-screen bg-sky-dark text-sky-text flex flex-col">
|
||||
<header class="p-4 flex justify-between items-center">
|
||||
<NuxtLink :to="localePath('/')" class="text-sky-accent font-narrative font-bold">
|
||||
Skycel
|
||||
</NuxtLink>
|
||||
<div class="flex items-center gap-4">
|
||||
<NuxtLink :to="localePath('/')" class="text-sky-text/70 hover:text-sky-accent text-sm font-ui transition-colors">
|
||||
{{ $t('common.back_to_adventure') }}
|
||||
</NuxtLink>
|
||||
<UiLanguageSwitcher />
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="flex-1">
|
||||
<slot />
|
||||
</main>
|
||||
|
||||
<footer class="p-4 text-center text-sky-text/50 text-sm font-ui">
|
||||
{{ $t('footer.copyright', { year: new Date().getFullYear() }) }}
|
||||
</footer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
const localePath = useLocalePath()
|
||||
</script>
|
||||
Reference in New Issue
Block a user