10 Commits

Author SHA1 Message Date
041a532987 Update src/app/staff/page.tsx 2026-06-07 05:32:46 +00:00
c8ca39dd83 Update src/app/page.tsx 2026-06-07 05:32:46 +00:00
363336296c Update src/app/admin/page.tsx 2026-06-07 05:32:45 +00:00
d1993f6393 Add src/app/staff/page.tsx 2026-06-07 05:32:21 +00:00
3d28768c05 Update src/app/page.tsx 2026-06-07 05:32:21 +00:00
f20fa6fcb4 Add src/app/admin/page.tsx 2026-06-07 05:32:21 +00:00
8d56cc0383 Merge version_1 into main
Merge version_1 into main
2026-06-07 05:28:09 +00:00
f7537ae78e Merge version_1 into main
Merge version_1 into main
2026-06-07 05:22:22 +00:00
c334882f83 Merge version_1 into main
Merge version_1 into main
2026-06-07 05:21:32 +00:00
45b682aff1 Merge version_1 into main
Merge version_1 into main
2026-06-07 05:20:43 +00:00
3 changed files with 251 additions and 13 deletions

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

@@ -0,0 +1,119 @@
"use client";
import { ThemeProvider } from '@/providers/themeProvider/ThemeProvider';
import ReactLenis from 'lenis/react';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import FooterMedia from '@/components/sections/footer/FooterMedia';
import { PlusCircle } from 'lucide-react';
export default function AdminPage() {
const navItems = [
{ name: 'Home', id: '/' },
{ name: 'Offers', id: '/#offers' },
{ name: 'Products', id: '/#products' },
{ name: 'Reviews', id: '/#testimonials' },
{ name: 'FAQs', id: '/#faq' },
{ name: 'Pickup', id: '/#contact' },
{ name: 'Admin', id: '/admin' },
{ name: 'Staff', id: '/staff' }
];
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="reveal-blur"
borderRadius="rounded"
contentWidth="mediumSmall"
sizing="largeSmall"
background="blurBottom"
cardStyle="outline"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="layered"
headingFontWeight="semibold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={navItems}
brandName="VM Super Value"
button={{ text: 'Order Pickup', href: '/#contact' }}
animateOnLoad={true}
/>
</div>
<div className="min-h-screen flex items-center justify-center bg-background text-foreground py-20 px-4 sm:px-6 lg:px-8">
<div className="max-w-4xl w-full space-y-8 text-center">
<PlusCircle size={64} className="mx-auto text-primary-cta" />
<h1 className="text-5xl font-extrabold tracking-tight sm:text-6xl lg:text-7xl">
Admin Dashboard
</h1>
<p className="mt-4 text-xl text-foreground">
Welcome, Admin. Here you can upload new product offers, update existing inventory, and manage promotional images.
</p>
<div className="mt-6 flex flex-col items-center justify-center sm:flex-row space-y-4 sm:space-y-0 sm:space-x-4">
<button className="bg-primary-cta text-white py-3 px-6 rounded-lg text-lg font-medium hover:opacity-90 transition-opacity">
Upload New Offer
</button>
<button className="bg-secondary-cta text-white py-3 px-6 rounded-lg text-lg font-medium hover:opacity-90 transition-opacity">
Manage Products
</button>
</div>
</div>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/burj-khalifa-tower-this-skyscraper-is-tallest-man-made-structure-world-measuring-828-m-completed-2009_231208-7567.jpg?_wi=2"
imageAlt="Modern supermarket exterior at sunset"
logoText="VM Super Value"
columns={[
{
title: 'Shop',
items: [
{ label: 'Daily Offers', href: '/#offers' },
{ label: 'Product Catalog', href: '/#products' },
{ label: 'New Arrivals', href: '#' },
{ label: 'Wholesale Enquiries', href: '#' }
]
},
{
title: 'Customer Service',
items: [
{ label: 'Pickup Information', href: '/#faq' },
{ label: 'Contact Us', href: '/#contact' },
{ label: 'FAQs', href: '/#faq' },
{ label: 'Feedback', href: '#' }
]
},
{
title: 'About Us',
items: [
{ label: 'Our Story', href: '/#about' },
{ label: 'Testimonials', href: '/#testimonials' },
{ label: 'Careers', href: '#' },
{ label: 'Store Location', href: '#' }
]
},
{
title: 'Legal',
items: [
{ label: 'Privacy Policy', href: '#' },
{ label: 'Terms of Service', href: '#' },
{ label: 'Return Policy', href: '#' }
]
},
{
title: 'Internal',
items: [
{ label: 'Admin', href: '/admin' },
{ label: 'Staff', href: '/staff' }
]
}
]}
copyrightText="© 2024 VM Super Value. All rights reserved."
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -191,23 +191,23 @@ export default function LandingPage() {
useInvertedBackground={true}
products={[
{
id: "p1", name: "Organic Red Apples", price: "$3.99/lb", imageSrc: "http://img.b2bpic.net/free-photo/juicy-fresh-apples-wooden-rustic-tray_114579-61904.jpg", imageAlt: "Vibrant red organic apples", rating: 5,
id: "p1", name: "Organic Red Apples", price: "3.99/lb", imageSrc: "http://img.b2bpic.net/free-photo/juicy-fresh-apples-wooden-rustic-tray_114579-61904.jpg", imageAlt: "Vibrant red organic apples", rating: 5
},
{
id: "p2", name: "Fresh Green Broccoli", price: "$2.49/lb", imageSrc: "http://img.b2bpic.net/free-photo/top-view-green-broccoli-along-with-mushrooms-grey-floor_140725-13457.jpg", imageAlt: "Fresh organic broccoli florets", rating: 4,
id: "p2", name: "Fresh Green Broccoli", price: "2.49/lb", imageSrc: "http://img.b2bpic.net/free-photo/top-view-green-broccoli-along-with-mushrooms-grey-floor_140725-13457.jpg", imageAlt: "Fresh organic broccoli florets", rating: 4
},
{
id: "p3", name: "Premium Whole Milk", price: "$4.29/gallon", imageSrc: "http://img.b2bpic.net/free-photo/clear-glass-bottle-filled-with-white-liquid_209204-9.jpg", imageAlt: "Carton of premium whole milk", rating: 5,
id: "p3", name: "Premium Whole Milk", price: "4.29/gallon", imageSrc: "http://img.b2bpic.net/free-photo/clear-glass-bottle-filled-with-white-liquid_209204-9.jpg", imageAlt: "Carton of premium whole milk", rating: 5
},
{
id: "p4", name: "Artisan Sourdough Bread", price: "$5.75", imageSrc: "http://img.b2bpic.net/free-photo/brown-cookies-white-textile_209848-69.jpg", imageAlt: "Freshly baked artisan sourdough bread", rating: 5,
id: "p4", name: "Artisan Sourdough Bread", price: "5.75", imageSrc: "http://img.b2bpic.net/free-photo/brown-cookies-white-textile_209848-69.jpg", imageAlt: "Freshly baked artisan sourdough bread", rating: 5
},
{
id: "p5", name: "Wild Caught Salmon Fillet", price: "$12.99/lb", imageSrc: "http://img.b2bpic.net/free-photo/delicious-food-groups-arrangement_23-2149235821.jpg", imageAlt: "Fresh wild-caught salmon fillet", rating: 4,
id: "p5", name: "Wild Caught Salmon Fillet", price: "12.99/lb", imageSrc: "http://img.b2bpic.net/free-photo/delicious-food-groups-arrangement_23-2149235821.jpg", imageAlt: "Fresh wild-caught salmon fillet", rating: 4
},
{
id: "p6", name: "Gourmet Cheese Selection", price: "$9.50", imageSrc: "http://img.b2bpic.net/free-photo/delicious-cheese-table_114579-8837.jpg", imageAlt: "Selection of gourmet cheeses", rating: 5,
},
id: "p6", name: "Gourmet Cheese Selection", price: "9.50", imageSrc: "http://img.b2bpic.net/free-photo/delicious-cheese-table_114579-8837.jpg", imageAlt: "Selection of gourmet cheeses", rating: 5
}
]}
title="Explore Our Premium Selection"
description="Discover a vast variety of high-quality products, from daily essentials to gourmet delights. Find exactly what you need with ease and add to your pickup cart."
@@ -299,19 +299,19 @@ export default function LandingPage() {
description="Ready to skip the line? Fill out the form below with your details and preferred pickup time, and we'll have your order ready for you."
inputs={[
{
name: "name", type: "text", placeholder: "Your Full Name", required: true,
name: "name", type: "text", placeholder: "Your Full Name", required: true
},
{
name: "phone", type: "tel", placeholder: "Phone Number", required: true,
name: "phone", type: "tel", placeholder: "Phone Number", required: true
},
{
name: "email", type: "email", placeholder: "Email Address (Optional)"},
{
name: "pickupTime", type: "datetime-local", placeholder: "Preferred Pickup Time", required: true,
name: "pickupTime", type: "datetime-local", placeholder: "Preferred Pickup Time", required: true
},
]}
textarea={{
name: "notes", placeholder: "Any special instructions or preferences?", rows: 4,
name: "notes", placeholder: "Any special instructions or preferences?", rows: 4
}}
imageSrc="http://img.b2bpic.net/free-photo/man-checks-online-veggies-are-organic_482257-76736.jpg"
imageAlt="Customer picking up pre-ordered groceries at a counter"
@@ -323,7 +323,7 @@ export default function LandingPage() {
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/burj-khalifa-tower-this-skyscraper-is-tallest-man-made-structure-world-measuring-828-m-completed-2009_231208-7567.jpg"
imageSrc="http://img.b2bpic.net/free-photo/burj-khalifa-tower-this-skyscraper-is-tallest-man-made-structure-world-measuring-828-m-completed-2009_231208-7567.jpg?_wi=1"
imageAlt="Modern supermarket exterior at sunset"
logoText="VM Super Value"
columns={[
@@ -380,4 +380,4 @@ export default function LandingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}

119
src/app/staff/page.tsx Normal file
View File

@@ -0,0 +1,119 @@
"use client";
import { ThemeProvider } from '@/providers/themeProvider/ThemeProvider';
import ReactLenis from 'lenis/react';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import FooterMedia from '@/components/sections/footer/FooterMedia';
import { ShoppingBag, Timer, RefreshCcw } from 'lucide-react';
export default function StaffPage() {
const navItems = [
{ name: 'Home', id: '/' },
{ name: 'Offers', id: '/#offers' },
{ name: 'Products', id: '/#products' },
{ name: 'Reviews', id: '/#testimonials' },
{ name: 'FAQs', id: '/#faq' },
{ name: 'Pickup', id: '/#contact' },
{ name: 'Admin', id: '/admin' },
{ name: 'Staff', id: '/staff' }
];
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="reveal-blur"
borderRadius="rounded"
contentWidth="mediumSmall"
sizing="largeSmall"
background="blurBottom"
cardStyle="outline"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="layered"
headingFontWeight="semibold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={navItems}
brandName="VM Super Value"
button={{ text: 'Order Pickup', href: '/#contact' }}
animateOnLoad={true}
/>
</div>
<div className="min-h-screen flex items-center justify-center bg-background text-foreground py-20 px-4 sm:px-6 lg:px-8">
<div className="max-w-4xl w-full space-y-8 text-center">
<ShoppingBag size={64} className="mx-auto text-primary-cta" />
<h1 className="text-5xl font-extrabold tracking-tight sm:text-6xl lg:text-7xl">
Staff Order Management
</h1>
<p className="mt-4 text-xl text-foreground">
Welcome, Staff. Here you can view incoming online orders, update their pickup status, and monitor customer pickup timings.
</p>
<div className="mt-6 flex flex-col items-center justify-center sm:flex-row space-y-4 sm:space-y-0 sm:space-x-4">
<button className="bg-primary-cta text-white py-3 px-6 rounded-lg text-lg font-medium hover:opacity-90 transition-opacity flex items-center space-x-2">
<Timer size={20} /> <span>View Orders</span>
</button>
<button className="bg-secondary-cta text-white py-3 px-6 rounded-lg text-lg font-medium hover:opacity-90 transition-opacity flex items-center space-x-2">
<RefreshCcw size={20} /> <span>Update Status</span>
</button>
</div>
</div>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/burj-khalifa-tower-this-skyscraper-is-tallest-man-made-structure-world-measuring-828-m-completed-2009_231208-7567.jpg?_wi=3"
imageAlt="Modern supermarket exterior at sunset"
logoText="VM Super Value"
columns={[
{
title: 'Shop',
items: [
{ label: 'Daily Offers', href: '/#offers' },
{ label: 'Product Catalog', href: '/#products' },
{ label: 'New Arrivals', href: '#' },
{ label: 'Wholesale Enquiries', href: '#' }
]
},
{
title: 'Customer Service',
items: [
{ label: 'Pickup Information', href: '/#faq' },
{ label: 'Contact Us', href: '/#contact' },
{ label: 'FAQs', href: '/#faq' },
{ label: 'Feedback', href: '#' }
]
},
{
title: 'About Us',
items: [
{ label: 'Our Story', href: '/#about' },
{ label: 'Testimonials', href: '/#testimonials' },
{ label: 'Careers', href: '#' },
{ label: 'Store Location', href: '#' }
]
},
{
title: 'Legal',
items: [
{ label: 'Privacy Policy', href: '#' },
{ label: 'Terms of Service', href: '#' },
{ label: 'Return Policy', href: '#' }
]
},
{
title: 'Internal',
items: [
{ label: 'Admin', href: '/admin' },
{ label: 'Staff', href: '/staff' }
]
}
]}
copyrightText="© 2024 VM Super Value. All rights reserved."
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}