diff --git a/app/admin/(dashboard)/categories/page.tsx b/app/admin/(dashboard)/categories/page.tsx index 859995d..f13f3c3 100644 --- a/app/admin/(dashboard)/categories/page.tsx +++ b/app/admin/(dashboard)/categories/page.tsx @@ -19,18 +19,21 @@ export default async function CategoriesPage() { return (
-
-

Kategoriler

- - Yeni Kategori Ekle +
+
+

Kategoriler

+

Menü kategorilerinizi yönetin ve sıralayın.

+
+ + Yeni Kategori
-
+
- + @@ -38,25 +41,25 @@ export default async function CategoriesPage() { - + {categories.map((category) => ( - - - + + + - )} diff --git a/app/admin/(dashboard)/layout.tsx b/app/admin/(dashboard)/layout.tsx index 0e5ff6c..f07eb49 100644 --- a/app/admin/(dashboard)/layout.tsx +++ b/app/admin/(dashboard)/layout.tsx @@ -1,7 +1,5 @@ -import Link from 'next/link' -import { LayoutDashboard, LogOut, Package, Settings, Tags, Users2 } from 'lucide-react' -import { logout } from '@/lib/auth' -import { redirect } from 'next/navigation' +import { Sidebar } from '@/components/admin/Sidebar' +import { Header } from '@/components/admin/Header' export default function AdminLayout({ children, @@ -9,54 +7,18 @@ export default function AdminLayout({ children: React.ReactNode }) { return ( -
- {/* Sidebar */} - - - {/* Main Content */} -
- {children} -
- - {/* Mobile Bottom Nav (Optional, simpler for now just a top bar) */} +
+ + +
+
+ +
+
+ {children} +
+
+
) } diff --git a/app/admin/(dashboard)/page.tsx b/app/admin/(dashboard)/page.tsx index d7ce2b4..ae1ffe4 100644 --- a/app/admin/(dashboard)/page.tsx +++ b/app/admin/(dashboard)/page.tsx @@ -1,5 +1,5 @@ import prisma from '@/lib/prisma' -import { Package, Tags, Eye, TrendingUp } from 'lucide-react' +import { Package, Tags, Eye, TrendingUp, ChevronRight } from 'lucide-react' import Link from 'next/link' export const metadata = { @@ -14,55 +14,89 @@ export default async function AdminDashboard() { ]) return ( -
-

Dashboard

+
+
+

Dashboard

+

Moy Beach dijital menü yönetim paneline hoş geldiniz.

+
{/* Stats Cards */} -
-
-
- +
+
+
+
-

Kategori Sayısı

-

{totalCategories}

+

Kategori Sayısı

+

{totalCategories}

-
-
- +
+
+
-

Toplam Ürün

-

{totalProducts}

+

Toplam Ürün

+

{totalProducts}

-
-
- +
+
+
-

Aktif Ürünler

-

{activeProducts}

+

Aktif Ürünler

+

{activeProducts}

{/* Quick Actions */} -
-
-

Hızlı Kısayollar

-
- - Ürünleri Yönet +
+
+
+

Hızlı Kısayollar

+
+
+ +
+
+ +
+
+

Ürünleri Yönet

+

Ürün ekle, düzenle veya fiyat güncelle

+
+
+ - - Kategorileri Yönet + + +
+
+ +
+
+

Kategorileri Yönet

+

Menü kategorilerini ve sıralamasını düzenle

+
+
+ - - Canlı Menüyü Görüntüle + + +
+
+ +
+
+

Canlı Menüyü Görüntüle

+

Müşterilerin gördüğü güncel menüyü aç

+
+
+
diff --git a/app/admin/(dashboard)/products/page.tsx b/app/admin/(dashboard)/products/page.tsx index d30979f..1c0b7be 100644 --- a/app/admin/(dashboard)/products/page.tsx +++ b/app/admin/(dashboard)/products/page.tsx @@ -1,5 +1,5 @@ import prisma from '@/lib/prisma' -import { Pencil, Plus, Trash2, Image as ImageIcon } from 'lucide-react' +import { Pencil, Plus, Image as ImageIcon } from 'lucide-react' import Image from 'next/image' import Link from 'next/link' import DeleteButton from './DeleteButton' @@ -19,41 +19,45 @@ export default async function ProductsPage() { }) return ( -
-
-

Ürün Yönetimi

- - - Yeni Ürün Ekle +
+
+
+

Ürün Yönetimi

+

Tüm kategorilerdeki ürünlerinizi görüntüleyin ve düzenleyin.

+
+ + Yeni Ürün Ekle
{categories.map((category) => ( -
-
-

{category.name_tr}

- {category.products.length} ürün +
+
+

{category.name_tr}

+ + {category.products.length} ürün +
{category.products.length > 0 ? (
Kategori Adı Sıra Ürün Sayısıİşlemler
{category.name_tr}{category.order_num}
{category.name_tr}{category.order_num} - + {category._count.products} Ürün - {category.status === 1 ? 'Aktif' : 'Pasif'} -
+
@@ -67,8 +70,8 @@ export default async function CategoriesPage() { ))} {categories.length === 0 && (
- Henüz kategori bulunmuyor. + + Henüz kategori bulunmuyor. Yeni bir kategori ekleyerek başlayın.
- - - - - - + + + + + + - + {category.products.map((product) => ( - - + - - - + + -
ResimİsimFiyatDurumİşlemler
ResimİsimFiyatDurumİşlemler
+
{product.image_url ? ( -
+
{product.name_tr}
) : ( -
+
)}
{product.name_tr}₺{product.price.toString()} - + {product.name_tr}₺{product.price.toString()} + {product.status === 1 ? 'Aktif' : 'Pasif'} -
+
+
@@ -88,8 +92,8 @@ export default async function ProductsPage() {
) : ( -
- Bu kategoride henüz ürün yok. +
+ Bu kategoride henüz ürün bulunmuyor.
)}
diff --git a/app/admin/(dashboard)/settings/SettingsForm.tsx b/app/admin/(dashboard)/settings/SettingsForm.tsx index 7b8b44f..1dc9df9 100644 --- a/app/admin/(dashboard)/settings/SettingsForm.tsx +++ b/app/admin/(dashboard)/settings/SettingsForm.tsx @@ -3,7 +3,7 @@ import { useActionState, useState, useRef } from 'react' import { saveSettings } from './actions' import Image from 'next/image' -import { Upload, X, Loader2 } from 'lucide-react' +import { Upload, X, Loader2, Save } from 'lucide-react' export default function SettingsForm({ defaultRestaurantName, @@ -49,62 +49,62 @@ export default function SettingsForm({ } return ( -
+ {state?.success && ( -
+
{state.message}
)} {state?.error && ( -
+
{state.error}
)} {/* Logo Upload */}
-