Forgejo
Dokploy
Supabase Auth ✓
Supabase DB ✓
Next.js 15 SSR
// personal notes — user_id: {user.id.slice(0, 8)}…
{notesError && (DB error: {notesError.message}
)}
import { redirect } from "next/navigation"; import { createClient } from "@/lib/supabase/server"; import { NotesList } from "@/components/NotesList"; import { SignOutButton } from "@/components/SignOutButton"; export default async function DashboardPage() { const supabase = await createClient(); const { data: { user }, error: authError } = await supabase.auth.getUser(); if (authError || !user) redirect("/auth/login"); const { data: notes, error: notesError } = await supabase .from("notes") .select("id, body, created_at") .eq("user_id", user.id) .order("created_at", { ascending: false }); return (
// personal notes — user_id: {user.id.slice(0, 8)}…
{notesError && (