import { prisma } from '@/lib/db'; import { getSession } from '@/lib/auth'; import { redirect } from 'next/navigation' import { Save } from 'lucide-react'; import { updateSiteSettings } from '../actions'; import { revalidatePath } from 'next/cache'; import { uploadImage } from '@/lib/openinary'; export default async function SettingsAdminPage() { const session = await getSession(); if (!session) redirect('/admin/login'); const settings = await prisma.siteSettings.findFirst(); return (

Site Ayarları

{ 'use server'; const data: any = { phone: formData.get('phone') as string, email: formData.get('email') as string, addressText1: formData.get('addressText1') as string, addressText2: formData.get('addressText2') as string, workingHours: formData.get('workingHours') as string, instagramUrl: formData.get('instagramUrl') as string, facebookUrl: formData.get('facebookUrl') as string, youtubeUrl: formData.get('youtubeUrl') as string, whatsappNumber: formData.get('whatsappNumber') as string, // SEO fields siteUrl: formData.get('siteUrl') as string, metaTitleTr: formData.get('metaTitleTr') as string, metaTitleEn: formData.get('metaTitleEn') as string, metaDescTr: formData.get('metaDescTr') as string, metaDescEn: formData.get('metaDescEn') as string, metaKeywordsTr: formData.get('metaKeywordsTr') as string, metaKeywordsEn: formData.get('metaKeywordsEn') as string, twitterHandle: formData.get('twitterHandle') as string, googleVerify: formData.get('googleVerify') as string, }; const logoFile = formData.get('logo') as File; if (logoFile && logoFile.size > 0) { data.logoUrl = await uploadImage(logoFile); } const ogImageFile = formData.get('ogImage') as File; if (ogImageFile && ogImageFile.size > 0) { data.ogImage = await uploadImage(ogImageFile); } await updateSiteSettings(data); revalidatePath('/', 'layout'); redirect('/admin/settings'); }} className="space-y-10"> {/* Logo Section */}

Logo Ayarları

{settings?.logoUrl && (
{/* eslint-disable-next-line @next/next/no-img-element */} Logo
)}
{/* Contact Section */}

İletişim Bilgileri

{/* Social Media */}

Sosyal Medya Linkleri

{/* SEO Section */}

🔍 SEO & Metadata Ayarları

Arama motorları ve sosyal medya paylaşımları için meta bilgileri.

{/* Site URL */}
{/* Meta Titles */}

Max 60 karakter önerilir

Max 60 characters recommended

{/* Meta Descriptions */}