Tengo un componente secundario donde compruebo si el usuario ha iniciado sesión:
<script> import { goto } from '$app/navigation'; import { user } from '../sessionStore'; import { supabase } from '../supabaseClient'; import Dashboard from './dashboard.svelte'; import Signin from './signin.svelte'; let loading = false; async function isLogged() { try { loading = true; const user = supabase.auth.user(); supabase.auth.onAuthStateChange((_, session) => { user.set(session.user); }); let { data, error, status } = await supabase .from('users') .select('*') .eq('id', user.id) .single(); if (error && status !== 406) throw error; if (data) { goto('/signin'); } } catch (error) { goto('/signin'); } finally { loading = false; } } <p use:isLogged></p>Si voy a esta página directamente, funciona, pero cuando llamo a este componente en mis otras páginas no funciona, en mi panel llamo a este componente simplemente importándolo e insertándolo en la página:
<Child/>¿Cómo puedo hacer que esto funcione? ¡Por favor hagamelo saber!