<template>
  <div class="flex h-dvh flex-col">
    <WsBanner v-if="wsReconnecting" />
    <!-- Coquille unique : la vue (IDE ou login) gère elle-même son plein écran. -->
    <RouterView class="min-h-0 flex-1" />
    <ToastContainer />
    <CommandPalette />
  </div>
</template>

<script setup lang="ts">
import { computed } from 'vue';
import { wsClient } from './lib/ws-client';
import { useRealtimeBootstrap } from './composables/useRealtimeBootstrap';
import WsBanner from './components/layout/WsBanner.vue';
import ToastContainer from './components/ToastContainer.vue';
import CommandPalette from './components/CommandPalette.vue';

const wsReconnecting = computed(() => wsClient.status.value === 'reconnecting');

// Propriétaire unique du chargement initial + temps réel : hissé ici (App.vue toujours monté)
// pour couvrir l'IDE plein écran comme le login.
useRealtimeBootstrap();
</script>
