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:
2026-02-05 18:35:31 +01:00
parent 262242c7df
commit ca828d86b4
22 changed files with 682 additions and 88 deletions

View File

@@ -14,7 +14,7 @@ export default defineNuxtConfig({
'@nuxtjs/sitemap',
],
css: ['~/assets/css/main.css'],
css: ['~/assets/css/main.css', '~/assets/css/transitions.css'],
postcss: {
plugins: {
@@ -33,6 +33,7 @@ export default defineNuxtConfig({
lazy: true,
langDir: '../i18n/',
detectBrowserLanguage: false,
customRoutes: 'config',
pages: {
'projets/index': { en: '/projects' },
'projets/[slug]': { en: '/projects/[slug]' },
@@ -46,13 +47,22 @@ export default defineNuxtConfig({
},
app: {
head: {
link: [
{ rel: 'icon', type: 'image/svg+xml', href: '/favicon.svg' },
],
},
pageTransition: { name: 'page', mode: 'out-in' },
layoutTransition: { name: 'layout', mode: 'out-in' },
},
runtimeConfig: {
public: {
apiUrl: process.env.NUXT_PUBLIC_API_URL || 'http://localhost:8000/api',
apiKey: process.env.NUXT_PUBLIC_API_KEY || '',
siteUrl: process.env.NUXT_PUBLIC_SITE_URL || 'https://skycel.fr',
githubUrl: process.env.NUXT_PUBLIC_GITHUB_URL || 'https://git.araneite.dev/skycel',
linkedinUrl: process.env.NUXT_PUBLIC_LINKEDIN_URL || '',
},
},