Some checks failed
Test examples / Test Examples (20) (push) Has been cancelled
Test examples / Test Examples (22) (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
Trigger Release / start (push) Has been cancelled
Stale issue handler / stale (push) Has been cancelled
Update Font Data / create-pull-request (push) Has been cancelled
build-and-deploy / deploy-target (push) Has been cancelled
build-and-deploy / build (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / build-wasm (nodejs) (push) Has been cancelled
build-and-deploy / build-wasm (web) (push) Has been cancelled
build-and-deploy / Deploy preview tarball (push) Has been cancelled
build-and-deploy / Potentially publish release (push) Has been cancelled
build-and-deploy / publish-turbopack-npm-packages (push) Has been cancelled
build-and-deploy / Deploy examples (push) Has been cancelled
build-and-deploy / thank you, build (push) Has been cancelled
build-and-deploy / Upload Turbopack Bytesize metrics to Datadog (push) Has been cancelled
Rspack Next.js development integration tests / Rspack integration tests (push) Has been cancelled
Rspack Next.js production integration tests / Rspack integration tests (push) Has been cancelled
Turbopack Next.js development integration tests / Next.js integration tests (push) Has been cancelled
Turbopack Next.js production integration tests / Next.js integration tests (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack development test manifest (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack production test manifest (push) Has been cancelled
Upload bundler test manifests to areweturboyet.com / Upload test results (push) Has been cancelled
Update React / create-pull-request (push) Has been cancelled
test-e2e-project-reset-cron / reset-test-project (push) Has been cancelled
Notify about the top 15 issues/PRs/feature requests (most reacted) in the last 90 days / run (push) Has been cancelled
44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import { redirect } from "next/navigation";
|
|
|
|
import { createClient } from "@/lib/supabase/server";
|
|
import { InfoIcon } from "lucide-react";
|
|
import { FetchDataSteps } from "@/components/tutorial/fetch-data-steps";
|
|
import { Suspense } from "react";
|
|
|
|
async function UserDetails() {
|
|
const supabase = await createClient();
|
|
const { data, error } = await supabase.auth.getClaims();
|
|
|
|
if (error || !data?.claims) {
|
|
redirect("/auth/login");
|
|
}
|
|
|
|
return JSON.stringify(data.claims, null, 2);
|
|
}
|
|
|
|
export default function ProtectedPage() {
|
|
return (
|
|
<div className="flex-1 w-full flex flex-col gap-12">
|
|
<div className="w-full">
|
|
<div className="bg-accent text-sm p-3 px-5 rounded-md text-foreground flex gap-3 items-center">
|
|
<InfoIcon size="16" strokeWidth={2} />
|
|
This is a protected page that you can only see as an authenticated
|
|
user
|
|
</div>
|
|
</div>
|
|
<div className="flex flex-col gap-2 items-start">
|
|
<h2 className="font-bold text-2xl mb-4">Your user details</h2>
|
|
<pre className="text-xs font-mono p-3 rounded border max-h-32 overflow-auto">
|
|
<Suspense>
|
|
<UserDetails />
|
|
</Suspense>
|
|
</pre>
|
|
</div>
|
|
<div>
|
|
<h2 className="font-bold text-2xl mb-4">Next steps</h2>
|
|
<FetchDataSteps />
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|