feat: admin panel CRUD, Cloudinary upload, logo, user management

This commit is contained in:
mstfyldz
2026-06-05 17:38:01 +03:00
parent 53eeeee474
commit 5e4e2f0db9
43 changed files with 3917 additions and 281 deletions
+32
View File
@@ -0,0 +1,32 @@
import prisma from '@/lib/prisma'
import SettingsForm from './SettingsForm'
export const metadata = {
title: 'Genel Ayarlar - Admin',
}
export default async function SettingsPage() {
const settingsData = await prisma.settings.findMany()
const settings = settingsData.reduce((acc, curr) => {
acc[curr.key] = curr.value
return acc
}, {} as Record<string, string>)
const restaurantName = settings['restaurant_name'] || 'Moy Beach'
const location = settings['location'] || 'Akyaka · Muğla'
const logoUrl = settings['logo_url'] || ''
return (
<div className="space-y-6">
<h1 className="text-2xl font-bold text-gray-900">Genel Ayarlar</h1>
<div className="bg-white p-6 rounded-xl shadow-sm border border-gray-100 max-w-2xl">
<SettingsForm
defaultRestaurantName={restaurantName}
defaultLocation={location}
defaultLogoUrl={logoUrl}
/>
</div>
</div>
)
}