// app/_layout.tsx
import { Stack, useRouter } from 'expo-router';
import { StatusBar } from 'expo-status-bar';
import { useEffect } from 'react';
// CORREÇÃO: O caminho mudou porque moveste a pasta lib para a raiz
import { supabase } from '../lib/supabase';
import { ThemeProvider, useTheme } from '../themecontext';

function RootLayoutContent() {
  const { isDarkMode } = useTheme();
  const router = useRouter();

  useEffect(() => {
    // Escuta mudanças no estado de autenticação
    const { data: authListener } = supabase.auth.onAuthStateChange((event, session) => {
      console.log("EVENTO SUPABASE:", event);

      if (event === 'PASSWORD_RECOVERY') {
        console.log("A redirecionar para: /novapasse");
        
        // Usamos um delay ligeiramente maior para garantir que o RootLayout 
        // já montou a pilha de navegação (Stack)
        const timer = setTimeout(() => {
          // Usamos replace para não permitir que o user volte para uma rota "quebrada"
          router.replace('/novapasse');
        }, 1000);

        return () => clearTimeout(timer);
      }
    });

    return () => {
      authListener.subscription.unsubscribe();
    };
  }, []);

  return (
    <>
      <StatusBar style={isDarkMode ? "light" : "dark"} />
      <Stack screenOptions={{ headerShown: false }}>
        {/* O index é o teu login */}
        <Stack.Screen name="index" />
        {/* Garantimos que a rota novapasse existe na stack */}
        <Stack.Screen name="novapasse" />
      </Stack>
    </>
  );
}

export default function RootLayout() {
  return (
    <ThemeProvider>
      <RootLayoutContent />
    </ThemeProvider>
  );
}