<script setup lang="ts">
import { useAuthStore } from "~/stores/auth";

import DefaultSidebar from "~/layouts/default/Sidebar.vue";
import DefaultBreadcrumb from "~/layouts/default/Breadcrumb.vue";

import { SidebarInset, SidebarProvider, SidebarTrigger } from "~/components/ui/sidebar";

import { Separator } from "~/components/ui/separator";

import { useRuntimeConfig } from "#app";

const currentYear = new Date().getFullYear();

const config = useRuntimeConfig();

const authStore = useAuthStore();
await authStore.init();
</script>

<template>
  <SidebarProvider>
    <DefaultSidebar :user="authStore.user" />
    <SidebarInset>
      <header class="flex h-12 shrink-0 items-center gap-2 border-b px-4">
        <SidebarTrigger class="-ml-1" />
        <Separator orientation="vertical" class="mr-2 data-[orientation=vertical]:h-4" />
        <DefaultBreadcrumb />
      </header>
      <main class="flex flex-1 flex-col gap-4 p-4">
        <slot />
      </main>
      <footer class="flex h-12 shrink-0 items-center gap-2 border-b px-4" data-testid="footer">
        <div v-if="currentYear === 2025" class="bg-muted/50 flex-1 rounded-xl p-2 text-center">
          Glowing Fiesta 2025 <span class="text-muted-foreground">({{ config.public.appVersion }})</span>
        </div>
        <div v-else class="bg-muted/50 flex-1 rounded-xl p-2 text-center">
          Glowing Fiesta 2025 - {{ currentYear }} <span class="text-muted-foreground">({{ config.public.appVersion }})</span>
        </div>
      </footer>
    </SidebarInset>
  </SidebarProvider>
</template>
