chore(phase0): packages·subscription 제거 — 페이지/API/cron/vercel.json + 파급(stats·members·saju) 수정

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-02 14:07:56 +09:00
parent 88fe56163d
commit 8e1cf9b4e1
14 changed files with 13 additions and 534 deletions

View File

@@ -9,15 +9,8 @@ interface Member {
created_at: string;
orderCount: number;
totalPaid: number;
activeSub: { product_id: string; status: string; expires_at: string } | null;
}
const PLAN_LABELS: Record<string, string> = {
lotto_gold: '🥇 골드',
lotto_platinum: '💎 플래티넘',
lotto_diamond: '👑 다이아',
};
export default function AdminMembersPage() {
const [members, setMembers] = useState<Member[]>([]);
const [loading, setLoading] = useState(true);
@@ -77,7 +70,6 @@ export default function AdminMembersPage() {
<th className="text-left px-5 py-3 text-slate-400 font-medium"></th>
<th className="text-left px-5 py-3 text-slate-400 font-medium"></th>
<th className="text-left px-5 py-3 text-slate-400 font-medium"></th>
<th className="text-left px-5 py-3 text-slate-400 font-medium"></th>
<th className="text-right px-5 py-3 text-slate-400 font-medium"> </th>
<th className="text-right px-5 py-3 text-slate-400 font-medium"> </th>
</tr>
@@ -90,16 +82,6 @@ export default function AdminMembersPage() {
<td className="px-5 py-3 text-slate-400">
{new Date(m.created_at).toLocaleDateString('ko-KR')}
</td>
<td className="px-5 py-3">
{m.activeSub ? (
<div>
<span className="text-xs font-semibold text-amber-400">{PLAN_LABELS[m.activeSub.product_id] ?? m.activeSub.product_id}</span>
<div className="text-xs text-slate-500">{new Date(m.activeSub.expires_at).toLocaleDateString('ko-KR')} </div>
</div>
) : (
<span className="text-xs text-slate-600">-</span>
)}
</td>
<td className="px-5 py-3 text-right">
<span className={`px-2 py-0.5 rounded-full text-xs ${m.orderCount > 0 ? 'bg-green-900/40 text-green-400' : 'bg-slate-700 text-slate-500'}`}>
{m.orderCount}
@@ -124,11 +106,6 @@ export default function AdminMembersPage() {
<p className="text-white text-sm font-semibold truncate">{m.email ?? '-'}</p>
<p className="text-slate-400 text-xs mt-0.5">{m.full_name ?? '이름 없음'}</p>
</div>
{m.activeSub && (
<span className="ml-2 flex-shrink-0 text-xs font-semibold text-amber-400 bg-amber-900/20 px-2 py-0.5 rounded-full">
{PLAN_LABELS[m.activeSub.product_id] ?? m.activeSub.product_id}
</span>
)}
</div>
{/* 상세 정보 그리드 */}
@@ -150,12 +127,6 @@ export default function AdminMembersPage() {
</p>
</div>
</div>
{m.activeSub && (
<p className="text-slate-600 text-xs mt-2">
: {new Date(m.activeSub.expires_at).toLocaleDateString('ko-KR')}
</p>
)}
</div>
))}
</div>