Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 041a532987 | |||
| c8ca39dd83 | |||
| 363336296c | |||
| d1993f6393 | |||
| 3d28768c05 | |||
| f20fa6fcb4 | |||
| 8d56cc0383 | |||
| f7537ae78e | |||
| c334882f83 | |||
| 45b682aff1 |
119
src/app/admin/page.tsx
Normal file
119
src/app/admin/page.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
@@ -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
119
src/app/staff/page.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user