48 lines
1.8 KiB
TypeScript
48 lines
1.8 KiB
TypeScript
import { auth } from '@/lib/auth'
|
||
|
||
export default async function AdminDashboardPage() {
|
||
const session = await auth()
|
||
|
||
return (
|
||
<div className="space-y-6">
|
||
<div>
|
||
<h2 className="text-2xl font-bold tracking-tight text-gray-900 dark:text-white">Dashboard</h2>
|
||
<p className="text-gray-500 dark:text-gray-400 mt-2">
|
||
Hoş geldiniz, {session?.user?.name || session?.user?.email}. İşte projenizin genel görünümü.
|
||
</p>
|
||
</div>
|
||
|
||
<div className="grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4">
|
||
{/* Placeholder Stat Cards */}
|
||
{[
|
||
{ name: 'Toplam Kullanıcı', stat: '1,245' },
|
||
{ name: 'Aktif Oturumlar', stat: '42' },
|
||
{ name: 'Yeni Kayıtlar', stat: '8' },
|
||
{ name: 'Sistem Durumu', stat: 'Online' },
|
||
].map((item) => (
|
||
<div
|
||
key={item.name}
|
||
className="overflow-hidden rounded-lg bg-white dark:bg-gray-950 border border-gray-200 dark:border-gray-800 px-4 py-5 shadow-sm sm:p-6"
|
||
>
|
||
<dt className="truncate text-sm font-medium text-gray-500 dark:text-gray-400">{item.name}</dt>
|
||
<dd className="mt-1 text-3xl font-semibold tracking-tight text-gray-900 dark:text-white">
|
||
{item.stat}
|
||
</dd>
|
||
</div>
|
||
))}
|
||
</div>
|
||
|
||
<div className="rounded-lg bg-white dark:bg-gray-950 border border-gray-200 dark:border-gray-800 shadow-sm">
|
||
<div className="p-6">
|
||
<h3 className="text-lg font-medium text-gray-900 dark:text-white">Son Aktiviteler</h3>
|
||
<div className="mt-4 border-t border-gray-100 dark:border-gray-800">
|
||
<div className="py-4 text-sm text-gray-500">
|
||
Henüz aktivite kaydı bulunmuyor.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
)
|
||
}
|