{"path":"src/app/(auth)/callback/route.ts","size":873,"locked":false,"binary":false,"truncated":false,"content":"import { NextResponse } from \"next/server\";\nimport { createClient } from \"@/lib/supabase/server\";\n\nexport async function GET(request: Request) {\n  const { searchParams, origin } = new URL(request.url);\n  const code = searchParams.get(\"code\");\n  const next = searchParams.get(\"next\") ?? \"/admin\";\n\n  if (code) {\n    const supabase = await createClient();\n\n    // If Supabase is not configured, redirect to login with an error\n    if (!supabase) {\n      return NextResponse.redirect(`${origin}/login?error=supabase_not_configured`);\n    }\n\n    const { error } = await supabase.auth.exchangeCodeForSession(code);\n    if (!error) {\n      return NextResponse.redirect(`${origin}${next}`);\n    }\n  }\n\n  // Something went wrong\n  const fallbackOrigin = origin || \"http://localhost:3000\";\n  return NextResponse.redirect(`${fallbackOrigin}/login?error=auth_callback_failed`);\n    }\n"}