From c9d56741947eef8ff762010f39a73d10d7b34807 Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 25 Mar 2026 22:20:18 +0000 Subject: [PATCH 1/2] Update src/app/admin-dashboard/page.tsx --- src/app/admin-dashboard/page.tsx | 252 ++++++++++++++----------------- 1 file changed, 115 insertions(+), 137 deletions(-) diff --git a/src/app/admin-dashboard/page.tsx b/src/app/admin-dashboard/page.tsx index b9d0d95..b263e09 100644 --- a/src/app/admin-dashboard/page.tsx +++ b/src/app/admin-dashboard/page.tsx @@ -1,14 +1,94 @@ "use client"; +import { useState, useMemo } from "react"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered'; -import FeatureCardTwentyFour from '@/components/sections/feature/FeatureCardTwentyFour'; -import FeatureCardThree from '@/components/sections/feature/featureCardThree/FeatureCardThree'; -import MetricCardThree from '@/components/sections/metrics/MetricCardThree'; import FooterSimple from '@/components/sections/footer/FooterSimple'; -import { UserRound, FileText, Banknote, Shield, LayoutDashboard } from "lucide-react"; +import ProductCatalog from '@/components/ecommerce/productCatalog/ProductCatalog'; export default function AdminDashboardPage() { + const [searchTerm, setSearchTerm] = useState(""); + const [paymentFilter, setPaymentFilter] = useState("All"); + + const applicants = useMemo(() => [ + { + id: "app-1", name: "John Doe", category: "Paid", price: "$100", // Application Fee + rating: 5, // Approval rating + reviewCount: "5 documents", imageSrc: "https://images.unsplash.com/photo-1535713875002-d1d0cfdce53c?auto=format&fit=crop&q=80&w=1780&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", // Example profile pic + imageAlt: "John Doe profile", onProductClick: () => alert("Viewing John Doe's details"), + }, + { + id: "app-2", name: "Jane Smith", category: "Pending", price: "$100", rating: 3, + reviewCount: "3 documents", imageSrc: "https://images.unsplash.com/photo-1544005313-94ddf0286df2?auto=format&fit=crop&q=80&w=1780&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Jane Smith profile", onProductClick: () => alert("Viewing Jane Smith's details"), + }, + { + id: "app-3", name: "Robert Brown", category: "Paid", price: "$100", rating: 4, + reviewCount: "4 documents", imageSrc: "https://images.unsplash.com/photo-1507003211169-e69fe254fe58?auto=format&fit=crop&q=80&w=1887&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Robert Brown profile", onProductClick: () => alert("Viewing Robert Brown's details"), + }, + { + id: "app-4", name: "Emily White", category: "Rejected", price: "$100", rating: 1, + reviewCount: "2 documents", imageSrc: "https://images.unsplash.com/photo-1580489944761-15a19d654956?auto=format&fit=crop&q=80&w=1961&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Emily White profile", onProductClick: () => alert("Viewing Emily White's details"), + }, + { + id: "app-5", name: "Michael Green", category: "Paid", price: "$100", rating: 5, + reviewCount: "6 documents", imageSrc: "https://images.unsplash.com/photo-1500648767791-00dcc994a43e?auto=format&fit=crop&q=80&w=1887&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", imageAlt: "Michael Green profile", onProductClick: () => alert("Viewing Michael Green's details"), + }, + ], []); + + const filteredApplicants = useMemo(() => { + return applicants.filter((applicant) => { + const matchesSearch = applicant.name.toLowerCase().includes(searchTerm.toLowerCase()); + const matchesFilter = paymentFilter === "All" || applicant.category === paymentFilter; + return matchesSearch && matchesFilter; + }); + }, [applicants, searchTerm, paymentFilter]); + + const navItems = [ + { name: "Properties", id: "properties" }, + { name: "About", id: "about" }, + { name: "Services", id: "services" }, + { name: "Team", id: "team" }, + { name: "Testimonials", id: "testimonials" }, + { name: "Contact", id: "contact" }, + { name: "Admin Dashboard", id: "/admin-dashboard" } + ]; + + const footerColumns = [ + { + title: "Company", items: [ + { label: "About Us", href: "#about" }, + { label: "Our Services", href: "#services" }, + { label: "Executive Team", href: "#team" }, + { label: "Properties", href: "#properties" }, + { label: "Contact", href: "#contact" }, + { label: "Apply Now", href: "/application-form" }, + { label: "Admin Dashboard", href: "/admin-dashboard" } + ] + }, + { + title: "Resources", items: [ + { label: "Investment Guide", href: "#" }, + { label: "Market Reports", href: "#" }, + { label: "FAQ", href: "#" }, + { label: "Blog", href: "#" } + ] + }, + { + title: "Legal", items: [ + { label: "Privacy Policy", href: "#" }, + { label: "Terms of Service", href: "#" }, + { label: "Cookie Policy", href: "#" } + ] + }, + { + title: "Connect", items: [ + { label: "LinkedIn", href: "#" }, + { label: "Instagram", href: "#" }, + { label: "WhatsApp", href: "#" } + ] + } + ]; + return ( -
- -

Admin Dashboard

-

Manage applications, documents, and payments efficiently.

-
+
+
+

Admin Dashboard

+

+ Manage applicants, view documents, and track payment statuses. +

-
- -
- -
- -
- -
- + +
From 9f59eaeb8108df4078d5fc2dab744b0fe3c3cd4d Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 25 Mar 2026 22:20:18 +0000 Subject: [PATCH 2/2] Update src/app/application-form/page.tsx --- src/app/application-form/page.tsx | 132 ++++++++++++++++++++++++------ 1 file changed, 105 insertions(+), 27 deletions(-) diff --git a/src/app/application-form/page.tsx b/src/app/application-form/page.tsx index b8940f9..06e1232 100644 --- a/src/app/application-form/page.tsx +++ b/src/app/application-form/page.tsx @@ -23,12 +23,11 @@ export default function ApplicationFormPage() { { name: "Services", id: "/#services" }, { name: "Team", id: "/#team" }, { name: "Testimonials", id: "/#testimonials" }, - { name: "Contact", id: "/#contact" }, - { name: "Apply Now", id: "/application-form" } + { name: "Contact", id: "/#contact" } ]; - // Footer columns for FooterSimple, adjusted to link back to homepage sections - const applicationFormFooterColumns = [ + // Footer columns for FooterSimple, adjusted for consistency + const commonFooterColumns = [ { title: "Company", items: [ { label: "About Us", href: "/#about" }, @@ -129,6 +128,56 @@ export default function ApplicationFormPage() { className="w-full px-4 py-2 bg-background-accent text-foreground rounded-lg border border-border focus:outline-none focus:ring-2 focus:ring-primary-cta" />
+
{/* Street Address takes full width */} + + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
@@ -136,6 +185,33 @@ export default function ApplicationFormPage() {

Employment Information

+
+ + +
+
+ + +
-
- - -
{/* Document Upload */}

Document Upload

-

Please upload necessary documents (e.g., ID, proof of income). Max file size 5MB per file.

-
- - +

Please upload necessary documents (Max file size 5MB per file).

+
+
+ + +
+
+ + +
@@ -216,7 +294,7 @@ export default function ApplicationFormPage() {