diff --git a/app/lib/navigation.tsx b/app/lib/navigation.tsx
new file mode 100644
index 0000000..f1a17c7
--- /dev/null
+++ b/app/lib/navigation.tsx
@@ -0,0 +1,20 @@
+import { Auth } from "@supabase/ui";
+import Link from "next/link";
+import React from "react";
+
+export function Navigation() {
+ const user = Auth.useUser();
+ return (
+
+ SupaNews{" "}
+ {user.user === null ? (
+ login
+ ) : (
+ <>
+ account
+ logout
+ >
+ )}
+
+ );
+}
diff --git a/app/lib/supabase.tsx b/app/lib/supabase.tsx
index a846c31..9e4cae5 100644
--- a/app/lib/supabase.tsx
+++ b/app/lib/supabase.tsx
@@ -4,7 +4,7 @@ import { Auth } from "@supabase/ui";
const SupabaseClientContext = React.createContext(null);
-export function SupabaseProvider(props: { children: React.ReactElement }) {
+export function SupabaseProvider(props: { children: React.ReactNode }) {
const [client] = React.useState(() =>
createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
diff --git a/app/lib/urql.tsx b/app/lib/urql.tsx
index e499c27..ad43b1c 100644
--- a/app/lib/urql.tsx
+++ b/app/lib/urql.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { createClient, Provider } from "urql";
import { useSupabaseClient } from "./supabase";
-export function UrqlProvider(props: { children: React.ReactElement }) {
+export function UrqlProvider(props: { children: React.ReactNode }) {
const supabaseClient = useSupabaseClient();
function getHeaders(): Record {
diff --git a/app/pages/_app.tsx b/app/pages/_app.tsx
index df74a00..51ea3d6 100644
--- a/app/pages/_app.tsx
+++ b/app/pages/_app.tsx
@@ -2,11 +2,13 @@ import "../styles/globals.css";
import type { AppProps } from "next/app";
import { UrqlProvider } from "../lib/urql";
import { SupabaseProvider } from "../lib/supabase";
+import { Navigation } from "../lib/navigation";
function MyApp({ Component, pageProps }: AppProps) {
return (
+
diff --git a/app/pages/logout.tsx b/app/pages/logout.tsx
new file mode 100644
index 0000000..9d12b9e
--- /dev/null
+++ b/app/pages/logout.tsx
@@ -0,0 +1,17 @@
+import React from "react";
+import type { NextPage } from "next";
+import { Auth } from "@supabase/ui";
+import { useSupabaseClient } from "../lib/supabase";
+import { useRouter } from "next/router";
+
+const LogOut: NextPage = () => {
+ const supabaseClient = useSupabaseClient();
+ const router = useRouter();
+
+ React.useEffect(() => {
+ supabaseClient.auth.signOut().then(() => router.replace("/"));
+ }, []);
+ return null;
+};
+
+export default LogOut;