From a7a23ce730709d1cbdbc5a93f882ed5f79e3b167 Mon Sep 17 00:00:00 2001 From: danialasadi Date: Fri, 5 Jun 2026 21:33:45 +0330 Subject: [PATCH] debug project --- src/app/admin/agents/create/page.tsx | 66 +++ src/app/admin/agents/page.tsx | 70 +++ src/app/admin/benefactors/[id]/edit/page.tsx | 93 ++++ src/app/admin/benefactors/new/page.tsx | 70 +++ src/app/admin/benefactors/page.tsx | 106 +++++ src/app/admin/dashboard/page.tsx | 110 +++++ src/app/admin/kind-box-requests/[id]/page.tsx | 75 ++++ .../admin/kind-box-requests/create/page.tsx | 82 ++++ src/app/admin/kind-box-requests/page.tsx | 71 ++++ src/app/admin/kind-boxes/[id]/page.tsx | 67 +++ src/app/admin/kind-boxes/create/page.tsx | 78 ++++ src/app/admin/kind-boxes/page.tsx | 330 ++++++++++++++ src/app/admin/layout.tsx | 11 + src/app/admin/profile/page.tsx | 69 +++ src/app/admin/refer-times/page.tsx | 47 ++ src/app/agent/dashboard/page.tsx | 46 ++ src/app/agent/kind-box-requests/page.tsx | 60 +++ src/app/agent/kind-boxes/page.tsx | 58 +++ src/app/benefactor/addresses/page.tsx | 55 +++ src/app/benefactor/kind-box-requests/page.tsx | 61 +++ src/app/benefactor/kind-boxes/page.tsx | 56 +++ src/app/benefactor/refer-times/page.tsx | 34 ++ src/app/campaigns/page.tsx | 59 +++ src/app/cart/page.tsx | 77 ++++ src/app/drivers/page.tsx | 55 +++ src/app/gamification/page.tsx | 91 ++++ src/app/globals.css | 97 +++-- src/app/layout.tsx | 33 +- src/app/login/page.tsx | 263 ++++++++++++ src/app/orders/page.tsx | 56 +++ src/app/page.tsx | 402 +++++++++++++++--- src/app/patients/page.tsx | 57 +++ src/app/products/page.tsx | 142 +++++++ src/app/sales-reports/page.tsx | 51 +++ src/app/staff/page.tsx | 59 +++ src/app/wallet/page.tsx | 71 ++++ src/components/AuthGuard.tsx | 67 +++ src/components/EmptyState.tsx | 28 ++ src/components/Footer.tsx | 105 +++++ src/components/LandingFooter.tsx | 95 +++++ src/components/LandingNavbar.tsx | 98 +++++ src/components/MainContent.tsx | 22 + src/components/PageHeader.tsx | 33 ++ src/components/Sidebar.tsx | 28 +- src/components/StatusBadge.tsx | 20 + src/components/ThemeToggle.tsx | 94 ++++ src/lib/AuthContext.tsx | 149 +++++++ src/lib/SidebarContext.tsx | 28 ++ 48 files changed, 3882 insertions(+), 113 deletions(-) create mode 100644 src/app/admin/agents/create/page.tsx create mode 100644 src/app/admin/agents/page.tsx create mode 100644 src/app/admin/benefactors/[id]/edit/page.tsx create mode 100644 src/app/admin/benefactors/new/page.tsx create mode 100644 src/app/admin/benefactors/page.tsx create mode 100644 src/app/admin/dashboard/page.tsx create mode 100644 src/app/admin/kind-box-requests/[id]/page.tsx create mode 100644 src/app/admin/kind-box-requests/create/page.tsx create mode 100644 src/app/admin/kind-box-requests/page.tsx create mode 100644 src/app/admin/kind-boxes/[id]/page.tsx create mode 100644 src/app/admin/kind-boxes/create/page.tsx create mode 100644 src/app/admin/kind-boxes/page.tsx create mode 100644 src/app/admin/layout.tsx create mode 100644 src/app/admin/profile/page.tsx create mode 100644 src/app/admin/refer-times/page.tsx create mode 100644 src/app/agent/dashboard/page.tsx create mode 100644 src/app/agent/kind-box-requests/page.tsx create mode 100644 src/app/agent/kind-boxes/page.tsx create mode 100644 src/app/benefactor/addresses/page.tsx create mode 100644 src/app/benefactor/kind-box-requests/page.tsx create mode 100644 src/app/benefactor/kind-boxes/page.tsx create mode 100644 src/app/benefactor/refer-times/page.tsx create mode 100644 src/app/campaigns/page.tsx create mode 100644 src/app/cart/page.tsx create mode 100644 src/app/drivers/page.tsx create mode 100644 src/app/gamification/page.tsx create mode 100644 src/app/login/page.tsx create mode 100644 src/app/orders/page.tsx create mode 100644 src/app/patients/page.tsx create mode 100644 src/app/products/page.tsx create mode 100644 src/app/sales-reports/page.tsx create mode 100644 src/app/staff/page.tsx create mode 100644 src/app/wallet/page.tsx create mode 100644 src/components/AuthGuard.tsx create mode 100644 src/components/EmptyState.tsx create mode 100644 src/components/Footer.tsx create mode 100644 src/components/LandingFooter.tsx create mode 100644 src/components/LandingNavbar.tsx create mode 100644 src/components/MainContent.tsx create mode 100644 src/components/PageHeader.tsx create mode 100644 src/components/StatusBadge.tsx create mode 100644 src/components/ThemeToggle.tsx create mode 100644 src/lib/AuthContext.tsx create mode 100644 src/lib/SidebarContext.tsx diff --git a/src/app/admin/agents/create/page.tsx b/src/app/admin/agents/create/page.tsx new file mode 100644 index 0000000..31f65d2 --- /dev/null +++ b/src/app/admin/agents/create/page.tsx @@ -0,0 +1,66 @@ +'use client'; + +import { useState } from 'react'; +import { useRouter } from 'next/navigation'; +import PageHeader from '@/components/PageHeader'; + +export default function CreateAgentPage() { + const router = useRouter(); + const [saving, setSaving] = useState(false); + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setSaving(true); + await new Promise((r) => setTimeout(r, 1000)); + setSaving(false); + router.push('/admin/agents'); + }; + + return ( +
+ + +
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+
+ ); +} diff --git a/src/app/admin/agents/page.tsx b/src/app/admin/agents/page.tsx new file mode 100644 index 0000000..b596a03 --- /dev/null +++ b/src/app/admin/agents/page.tsx @@ -0,0 +1,70 @@ +'use client'; + +import { useState } from 'react'; +import Link from 'next/link'; +import PageHeader from '@/components/PageHeader'; +import StatusBadge from '@/components/StatusBadge'; +import EmptyState from '@/components/EmptyState'; + +const mockAgents = [ + { id: 1, firstName: 'Mehdi', lastName: 'Rezaei', phoneNumber: '09151234567', email: 'mehdi@example.com', role: 'agent', status: 'active', description: 'Delivery agent' }, + { id: 2, firstName: 'Narges', lastName: 'Karimi', phoneNumber: '09161234567', email: 'narges@example.com', role: 'agent', status: 'active', description: 'Pickup agent' }, +]; + +export default function AgentsPage() { + const [search, setSearch] = useState(''); + + const filtered = mockAgents.filter((a) => + `${a.firstName} ${a.lastName} ${a.phoneNumber}`.toLowerCase().includes(search.toLowerCase()) + ); + + return ( +
+ + +
+ + setSearch(e.target.value)} className="form-input pl-10" /> +
+ + {filtered.length > 0 ? ( +
+ + + + + + + + + + + + + + {filtered.map((a) => ( + + + + + + + + + + ))} + +
IDNamePhoneEmailRoleStatusActions
#{a.id}{a.firstName} {a.lastName}{a.phoneNumber}{a.email}{a.role} + View +
+
+ ) : ( + + )} +
+ ); +} diff --git a/src/app/admin/benefactors/[id]/edit/page.tsx b/src/app/admin/benefactors/[id]/edit/page.tsx new file mode 100644 index 0000000..1075b96 --- /dev/null +++ b/src/app/admin/benefactors/[id]/edit/page.tsx @@ -0,0 +1,93 @@ +'use client'; + +import { useState } from 'react'; +import Link from 'next/link'; +import PageHeader from '@/components/PageHeader'; + +export default function EditBenefactorPage({ params }: { params: { id: string } }) { + const [saving, setSaving] = useState(false); + const [saved, setSaved] = useState(false); + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setSaving(true); + // Simulate API call + await new Promise((r) => setTimeout(r, 1000)); + setSaving(false); + setSaved(true); + setTimeout(() => setSaved(false), 3000); + }; + + return ( +
+ + + {saved && ( +
+ + Benefactor updated successfully! +
+ )} + +
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ +