aboutsummaryrefslogtreecommitdiff
path: root/packages/web/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-02-03 21:07:28 -0800
committerFuwn <[email protected]>2026-02-03 21:07:28 -0800
commite72b0cb261b5fc9c70a839882ea07160ef7ef424 (patch)
tree0913ca6b24a078b91a64d15817d80d3cdaf56d32 /packages/web/src/lib
parentfeat(mcp): Wire to Supabase with project and search tools (diff)
downloadarchived-imemio-e72b0cb261b5fc9c70a839882ea07160ef7ef424.tar.xz
archived-imemio-e72b0cb261b5fc9c70a839882ea07160ef7ef424.zip
feat(web): Replace NextAuth with Supabase Auth
Diffstat (limited to 'packages/web/src/lib')
-rw-r--r--packages/web/src/lib/supabase/client.ts9
-rw-r--r--packages/web/src/lib/supabase/server.ts24
2 files changed, 33 insertions, 0 deletions
diff --git a/packages/web/src/lib/supabase/client.ts b/packages/web/src/lib/supabase/client.ts
new file mode 100644
index 0000000..d4d37f6
--- /dev/null
+++ b/packages/web/src/lib/supabase/client.ts
@@ -0,0 +1,9 @@
+import { createBrowserClient } from "@supabase/ssr";
+import { env } from "~/env";
+
+export function createClient() {
+ return createBrowserClient(
+ env.NEXT_PUBLIC_SUPABASE_URL,
+ env.NEXT_PUBLIC_SUPABASE_ANON_KEY,
+ );
+}
diff --git a/packages/web/src/lib/supabase/server.ts b/packages/web/src/lib/supabase/server.ts
new file mode 100644
index 0000000..86fa648
--- /dev/null
+++ b/packages/web/src/lib/supabase/server.ts
@@ -0,0 +1,24 @@
+import { createServerClient } from "@supabase/ssr";
+import { cookies } from "next/headers";
+import { env } from "~/env";
+
+export async function createClient() {
+ const cookieStore = await cookies();
+
+ return createServerClient(
+ env.NEXT_PUBLIC_SUPABASE_URL,
+ env.NEXT_PUBLIC_SUPABASE_ANON_KEY,
+ {
+ cookies: {
+ getAll() {
+ return cookieStore.getAll();
+ },
+ setAll(cookiesToSet) {
+ for (const { name, value, options } of cookiesToSet) {
+ cookieStore.set(name, value, options);
+ }
+ },
+ },
+ },
+ );
+}