feat(frontend): landing page ROA Space cu selector de temă

Pagină de prezentare la ruta `/` (redirect la dashboard pentru
utilizatorii autentificați), în stilul design system-ului Romfast,
importată din Claude Design (ROA Space Landing).

- Hero cu card de rezervare interactiv, secțiuni de beneficii,
  bandă CTA discretă și footer pe un singur rând (stil autopass)
- Selector de temă în header cu aceleași 8 teme ca aplicația/autopass
  (light, dark, petrol, grafit, cobalt, cupru, hârtie, auto),
  persistat în localStorage; toată paleta e condusă de tema activă
- Conținut încadrat la 1280px, centrat, cu margini în culoarea temei;
  mod `fullBleed` în App.vue pentru pagini edge-to-edge
- Fonturi Plus Jakarta Sans / Manrope / Space Grotesk în index.html

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-07-10 18:02:53 +00:00
parent fd4890d526
commit fd36483cf2
4 changed files with 681 additions and 4 deletions

View File

@@ -49,7 +49,7 @@
</div>
</div>
<main class="content">
<main class="content" :class="{ 'content-full': fullBleed }">
<router-view />
</main>
</div>
@@ -72,6 +72,7 @@ const route = useRoute()
const isPublicRoute = computed(() => route.meta.isPublic === true)
const showSidebar = computed(() => authStore.isAuthenticated && !isPublicRoute.value)
const fullBleed = computed(() => route.meta.fullBleed === true)
const { collapsed, toggleMobile } = useSidebar()
const notifications = ref<Notification[]>([])
@@ -186,6 +187,13 @@ onUnmounted(() => {
padding: 2rem 1.5rem;
}
/* Full-bleed pages (e.g. landing) manage their own width/padding */
.content-full {
max-width: none;
margin: 0;
padding: 0;
}
/* Mobile header */
.mobile-header {
display: none;