This commit is contained in:
Nate Kelley 2025-09-04 13:39:09 -06:00
parent 93ad1daf1a
commit 7ea7cae7bc
No known key found for this signature in database
GPG Key ID: FD90372AB8D98B4F
4 changed files with 358 additions and 354 deletions

View File

@ -5,9 +5,8 @@
"version": "0.0.1", "version": "0.0.1",
"scripts": { "scripts": {
"dev": "vite dev --port 3000", "dev": "vite dev --port 3000",
"dev:fast": "pnpm run build:local && pnpm run start:local", "dev:fast": "pnpm run build:local && pnpm run start:bun",
"start": "echo 'For Cloudflare deployment, no start command is needed. Use start:local for local builds or start:wrangler for Cloudflare Workers dev'", "start": "echo 'For Cloudflare deployment, no start command is needed. Use start:local for local builds or start:wrangler for Cloudflare Workers dev'",
"start:local": "node .output/server/index.mjs",
"start:bun": "bun .output/server/index.mjs", "start:bun": "bun .output/server/index.mjs",
"start:wrangler": "npx wrangler dev .output/server/index.mjs --assets .output/public", "start:wrangler": "npx wrangler dev .output/server/index.mjs --assets .output/public",
"deploy:wrangler": "npx wrangler deploy .output/server/index.mjs --assets .output/public", "deploy:wrangler": "npx wrangler deploy .output/server/index.mjs --assets .output/public",
@ -100,27 +99,27 @@
"@supabase/ssr": "^0.7.0", "@supabase/ssr": "^0.7.0",
"@supabase/supabase-js": "catalog:", "@supabase/supabase-js": "catalog:",
"@t3-oss/env-core": "^0.13.8", "@t3-oss/env-core": "^0.13.8",
"@tailwindcss/vite": "^4.1.12", "@tailwindcss/vite": "^4.1.13",
"@tanstack/db": "^0.1.11", "@tanstack/db": "^0.1.12",
"@tanstack/match-sorter-utils": "^8.19.4", "@tanstack/match-sorter-utils": "^8.19.4",
"@tanstack/query-async-storage-persister": "^5.85.9", "@tanstack/query-async-storage-persister": "^5.86.0",
"@tanstack/query-db-collection": "0.1.1", "@tanstack/query-db-collection": "0.1.1",
"@tanstack/query-sync-storage-persister": "^5.85.9", "@tanstack/query-sync-storage-persister": "^5.86.0",
"@tanstack/react-db": "0.1.11", "@tanstack/react-db": "0.1.12",
"@tanstack/react-devtools": "^0.6.1", "@tanstack/react-devtools": "^0.6.3",
"@tanstack/react-form": "^1.19.3", "@tanstack/react-form": "^1.19.3",
"@tanstack/react-query": "^5.85.9", "@tanstack/react-query": "^5.86.0",
"@tanstack/react-query-devtools": "^5.85.9", "@tanstack/react-query-devtools": "^5.86.0",
"@tanstack/react-query-persist-client": "^5.85.9", "@tanstack/react-query-persist-client": "^5.86.0",
"@tanstack/react-router": "^1.131.32", "@tanstack/react-router": "^1.131.35",
"@tanstack/react-router-devtools": "^1.131.32", "@tanstack/react-router-devtools": "^1.131.35",
"@tanstack/react-router-ssr-query": "^1.131.32", "@tanstack/react-router-ssr-query": "^1.131.35",
"@tanstack/react-router-with-query": "^1.130.17", "@tanstack/react-router-with-query": "^1.130.17",
"@tanstack/react-start": "^1.131.32", "@tanstack/react-start": "^1.131.35",
"@tanstack/react-store": "^0.7.4", "@tanstack/react-store": "^0.7.4",
"@tanstack/react-table": "^8.21.3", "@tanstack/react-table": "^8.21.3",
"@tanstack/react-virtual": "^3.13.12", "@tanstack/react-virtual": "^3.13.12",
"@tanstack/router-plugin": "^1.131.32", "@tanstack/router-plugin": "^1.131.35",
"@tanstack/store": "^0.7.4", "@tanstack/store": "^0.7.4",
"@testing-library/jest-dom": "^6.8.0", "@testing-library/jest-dom": "^6.8.0",
"@udecode/cn": "^49.0.15", "@udecode/cn": "^49.0.15",
@ -170,7 +169,7 @@
"sonner": "^2.0.7", "sonner": "^2.0.7",
"tailwind-merge": "^3.3.1", "tailwind-merge": "^3.3.1",
"tailwind-scrollbar": "^4.0.2", "tailwind-scrollbar": "^4.0.2",
"tailwindcss": "^4.1.12", "tailwindcss": "^4.1.13",
"tw-animate-css": "^1.3.8", "tw-animate-css": "^1.3.8",
"uploadthing": "^7.7.4", "uploadthing": "^7.7.4",
"use-context-selector": "^2.0.0", "use-context-selector": "^2.0.0",
@ -190,7 +189,7 @@
"@storybook/addon-vitest": "^9.1.4", "@storybook/addon-vitest": "^9.1.4",
"@storybook/react-vite": "^9.1.4", "@storybook/react-vite": "^9.1.4",
"@tanstack/devtools-event-client": "^0.2.3", "@tanstack/devtools-event-client": "^0.2.3",
"@tanstack/router-cli": "^1.131.32", "@tanstack/router-cli": "^1.131.35",
"@testing-library/dom": "^10.4.1", "@testing-library/dom": "^10.4.1",
"@testing-library/react": "^16.3.0", "@testing-library/react": "^16.3.0",
"@types/canvas-confetti": "^1.9.0", "@types/canvas-confetti": "^1.9.0",

View File

@ -64,6 +64,7 @@ export const LoginForm: React.FC<{
setLoading('google'); setLoading('google');
try { try {
const result = await signInWithGoogle({ data: { redirectTo } }); const result = await signInWithGoogle({ data: { redirectTo } });
console.log('result', result);
if (result && 'success' in result && !result.success) { if (result && 'success' in result && !result.success) {
setErrorMessages([result.error]); setErrorMessages([result.error]);
setLoading(null); setLoading(null);

View File

@ -45,7 +45,7 @@ export const signInWithGoogle = createServerFn({ method: 'POST' })
.handler(async ({ data: { redirectTo } }) => { .handler(async ({ data: { redirectTo } }) => {
const supabase = getSupabaseServerClient(); const supabase = getSupabaseServerClient();
const callbackUrl = new URL(AuthCallbackRoute.to); const callbackUrl = new URL(AuthCallbackRoute.to, env.VITE_PUBLIC_URL);
if (redirectTo && isValidRedirectUrl(redirectTo)) { if (redirectTo && isValidRedirectUrl(redirectTo)) {
callbackUrl.searchParams.set('next', redirectTo); callbackUrl.searchParams.set('next', redirectTo);
@ -62,7 +62,9 @@ export const signInWithGoogle = createServerFn({ method: 'POST' })
return { success: false, error: error.message }; return { success: false, error: error.message };
} }
throw redirect({ to: data.url }); console.log('data', data);
throw redirect({ href: data.url });
}); });
export const signInWithAnonymousUser = createServerFn({ method: 'POST' }).handler(async () => { export const signInWithAnonymousUser = createServerFn({ method: 'POST' }).handler(async () => {
@ -114,7 +116,7 @@ export const signInWithGithub = createServerFn({ method: 'POST' })
.handler(async ({ data: { redirectTo } }) => { .handler(async ({ data: { redirectTo } }) => {
const supabase = getSupabaseServerClient(); const supabase = getSupabaseServerClient();
const callbackUrl = new URL(AuthCallbackRoute.to); const callbackUrl = new URL(AuthCallbackRoute.to, env.VITE_PUBLIC_URL);
if (redirectTo && isValidRedirectUrl(redirectTo)) { if (redirectTo && isValidRedirectUrl(redirectTo)) {
callbackUrl.searchParams.set('next', redirectTo); callbackUrl.searchParams.set('next', redirectTo);
@ -139,7 +141,7 @@ export const signInWithAzure = createServerFn({ method: 'POST' })
.handler(async ({ data: { redirectTo } }) => { .handler(async ({ data: { redirectTo } }) => {
const supabase = getSupabaseServerClient(); const supabase = getSupabaseServerClient();
const callbackUrl = new URL(AuthCallbackRoute.to); const callbackUrl = new URL(AuthCallbackRoute.to, env.VITE_PUBLIC_URL);
if (redirectTo && isValidRedirectUrl(redirectTo)) { if (redirectTo && isValidRedirectUrl(redirectTo)) {
callbackUrl.searchParams.set('next', redirectTo); callbackUrl.searchParams.set('next', redirectTo);

File diff suppressed because it is too large Load Diff