<template>
  <div class="flex min-h-0 w-full flex-1 overflow-hidden">
    <AppSidebar />
    <div class="flex min-h-0 min-w-0 flex-1 flex-col">
      <!-- fullbleed (terminal) : pas de tabbar mobile ni de padding bas → terminal réellement plein écran
           (la navigation reste accessible via le lien « ← retour » du header de la vue). -->
      <main v-if="fullbleed" class="flex min-h-0 flex-1 flex-col">
        <slot />
      </main>
      <main v-else class="flex-1 overflow-y-auto pb-14 md:pb-0">
        <div class="mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-4 md:py-6">
          <slot />
        </div>
      </main>
      <MobileTabBar v-if="!fullbleed" />
    </div>
  </div>
</template>

<script setup lang="ts">
// Coquille des vues authentifiées (sidebar + contenu). Le chargement initial et les abonnements
// temps réel sont désormais possédés par useRealtimeBootstrap (monté dans App.vue), pour couvrir
// aussi la vue IDE plein écran qui n'utilise pas cette coquille.
import AppSidebar from './AppSidebar.vue';
import MobileTabBar from './MobileTabBar.vue';

defineProps<{ fullbleed?: boolean }>();
</script>
