Initial commit: Wedding Hall Automation System with Next.js, Supabase, and Modern UI

This commit is contained in:
2025-12-03 21:29:53 +03:00
commit ee68deb4ce
70 changed files with 13038 additions and 0 deletions

118
src/app/dashboard/page.tsx Normal file
View File

@@ -0,0 +1,118 @@
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { CalendarDays, CreditCard, Users, DollarSign, TrendingUp, ArrowUpRight } from "lucide-react"
export default function DashboardPage() {
return (
<div className="space-y-8">
<div className="flex items-center justify-between">
<div>
<h2 className="text-3xl font-bold tracking-tight gradient-text">Hoş Geldiniz, Admin</h2>
<p className="text-muted-foreground mt-1">İşletmenizin durumu hakkında genel bakış.</p>
</div>
</div>
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-4">
<Card className="card-hover border-l-4 border-l-blue-500">
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
<CardTitle className="text-sm font-medium text-muted-foreground">
Toplam Rezervasyon
</CardTitle>
<div className="h-8 w-8 rounded-full bg-blue-100 dark:bg-blue-900/20 flex items-center justify-center">
<CalendarDays className="h-4 w-4 text-blue-600 dark:text-blue-400" />
</div>
</CardHeader>
<CardContent>
<div className="text-3xl font-bold mt-2">12</div>
<p className="text-xs text-muted-foreground mt-1 flex items-center">
<span className="text-green-600 flex items-center mr-1"><TrendingUp className="h-3 w-3 mr-1" /> +2</span> geçen aydan beri
</p>
</CardContent>
</Card>
<Card className="card-hover border-l-4 border-l-purple-500">
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
<CardTitle className="text-sm font-medium text-muted-foreground">
Aktif Müşteriler
</CardTitle>
<div className="h-8 w-8 rounded-full bg-purple-100 dark:bg-purple-900/20 flex items-center justify-center">
<Users className="h-4 w-4 text-purple-600 dark:text-purple-400" />
</div>
</CardHeader>
<CardContent>
<div className="text-3xl font-bold mt-2">50</div>
<p className="text-xs text-muted-foreground mt-1 flex items-center">
<span className="text-green-600 flex items-center mr-1"><ArrowUpRight className="h-3 w-3 mr-1" /> +4</span> geçen aydan beri
</p>
</CardContent>
</Card>
<Card className="card-hover border-l-4 border-l-orange-500">
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
<CardTitle className="text-sm font-medium text-muted-foreground">
Bekleyen Ödemeler
</CardTitle>
<div className="h-8 w-8 rounded-full bg-orange-100 dark:bg-orange-900/20 flex items-center justify-center">
<CreditCard className="h-4 w-4 text-orange-600 dark:text-orange-400" />
</div>
</CardHeader>
<CardContent>
<div className="text-3xl font-bold mt-2">12,000</div>
<p className="text-xs text-muted-foreground mt-1">
3 rezervasyon için
</p>
</CardContent>
</Card>
<Card className="card-hover border-l-4 border-l-green-500">
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
<CardTitle className="text-sm font-medium text-muted-foreground">
Aylık Gelir
</CardTitle>
<div className="h-8 w-8 rounded-full bg-green-100 dark:bg-green-900/20 flex items-center justify-center">
<DollarSign className="h-4 w-4 text-green-600 dark:text-green-400" />
</div>
</CardHeader>
<CardContent>
<div className="text-3xl font-bold mt-2">45,000</div>
<p className="text-xs text-muted-foreground mt-1 flex items-center">
<span className="text-green-600 flex items-center mr-1"><TrendingUp className="h-3 w-3 mr-1" /> +10%</span> geçen aydan beri
</p>
</CardContent>
</Card>
</div>
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-7">
<Card className="col-span-4 shadow-md border-none">
<CardHeader>
<CardTitle>Yaklaşan Etkinlikler</CardTitle>
</CardHeader>
<CardContent>
<div className="h-[300px] flex items-center justify-center bg-muted/20 rounded-lg border border-dashed">
<p className="text-muted-foreground">Takvim önizlemesi buraya gelecek.</p>
</div>
</CardContent>
</Card>
<Card className="col-span-3 shadow-md border-none">
<CardHeader>
<CardTitle>Son Aktiviteler</CardTitle>
</CardHeader>
<CardContent>
<div className="space-y-4">
{[1, 2, 3].map((i) => (
<div key={i} className="flex items-center gap-4 p-3 rounded-lg hover:bg-muted/50 transition-colors">
<div className="h-9 w-9 rounded-full bg-primary/10 flex items-center justify-center text-primary font-bold text-sm">
AH
</div>
<div className="flex-1">
<p className="text-sm font-medium">Ahmet Hakan rezervasyon yaptı</p>
<p className="text-xs text-muted-foreground">2 dakika önce</p>
</div>
</div>
))}
</div>
</CardContent>
</Card>
</div>
</div>
)
}