mirror of
https://github.com/supabase/supabase.git
synced 2026-10-11 20:35:07 +03:00
* Quickstart next 16 update * Fix paths and env vars * docs: refactor nextjs server-side auth to use Proxy instead of middleware * docs: refactor nextjs server-side auth to match proxy * docs: refactor nextjs example to match Proxy * docs: refactor nextjs auth AI prompt to match Proxy * docs: refactor nextjs sentry telemetry integration to match Proxy * examples: update nextjs realtime example to match middleware * docs: refactoring guides to use nextjs proxy * examples: update nextjs-full example to match Next16 template * example: update nextjs-user-management to match nextjs 16 * docs: refactoring nextjs user-management tutorial to use typescript only * docs: refactoring nextjs quickstart, removing step 4 since this step is already included on `with-supabase` template, we can just remove this redundant step * docs: auth-helpers nextjs pages, Nextjs16 proxy disclaimer * stamp: lint * stamp: revert 'NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY' * stamp: nextjs examples, revert to use cookie options * fix(docs): typo * docs: updating nextjs-auth troubleshoot guide to match proxy * Update apps/docs/content/guides/getting-started/quickstarts/nextjs.mdx * Revert auth-helpers changes * Revert auth-helpers content * Apply suggestions from code review * Update apps/docs/content/troubleshooting/how-do-you-troubleshoot-nextjs---supabase-auth-issues-riMCZV.mdx * Update apps/docs/content/troubleshooting/how-do-you-troubleshoot-nextjs---supabase-auth-issues-riMCZV.mdx * Update apps/docs/content/troubleshooting/how-do-you-troubleshoot-nextjs---supabase-auth-issues-riMCZV.mdx * Update apps/docs/content/troubleshooting/how-do-you-troubleshoot-nextjs---supabase-auth-issues-riMCZV.mdx * Apply suggestions from code review * Prettier --------- Co-authored-by: kallebysantos <kalleby_santos@hotmail.com>
55 lines
1.8 KiB
TypeScript
55 lines
1.8 KiB
TypeScript
import DeployButton from "../components/DeployButton";
|
|
import AuthButton from "../components/AuthButton";
|
|
import { createClient } from "@/lib/supabase/server";
|
|
import ConnectSupabaseSteps from "@/components/tutorial/ConnectSupabaseSteps";
|
|
import SignUpUserSteps from "@/components/tutorial/SignUpUserSteps";
|
|
import Header from "@/components/Header";
|
|
|
|
export default async function Index() {
|
|
const canInitSupabaseClient = () => {
|
|
// This function is just for the interactive tutorial.
|
|
// Feel free to remove it once you have Supabase connected.
|
|
try {
|
|
createClient();
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
};
|
|
|
|
const isSupabaseConnected = canInitSupabaseClient();
|
|
|
|
return (
|
|
<div className="flex-1 w-full flex flex-col gap-20 items-center">
|
|
<nav className="w-full flex justify-center border-b border-b-foreground/10 h-16">
|
|
<div className="w-full max-w-4xl flex justify-between items-center p-3 text-sm">
|
|
<DeployButton />
|
|
{isSupabaseConnected && <AuthButton />}
|
|
</div>
|
|
</nav>
|
|
|
|
<div className="animate-in flex-1 flex flex-col gap-20 opacity-0 max-w-4xl px-3">
|
|
<Header />
|
|
<main className="flex-1 flex flex-col gap-6">
|
|
<h2 className="font-bold text-4xl mb-4">Next steps</h2>
|
|
{isSupabaseConnected ? <SignUpUserSteps /> : <ConnectSupabaseSteps />}
|
|
</main>
|
|
</div>
|
|
|
|
<footer className="w-full border-t border-t-foreground/10 p-8 flex justify-center text-center text-xs">
|
|
<p>
|
|
Powered by{" "}
|
|
<a
|
|
href="https://supabase.com/?utm_source=create-next-app&utm_medium=template&utm_term=nextjs"
|
|
target="_blank"
|
|
className="font-bold hover:underline"
|
|
rel="noreferrer"
|
|
>
|
|
Supabase
|
|
</a>
|
|
</p>
|
|
</footer>
|
|
</div>
|
|
);
|
|
}
|