From f5597605e0e56c2bffb5a59a03922d7de72c73e3 Mon Sep 17 00:00:00 2001 From: Hy Nguyen Date: Sat, 16 Mar 2024 14:25:03 -0500 Subject: [PATCH] deleted test routes & refactored auth events handling --- app/root.tsx | 11 ++++- app/routes/test.tsx | 90 ---------------------------------- app/routes/testRoute.inner.tsx | 9 ---- app/routes/testRoute.tsx | 21 -------- 4 files changed, 10 insertions(+), 121 deletions(-) delete mode 100644 app/routes/test.tsx delete mode 100644 app/routes/testRoute.inner.tsx delete mode 100644 app/routes/testRoute.tsx diff --git a/app/root.tsx b/app/root.tsx index 85a0428..87aea73 100644 --- a/app/root.tsx +++ b/app/root.tsx @@ -63,10 +63,19 @@ function App() { data: { subscription }, } = supabase.auth.onAuthStateChange((event, session) => { revalidator.revalidate(); - if (session?.user || event === "SIGNED_IN") { + // handle events + if (event === "INITIAL_SESSION") { + if (session?.user) setUser(session.user); + } else if (event === "SIGNED_IN") { setUser(session?.user); } else if (event === "SIGNED_OUT") { setUser(undefined); + } else if (event === "PASSWORD_RECOVERY") { + // handle password recovery event + } else if (event === "TOKEN_REFRESHED") { + // handle token refreshed event + } else if (event === "USER_UPDATED") { + // handle user updated event } }); diff --git a/app/routes/test.tsx b/app/routes/test.tsx deleted file mode 100644 index 6602029..0000000 --- a/app/routes/test.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import { useLoaderData, useOutletContext } from "@remix-run/react"; -import { createServerClient, parse, serialize } from "@supabase/ssr"; - -import type { Database } from "../../database.types"; -import type { SupabaseClient } from "@supabase/supabase-js"; -import type { LoaderFunctionArgs } from "@remix-run/node"; -import { useEffect } from "react"; - -export const loader = async ({ request }: LoaderFunctionArgs) => { - const cookies = parse(request.headers.get("Cookie") ?? ""); - const headers = new Headers(); - - const supabase = createServerClient( - process.env.SUPABASE_URL!, - process.env.SUPABASE_ANON_KEY!, - { - cookies: { - get(key) { - return cookies[key]; - }, - set(key, value, options) { - headers.append( - "Set-Cookie", - serialize(key, value, options), - ); - }, - remove(key, options) { - headers.append("Set-Cookie", serialize(key, "", options)); - }, - }, - }, - ); - - // const data = await supabase.from('profiles').select() - const { - // if user !== null then is authenticated - data: { user: data }, - } = await supabase.auth.getUser(); - - return new Response(JSON.stringify(data), { headers }); -}; - -export default function Test() { - const { supabase } = useOutletContext<{ - supabase: SupabaseClient; - }>(); - - ////// get data from server side (in loaders and actions) - // const data = useLoaderData() as string - // useEffect(()=>{ - // console.log(JSON.parse(data)) - // }, []) - - ////// get data from client side - // useEffect(() => { - // (async () => { - // const data = await supabase.from('profiles').select() - // console.log(data) - // })() - // }, []) - - function signUp() { - supabase.auth.signUp({ - email: "khanghy2130@gmail.com", - password: "sup3rs3cur3", - }); - } - - function logIn() { - supabase.auth.signInWithPassword({ - email: "khanghy2130@gmail.com", - password: "sup3rs3cur3", - }); - } - - async function signOut() { - const { error } = await supabase.auth.signOut(); - if (error) { - console.log(error); - } - } - - return ( -
- - - -
- ); -} diff --git a/app/routes/testRoute.inner.tsx b/app/routes/testRoute.inner.tsx deleted file mode 100644 index 2724885..0000000 --- a/app/routes/testRoute.inner.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { useOutletContext } from "@remix-run/react"; - -export default function testRouteInner() { - const { parentState } = useOutletContext<{ parentState: boolean }>(); - - if (!parentState) return; - - return
Test Router Inner
; -} diff --git a/app/routes/testRoute.tsx b/app/routes/testRoute.tsx deleted file mode 100644 index 6115d10..0000000 --- a/app/routes/testRoute.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { Outlet } from "@remix-run/react"; -import { useState } from "react"; - -export default function testRoute() { - const [parentState, setParentState] = useState(false); - - return ( -
- Test Route - - -
- ); -}