Feat: 세션 유지 컴포넌트 추가 및 주석 디자인 다크테마 적용
This commit is contained in:
@@ -1,12 +1,24 @@
|
||||
/**
|
||||
* @file app/(main)/dashboard/page.tsx
|
||||
* @description 사용자 대시보드 메인 페이지 (보호된 라우트)
|
||||
* @remarks
|
||||
* - [레이어] Pages (Server Component)
|
||||
* - [역할] 사용자 자산 현황, 최근 활동, 통계 요약을 보여줌
|
||||
* - [권한] 로그인한 사용자만 접근 가능 (Middleware에 의해 보호됨)
|
||||
*/
|
||||
|
||||
import { createClient } from "@/utils/supabase/server";
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
||||
import { Activity, CreditCard, DollarSign, Users } from "lucide-react";
|
||||
|
||||
/**
|
||||
* 대시보드 페이지 (비동기 서버 컴포넌트)
|
||||
* @returns Dashboard Grid Layout
|
||||
*/
|
||||
export default async function DashboardPage() {
|
||||
// [Step 1] 세션 확인 (Middleware가 1차 방어하지만, 데이터 접근 시 2차 확인)
|
||||
const supabase = await createClient();
|
||||
const {
|
||||
data: { user },
|
||||
} = await supabase.auth.getUser();
|
||||
await supabase.auth.getUser();
|
||||
|
||||
return (
|
||||
<div className="flex-1 space-y-4 p-8 pt-6">
|
||||
|
||||
Reference in New Issue
Block a user