export function useAuth() { const supabase = useSupabaseClient() const user = useSupabaseUser() const loading = ref(false) const error = ref(null) async function login(email: string, password: string) { loading.value = true error.value = null const { error: err } = await supabase.auth.signInWithPassword({ email, password }) if (err) error.value = err.message loading.value = false return !err } async function register(email: string, password: string) { loading.value = true error.value = null const { error: err } = await supabase.auth.signUp({ email, password }) if (err) error.value = err.message loading.value = false return !err } async function loginWithGoogle() { loading.value = true error.value = null const { error: err } = await supabase.auth.signInWithOAuth({ provider: 'google', options: { redirectTo: `${window.location.origin}/auth/confirm` } }) if (err) error.value = err.message loading.value = false } async function logout() { await supabase.auth.signOut() await navigateTo('/') } return { user, loading, error, login, register, loginWithGoogle, logout } }