13  12. Auth & Dashboard — Supabase Auth + Member Feature

13.0.1 Auth Pages

/auth/login
/auth/register
/auth/forgot-password
/auth/reset-password

13.0.2 Middleware

// src/middleware.ts
export { middleware } from "@/lib/auth/session";
// หรือ custom middleware ที่ check session แล้ว redirect

13.0.3 Dashboard

/dashboard          — Member dashboard
/dashboard/prompts  — Saved prompts

13.0.4 Content Access Pattern

// src/lib/content-access.ts
type ContentAccessMeta = {
  accessLevel: "public" | "member" | "pro";
  contentType: string;
  memberBenefit: string;
  proBenefit: string;
  badges?: string[];
};

ใช้ component ContentAccessBadge เพื่อแสดง badge ระดับการเข้าถึงบน card:

<ContentAccessBadge meta={{ accessLevel: "member", memberBenefit: "สมัครฟรีเพื่อบันทึก", ... }} />