7 Commits

Author SHA1 Message Date
704f308cac Update src/app/admin/page.tsx 2026-04-28 01:59:49 +00:00
1f70f9c349 Merge version_4 into main
Merge version_4 into main
2026-04-28 01:59:05 +00:00
46d248b354 Update src/app/book-appointment/page.tsx 2026-04-28 01:59:02 +00:00
7c685efcb0 Merge version_4 into main
Merge version_4 into main
2026-04-28 01:58:34 +00:00
ef71150c09 Add src/app/book-appointment/page.tsx 2026-04-28 01:58:31 +00:00
ed9424958d Update src/app/admin/page.tsx 2026-04-28 01:58:31 +00:00
d3f6e58d1d Merge version_3 into main
Merge version_3 into main
2026-04-28 01:56:59 +00:00
2 changed files with 97 additions and 21 deletions

View File

@@ -4,8 +4,11 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import FooterBase from '@/components/sections/footer/FooterBase';
import { useState } from 'react';
export default function AdminDashboardPage() {
const [activeTab, setActiveTab] = useState('appointments');
return (
<ThemeProvider
defaultButtonVariant="hover-magnetic"
@@ -21,32 +24,34 @@ export default function AdminDashboardPage() {
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{ name: "Home", id: "/" },
{ name: "Admin Dashboard", id: "#admin" }
]}
brandName="Elite Grooming Admin"
/>
<NavbarStyleFullscreen
navItems={[
{ name: "Home", id: "/" },
{ name: "Appointments", id: "appointments" },
{ name: "Schedule", id: "schedule" },
{ name: "Services", id: "services" },
{ name: "Customers", id: "customers" }
]}
brandName="Admin Panel"
/>
</div>
<div id="admin" className="pt-32 pb-20 px-6 max-w-7xl mx-auto">
<h1 className="text-4xl font-bold mb-10">Admin Dashboard</h1>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
<div className="p-6 border rounded-lg shadow-sm">Booking Management</div>
<div className="p-6 border rounded-lg shadow-sm">Appointment Calendar</div>
<div className="p-6 border rounded-lg shadow-sm">Client Management</div>
<div className="p-6 border rounded-lg shadow-sm">Service Management</div>
<main className="pt-32 pb-20 px-6 min-h-screen container mx-auto">
<h1 className="text-4xl font-bold mb-8">Dashboard: {activeTab.charAt(0).toUpperCase() + activeTab.slice(1)}</h1>
<div className="grid gap-8">
<div className="p-8 bg-card rounded-xl border border-border shadow-sm">
<p className="text-muted-foreground">Admin management tools for {activeTab} will be implemented here.</p>
</div>
</div>
</div>
</main>
<div id="footer" data-section="footer">
<FooterBase
logoText="Elite Grooming"
columns={[
{ title: "Navigation", items: [{ label: "Home", href: "/" }] }
]}
/>
<FooterBase
logoText="Elite Grooming"
columns={[
{ title: "Navigation", items: [{ label: "Home", href: "/" }, { label: "Dashboard", href: "/admin" }] }
]}
/>
</div>
</ReactLenis>
</ThemeProvider>

View File

@@ -0,0 +1,71 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FooterBase from '@/components/sections/footer/FooterBase';
export default function BookAppointmentPage() {
return (
<ThemeProvider
defaultButtonVariant="hover-magnetic"
defaultTextAnimation="background-highlight"
borderRadius="rounded"
contentWidth="smallMedium"
sizing="large"
background="floatingGradient"
cardStyle="gradient-bordered"
primaryButtonStyle="radial-glow"
secondaryButtonStyle="solid"
headingFontWeight="normal"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{ name: "Home", id: "/" },
{ name: "Services", id: "/" },
{ name: "Gallery", id: "/" },
{ name: "Contact", id: "/" },
{ name: "Book", id: "/book-appointment" },
{ name: "Admin", id: "/admin" }
]}
brandName="Elite Grooming"
/>
</div>
<div id="booking" data-section="booking" className="py-24">
<ContactSplitForm
title="Schedule Your Appointment"
description="Select your preferred service and time. Our team will confirm your booking shortly."
inputs={[
{ name: "fullName", type: "text", placeholder: "Full Name", required: true },
{ name: "email", type: "email", placeholder: "Email Address", required: true },
{ name: "date", type: "date", placeholder: "Appointment Date", required: true }
]}
multiSelect={{
name: "service",
label: "Choose Service",
options: ["Precision Fade", "Beard Sculpt", "Hot Towel Shave"]
}}
textarea={{ name: "notes", placeholder: "Any special instructions or requests?" }}
buttonText="Confirm Booking"
onSubmit={(data) => console.log("Booking submitted:", data)}
useInvertedBackground={false}
/>
</div>
<div id="footer" data-section="footer">
<FooterBase
logoText="Elite Grooming"
columns={[
{ title: "Navigation", items: [{ label: "Home", href: "/" }, { label: "Services", href: "/" }] },
{ title: "Support", items: [{ label: "FAQ", href: "/" }, { label: "Book", href: "/book-appointment" }] }
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}