Merge version_2 into main #1
62
src/app/dashboard/page.tsx
Normal file
62
src/app/dashboard/page.tsx
Normal file
@@ -0,0 +1,62 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
import { LayoutDashboard, Users, CheckCircle2, UserX } from 'lucide-react';
|
||||
|
||||
export default function DashboardPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="bounce-effect"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="rounded"
|
||||
contentWidth="smallMedium"
|
||||
sizing="mediumLargeSizeMediumTitles"
|
||||
background="noiseDiagonalGradient"
|
||||
cardStyle="soft-shadow"
|
||||
primaryButtonStyle="flat"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Dashboard", id: "/dashboard" }
|
||||
]}
|
||||
brandName="HIVE COFFEE"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="stats" data-section="stats" className="pt-32 pb-16">
|
||||
<MetricCardSeven
|
||||
title="Attendance Overview"
|
||||
description="Real-time insights into staff presence and daily attendance records."
|
||||
animationType="slide-up"
|
||||
textboxLayout="split"
|
||||
useInvertedBackground={false}
|
||||
metrics={[
|
||||
{ id: "s1", value: "45", title: "Total Staff", items: ["Active employees", "All departments"] },
|
||||
{ id: "s2", value: "42", title: "Present Today", items: ["On-site", "Remote"] },
|
||||
{ id: "s3", value: "3", title: "Absent Today", items: ["Leave requests", "Unreported"] }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
columns={[
|
||||
{ items: [{ label: "Home", href: "/" }, { label: "Dashboard", href: "/dashboard" }] },
|
||||
{ items: [{ label: "Privacy Policy", href: "#" }, { label: "Support", href: "#" }] }
|
||||
]}
|
||||
logoText="HIVE COFFEE"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
206
src/app/page.tsx
206
src/app/page.tsx
@@ -28,22 +28,11 @@ export default function LandingPage() {
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{
|
||||
name: "Home",
|
||||
id: "hero",
|
||||
},
|
||||
{
|
||||
name: "Our Story",
|
||||
id: "about",
|
||||
},
|
||||
{
|
||||
name: "Products",
|
||||
id: "products",
|
||||
},
|
||||
{
|
||||
name: "Contact",
|
||||
id: "contact",
|
||||
},
|
||||
{ name: "Home", id: "hero" },
|
||||
{ name: "Our Story", id: "about" },
|
||||
{ name: "Products", id: "products" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ name: "Management", id: "/user-management" }
|
||||
]}
|
||||
brandName="HIVE COFFEE"
|
||||
/>
|
||||
@@ -54,14 +43,8 @@ export default function LandingPage() {
|
||||
logoText="HIVE COFFEE"
|
||||
description="Exquisite, single-origin Ugandan coffee, roasted to perfection in the heart of the pearl of Africa. Experience the richness in every bean."
|
||||
buttons={[
|
||||
{
|
||||
text: "Explore Coffee",
|
||||
href: "#products",
|
||||
},
|
||||
{
|
||||
text: "Contact Us",
|
||||
href: "#contact",
|
||||
},
|
||||
{ text: "Explore Coffee", href: "#products" },
|
||||
{ text: "Contact Us", href: "#contact" },
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/coffee-beans-with-empty-frame-marble-surface_114579-77318.jpg"
|
||||
@@ -74,18 +57,9 @@ export default function LandingPage() {
|
||||
title="Rooted in Quality"
|
||||
description="At HIVE COFFEE, we work directly with local Ugandan farmers to cultivate the finest Arabica beans. Our sustainable methods ensure every sip preserves the soul of our land and the livelihoods of our growers."
|
||||
metrics={[
|
||||
{
|
||||
value: "100%",
|
||||
title: "Organic Arabica",
|
||||
},
|
||||
{
|
||||
value: "500+",
|
||||
title: "Local Farmers",
|
||||
},
|
||||
{
|
||||
value: "20+",
|
||||
title: "Roast Profiles",
|
||||
},
|
||||
{ value: "100%", title: "Organic Arabica" },
|
||||
{ value: "500+", title: "Local Farmers" },
|
||||
{ value: "20+", title: "Roast Profiles" },
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/adult-nature-coffee-harvesting_23-2151711563.jpg"
|
||||
mediaAnimation="blur-reveal"
|
||||
@@ -100,60 +74,12 @@ export default function LandingPage() {
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "p1",
|
||||
brand: "HIVE",
|
||||
name: "Mountain Bloom",
|
||||
price: "$18.00",
|
||||
rating: 5,
|
||||
reviewCount: "128",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-fresh-coffee-beans-falling-out-black-basket-red-background_141793-27586.jpg",
|
||||
},
|
||||
{
|
||||
id: "p2",
|
||||
brand: "HIVE",
|
||||
name: "Valley Dark",
|
||||
price: "$19.50",
|
||||
rating: 5,
|
||||
reviewCount: "94",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/brown-coffee-beans-cup_114579-16758.jpg",
|
||||
},
|
||||
{
|
||||
id: "p3",
|
||||
brand: "HIVE",
|
||||
name: "Sunrise Roast",
|
||||
price: "$17.50",
|
||||
rating: 4,
|
||||
reviewCount: "82",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/ice-black-coffee-glass-wooden-table_1150-13459.jpg",
|
||||
},
|
||||
{
|
||||
id: "p4",
|
||||
brand: "HIVE",
|
||||
name: "Midnight Estate",
|
||||
price: "$22.00",
|
||||
rating: 5,
|
||||
reviewCount: "45",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/roasted-coffee-beans-black-basket-slight-white-surface-side-view_176474-5064.jpg",
|
||||
},
|
||||
{
|
||||
id: "p5",
|
||||
brand: "HIVE",
|
||||
name: "Pearl Arabica",
|
||||
price: "$20.00",
|
||||
rating: 5,
|
||||
reviewCount: "67",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-coffee-maker-black-background_23-2147908278.jpg",
|
||||
},
|
||||
{
|
||||
id: "p6",
|
||||
brand: "HIVE",
|
||||
name: "Single Farm Special",
|
||||
price: "$25.00",
|
||||
rating: 5,
|
||||
reviewCount: "39",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/coffee-maker-machine-table_23-2148937221.jpg",
|
||||
},
|
||||
{ id: "p1", brand: "HIVE", name: "Mountain Bloom", price: "$18.00", rating: 5, reviewCount: "128", imageSrc: "http://img.b2bpic.net/free-photo/side-view-fresh-coffee-beans-falling-out-black-basket-red-background_141793-27586.jpg" },
|
||||
{ id: "p2", brand: "HIVE", name: "Valley Dark", price: "$19.50", rating: 5, reviewCount: "94", imageSrc: "http://img.b2bpic.net/free-photo/brown-coffee-beans-cup_114579-16758.jpg" },
|
||||
{ id: "p3", brand: "HIVE", name: "Sunrise Roast", price: "$17.50", rating: 4, reviewCount: "82", imageSrc: "http://img.b2bpic.net/free-photo/ice-black-coffee-glass-wooden-table_1150-13459.jpg" },
|
||||
{ id: "p4", brand: "HIVE", name: "Midnight Estate", price: "$22.00", rating: 5, reviewCount: "45", imageSrc: "http://img.b2bpic.net/free-photo/roasted-coffee-beans-black-basket-slight-white-surface-side-view_176474-5064.jpg" },
|
||||
{ id: "p5", brand: "HIVE", name: "Pearl Arabica", price: "$20.00", rating: 5, reviewCount: "67", imageSrc: "http://img.b2bpic.net/free-photo/close-up-coffee-maker-black-background_23-2147908278.jpg" },
|
||||
{ id: "p6", brand: "HIVE", name: "Single Farm Special", price: "$25.00", rating: 5, reviewCount: "39", imageSrc: "http://img.b2bpic.net/free-photo/coffee-maker-machine-table_23-2148937221.jpg" },
|
||||
]}
|
||||
title="Our Signature Roasts"
|
||||
description="From light, floral citrus notes to deep, dark chocolate finishes, discover our curated collection of Ugandan harvests."
|
||||
@@ -165,46 +91,11 @@ export default function LandingPage() {
|
||||
textboxLayout="split"
|
||||
useInvertedBackground={true}
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
title: "Exceptional",
|
||||
quote: "The most flavorful coffee I have ever experienced. A true Ugandan treasure.",
|
||||
name: "Sarah K.",
|
||||
role: "Coffee Blogger",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/two-women-laughing-while-having-coffee_23-2148850659.jpg",
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
title: "Bold & Rich",
|
||||
quote: "I drink HIVE COFFEE every single morning. It gives me the perfect start.",
|
||||
name: "Michael B.",
|
||||
role: "Architect",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-holding-coffee-cup_23-2148773523.jpg",
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
title: "Smooth roast",
|
||||
quote: "Incredible balance and depth. I recommend the Mountain Bloom roast!",
|
||||
name: "Emily R.",
|
||||
role: "Designer",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-asian-barista-girl-uniform-serving-coffee-waitress-holding-cup-drink-working-cafe_1258-129817.jpg",
|
||||
},
|
||||
{
|
||||
id: "4",
|
||||
title: "Pure quality",
|
||||
quote: "You can truly taste the care and the quality in every single bean.",
|
||||
name: "David L.",
|
||||
role: "Chef",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-drinking-coffee-outside-street_1303-20411.jpg",
|
||||
},
|
||||
{
|
||||
id: "5",
|
||||
title: "Daily staple",
|
||||
quote: "HIVE COFFEE has completely changed how I look at my morning brew.",
|
||||
name: "Jane W.",
|
||||
role: "Editor",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-smiling-asian-bartender-barista-blue-apron-pouring-water-with-small-kettle_1258-203360.jpg",
|
||||
},
|
||||
{ id: "1", title: "Exceptional", quote: "The most flavorful coffee I have ever experienced. A true Ugandan treasure.", name: "Sarah K.", role: "Coffee Blogger", imageSrc: "http://img.b2bpic.net/free-photo/two-women-laughing-while-having-coffee_23-2148850659.jpg" },
|
||||
{ id: "2", title: "Bold & Rich", quote: "I drink HIVE COFFEE every single morning. It gives me the perfect start.", name: "Michael B.", role: "Architect", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-holding-coffee-cup_23-2148773523.jpg" },
|
||||
{ id: "3", title: "Smooth roast", quote: "Incredible balance and depth. I recommend the Mountain Bloom roast!", name: "Emily R.", role: "Designer", imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-asian-barista-girl-uniform-serving-coffee-waitress-holding-cup-drink-working-cafe_1258-129817.jpg" },
|
||||
{ id: "4", title: "Pure quality", quote: "You can truly taste the care and the quality in every single bean.", name: "David L.", role: "Chef", imageSrc: "http://img.b2bpic.net/free-photo/woman-drinking-coffee-outside-street_1303-20411.jpg" },
|
||||
{ id: "5", title: "Daily staple", quote: "HIVE COFFEE has completely changed how I look at my morning brew.", name: "Jane W.", role: "Editor", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-smiling-asian-bartender-barista-blue-apron-pouring-water-with-small-kettle_1258-203360.jpg" },
|
||||
]}
|
||||
title="A Taste of Excellence"
|
||||
description="Our customers love the authentic richness of Ugandan coffee. Here is what they are saying."
|
||||
@@ -217,25 +108,10 @@ export default function LandingPage() {
|
||||
title="Connect With Us"
|
||||
description="Have inquiries about wholesale, shipping, or our farming practices? Send us a message and we'll get back to you shortly."
|
||||
inputs={[
|
||||
{
|
||||
name: "name",
|
||||
type: "text",
|
||||
placeholder: "Your Name",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "email",
|
||||
type: "email",
|
||||
placeholder: "Email Address",
|
||||
required: true,
|
||||
},
|
||||
{ name: "name", type: "text", placeholder: "Your Name", required: true },
|
||||
{ name: "email", type: "email", placeholder: "Email Address", required: true },
|
||||
]}
|
||||
textarea={{
|
||||
name: "message",
|
||||
placeholder: "How can we help?",
|
||||
rows: 4,
|
||||
required: true,
|
||||
}}
|
||||
textarea={{ name: "message", placeholder: "How can we help?", rows: 4, required: true }}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/diligent-barista-is-prepairing-fresh-latte-customers-coffee-break-caffeteria_613910-17350.jpg"
|
||||
/>
|
||||
</div>
|
||||
@@ -243,38 +119,8 @@ export default function LandingPage() {
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
columns={[
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "About Us",
|
||||
href: "#about",
|
||||
},
|
||||
{
|
||||
label: "Our Products",
|
||||
href: "#products",
|
||||
},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "#contact",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Privacy Policy",
|
||||
href: "#",
|
||||
},
|
||||
{
|
||||
label: "Shipping Terms",
|
||||
href: "#",
|
||||
},
|
||||
{
|
||||
label: "Wholesale",
|
||||
href: "#",
|
||||
},
|
||||
],
|
||||
},
|
||||
{ items: [{ label: "About Us", href: "#about" }, { label: "Our Products", href: "#products" }, { label: "Contact", href: "#contact" }] },
|
||||
{ items: [{ label: "Privacy Policy", href: "#" }, { label: "Shipping Terms", href: "#" }, { label: "System Status: Operational", onClick: () => alert('v1.0.4-stable') }] }
|
||||
]}
|
||||
logoText="HIVE COFFEE"
|
||||
/>
|
||||
|
||||
61
src/app/reports/page.tsx
Normal file
61
src/app/reports/page.tsx
Normal file
@@ -0,0 +1,61 @@
|
||||
"use client";
|
||||
|
||||
import { useState } from "react";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
|
||||
import { Button } from "@/components/ui/button";
|
||||
|
||||
export default function ReportsPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="bounce-effect"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="rounded"
|
||||
contentWidth="smallMedium"
|
||||
sizing="mediumLargeSizeMediumTitles"
|
||||
background="noiseDiagonalGradient"
|
||||
cardStyle="soft-shadow"
|
||||
primaryButtonStyle="flat"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Our Story", id: "/#about" },
|
||||
{ name: "Products", id: "/#products" },
|
||||
{ name: "Contact", id: "/#contact" },
|
||||
{ name: "Reports", id: "/reports" },
|
||||
]}
|
||||
brandName="HIVE COFFEE"
|
||||
/>
|
||||
<main className="pt-32 pb-20 px-6 container mx-auto">
|
||||
<h1 className="text-4xl font-bold mb-8">Attendance Reports</h1>
|
||||
<div className="grid gap-6">
|
||||
<div className="bg-card p-6 rounded-xl shadow-sm border flex flex-wrap gap-4 items-end">
|
||||
<div className="flex flex-col gap-2">
|
||||
<label className="text-sm">Date Range</label>
|
||||
<input type="date" className="p-2 border rounded" />
|
||||
</div>
|
||||
<div className="flex flex-col gap-2">
|
||||
<label className="text-sm">Department</label>
|
||||
<select className="p-2 border rounded">
|
||||
<option>All Departments</option>
|
||||
<option>Operations</option>
|
||||
<option>Sales</option>
|
||||
</select>
|
||||
</div>
|
||||
<div className="flex flex-col gap-2">
|
||||
<label className="text-sm">Employee</label>
|
||||
<input type="text" placeholder="Search name..." className="p-2 border rounded" />
|
||||
</div>
|
||||
<Button onClick={() => alert("Exporting report...")}>Export CSV</Button>
|
||||
</div>
|
||||
<div className="bg-card p-6 rounded-xl shadow-sm border">
|
||||
<p className="text-center text-muted-foreground">No records found for current filters.</p>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
57
src/app/user-management/page.tsx
Normal file
57
src/app/user-management/page.tsx
Normal file
@@ -0,0 +1,57 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
|
||||
export default function UserManagementPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="bounce-effect"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="rounded"
|
||||
contentWidth="smallMedium"
|
||||
sizing="mediumLargeSizeMediumTitles"
|
||||
background="noiseDiagonalGradient"
|
||||
cardStyle="soft-shadow"
|
||||
primaryButtonStyle="flat"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Management", id: "#" }
|
||||
]}
|
||||
brandName="HIVE COFFEE"
|
||||
/>
|
||||
<div className="min-h-screen pt-32 pb-20 px-6">
|
||||
<h1 className="text-4xl font-bold mb-8">User Management</h1>
|
||||
<div className="grid gap-8">
|
||||
<div className="p-6 bg-white rounded-lg shadow-sm border">
|
||||
<h2 className="text-xl font-semibold mb-4">Staff Directory</h2>
|
||||
<p className="text-gray-600">Manage internal team directory, roles, and access permissions.</p>
|
||||
</div>
|
||||
<div className="p-6 bg-white rounded-lg shadow-sm border">
|
||||
<h2 className="text-xl font-semibold mb-4">Role Management</h2>
|
||||
<p className="text-gray-600">Configure Administrative, Manager, and Staff roles.</p>
|
||||
</div>
|
||||
<div className="p-6 bg-white rounded-lg shadow-sm border">
|
||||
<h2 className="text-xl font-semibold mb-4">User Settings</h2>
|
||||
<p className="text-gray-600">Global settings for user authentication and privacy.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<FooterLogoEmphasis
|
||||
columns={[
|
||||
{ items: [{ label: "Return to Home", href: "/" }] },
|
||||
{ items: [{ label: "System v1.0.4", onClick: () => alert('v1.0.4-stable') }] }
|
||||
]}
|
||||
logoText="HIVE COFFEE"
|
||||
/>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user