init studio admin frontend
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import { Activity, Boxes, FileKey, Users } from 'lucide-react';
|
||||
import { Card } from '../../components/ui';
|
||||
import { PageTitle } from '../../layout/AppLayout';
|
||||
|
||||
export function DashboardPage() {
|
||||
return (
|
||||
<>
|
||||
<PageTitle
|
||||
eyebrow="플랫폼 운영"
|
||||
title="대시보드"
|
||||
description="런처, 앱, 사용자, 라이센스, 런타임 상태를 관리하는 스튜디오 어드민 콘솔입니다."
|
||||
/>
|
||||
<div className="grid gap-4 sm:grid-cols-2 xl:grid-cols-4">
|
||||
{[
|
||||
['활성 앱', '10', Boxes],
|
||||
['접속 사용자', '1,284', Users],
|
||||
['라이센스 사용률', '72%', FileKey],
|
||||
['런타임 정상률', '96.4%', Activity]
|
||||
].map(([label, value, Icon]) => (
|
||||
<Card key={label as string} className="p-5">
|
||||
<div className="flex items-center justify-between">
|
||||
<p className="text-sm text-muted-foreground">{label as string}</p>
|
||||
<Icon className="size-4 text-muted-foreground" />
|
||||
</div>
|
||||
<p className="mt-4 text-3xl font-semibold tracking-tight">{value as string}</p>
|
||||
</Card>
|
||||
))}
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user