Initial structure for page-cerveau: - Astro 6.3.1 + @astrojs/vue 6.0.1 + Vue 3.5 - Tailwind 4 via @tailwindcss/vite (vs Tailwind 3.4 in prompt; @astrojs/tailwind incompatible with Astro 6 peer deps) - Embla Carousel Vue for mobile swipe (3 strict positions) - src/components/astro/ : 5 placeholder components (Col*, HamburgerMenu, PopupOnboarding) - src/components/vue/ : SwipeContainer + 3 placeholder islands - src/layouts/BaseLayout.astro - src/pages/index.astro (3 cols desktop ; SwipeContainer mobile) + manifeste.astro placeholder - public/data/ ready for PC3 (carte-o.json) + PC6 (journal.json) Build OK (0 errors, 0 warnings); dev server tested localhost:4321 with all components rendering. Note: Astro version is 6.3.1 (latest stable) instead of 5.x specified in prompt; 6.x is current LTS.
30 lines
1.1 KiB
Plaintext
30 lines
1.1 KiB
Plaintext
---
|
|
import BaseLayout from '../layouts/BaseLayout.astro';
|
|
import ColJournal from '../components/astro/ColJournal.astro';
|
|
import ColCentre from '../components/astro/ColCentre.astro';
|
|
import ColInsta from '../components/astro/ColInsta.astro';
|
|
import SwipeContainer from '../components/vue/SwipeContainer.vue';
|
|
import HamburgerMenu from '../components/astro/HamburgerMenu.astro';
|
|
import PopupOnboarding from '../components/astro/PopupOnboarding.astro';
|
|
---
|
|
<BaseLayout title="trans-former.fr">
|
|
<HamburgerMenu />
|
|
<PopupOnboarding />
|
|
|
|
<!-- Desktop : grid 3 colonnes -->
|
|
<div class="hidden md:grid md:grid-cols-[320px_1fr_320px] h-screen overflow-hidden">
|
|
<aside class="border-r border-neutral-200 overflow-y-auto"><ColJournal /></aside>
|
|
<main class="overflow-hidden"><ColCentre /></main>
|
|
<aside class="border-l border-neutral-200 overflow-y-auto"><ColInsta /></aside>
|
|
</div>
|
|
|
|
<!-- Mobile : SwipeContainer Vue island -->
|
|
<div class="md:hidden h-screen overflow-hidden">
|
|
<SwipeContainer client:load>
|
|
<ColJournal slot="left" />
|
|
<ColCentre slot="center" />
|
|
<ColInsta slot="right" />
|
|
</SwipeContainer>
|
|
</div>
|
|
</BaseLayout>
|