14 Commits

Author SHA1 Message Date
420716ed8f Update src/app/styles/variables.css 2026-04-28 02:03:39 +00:00
51e9681701 Update src/app/admin/page.tsx 2026-04-28 02:03:39 +00:00
e0984aa10b Merge version_5 into main
Merge version_5 into main
2026-04-28 01:59:52 +00:00
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
5a1973550d Update src/app/page.tsx 2026-04-28 01:56:55 +00:00
71c91f6391 Add src/app/admin/page.tsx 2026-04-28 01:56:55 +00:00
5231631713 Merge version_2 into main
Merge version_2 into main
2026-04-28 01:55:43 +00:00
f2a584ca61 Merge version_2 into main
Merge version_2 into main
2026-04-28 01:55:16 +00:00
4 changed files with 144 additions and 5 deletions

67
src/app/admin/page.tsx Normal file
View File

@@ -0,0 +1,67 @@
"use client";
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 AdminDashboard() {
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: "Admin", id: "/admin" }
]}
brandName="Elite Grooming"
/>
</div>
<main className="container mx-auto px-4 py-24 min-h-screen">
<h1 className="text-4xl font-bold mb-8">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">
<h2 className="text-xl font-semibold">Scheduling</h2>
<p>Manage operating hours.</p>
</div>
<div className="p-6 border rounded-lg shadow-sm">
<h2 className="text-xl font-semibold">Calendar View</h2>
<p>View upcoming bookings.</p>
</div>
<div className="p-6 border rounded-lg shadow-sm">
<h2 className="text-xl font-semibold">Appointments</h2>
<p>Active booking requests.</p>
</div>
<div className="p-6 border rounded-lg shadow-sm">
<h2 className="text-xl font-semibold">Settings</h2>
<p>Booking administration.</p>
</div>
</div>
</main>
<div id="footer" data-section="footer">
<FooterBase
logoText="Elite Grooming"
columns={[
{ title: "Navigation", items: [{ label: "Home", href: "/" }] }
]}
/>
</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>
);
}

View File

@@ -34,7 +34,8 @@ export default function LandingPage() {
{ name: "Home", id: "hero" },
{ name: "Services", id: "services" },
{ name: "Gallery", id: "gallery" },
{ name: "Contact", id: "contact" }
{ name: "Contact", id: "contact" },
{ name: "Admin", id: "/admin" }
]}
brandName="Elite Grooming"
/>
@@ -155,4 +156,4 @@ export default function LandingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -11,11 +11,11 @@
--background-accent: #ffffff; */
--background: #000000;
--card: #121212;
--foreground: #ffffff;
--card: #1A1A1A;
--foreground: #FFFFFF;
--primary-cta: #FFD700;
--primary-cta-text: #000000;
--secondary-cta: #1A1A1A;
--secondary-cta: #262626;
--secondary-cta-text: #FFFFFF;
--accent: #B8860B;
--background-accent: #262626;