Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 30a6b48628 | |||
| 2af4dac379 | |||
| aa3a29cad8 | |||
| 31e7c1ea44 | |||
| c478e433f4 | |||
| f308ab72e6 | |||
| c16765460d | |||
| 91a128d07c | |||
| 9d48dce859 |
69
src/app/dashboard/page.tsx
Normal file
69
src/app/dashboard/page.tsx
Normal file
@@ -0,0 +1,69 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
|
||||
import { LayoutDashboard, ShoppingBag, Heart, Settings, User } from "lucide-react";
|
||||
|
||||
export default function DashboardPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-magnetic"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="pill"
|
||||
contentWidth="small"
|
||||
sizing="large"
|
||||
background="blurBottom"
|
||||
cardStyle="solid"
|
||||
primaryButtonStyle="diagonal-gradient"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="extrabold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Dashboard", id: "#" }
|
||||
]}
|
||||
brandName="ServiceConnect"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<main className="container mx-auto py-20 px-4">
|
||||
<h1 className="text-4xl font-extrabold mb-10">Customer Dashboard</h1>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-8">
|
||||
<div className="p-6 border rounded-3xl bg-card shadow-sm">
|
||||
<div className="flex items-center gap-3 mb-4"><User /> <h2 className="text-xl font-bold">Profile</h2></div>
|
||||
<p>View and edit your personal information and preferences.</p>
|
||||
</div>
|
||||
<div className="p-6 border rounded-3xl bg-card shadow-sm">
|
||||
<div className="flex items-center gap-3 mb-4"><ShoppingBag /> <h2 className="text-xl font-bold">Order History</h2></div>
|
||||
<p>Track your current and past service bookings.</p>
|
||||
</div>
|
||||
<div className="p-6 border rounded-3xl bg-card shadow-sm">
|
||||
<div className="flex items-center gap-3 mb-4"><Heart /> <h2 className="text-xl font-bold">Saved Items</h2></div>
|
||||
<p>Manage your favorite services and companies.</p>
|
||||
</div>
|
||||
<div className="p-6 border rounded-3xl bg-card shadow-sm">
|
||||
<div className="flex items-center gap-3 mb-4"><Settings /> <h2 className="text-xl font-bold">Settings</h2></div>
|
||||
<p>Configure account security, notifications, and WhatsApp integration.</p>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseReveal
|
||||
logoText="ServiceConnect"
|
||||
columns={[
|
||||
{ title: "Marketplace", items: [{ label: "Home", href: "/" }] },
|
||||
{ title: "Account", items: [{ label: "Dashboard", href: "/dashboard" }] },
|
||||
{ title: "Legal", items: [{ label: "Privacy", href: "#" }] },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -9,7 +9,6 @@ import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
|
||||
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
|
||||
import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven';
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
||||
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
|
||||
import TestimonialCardFifteen from '@/components/sections/testimonial/TestimonialCardFifteen';
|
||||
import { Calendar } from "lucide-react";
|
||||
@@ -36,12 +35,12 @@ export default function LandingPage() {
|
||||
name: "Home", id: "hero"},
|
||||
{
|
||||
name: "Services", id: "features"},
|
||||
{
|
||||
name: "Vendors", id: "products"},
|
||||
{
|
||||
name: "Reviews", id: "testimonials"},
|
||||
{
|
||||
name: "Contact", id: "contact"},
|
||||
{
|
||||
name: "Dashboard", id: "/dashboard"},
|
||||
]}
|
||||
brandName="ServiceConnect"
|
||||
/>
|
||||
@@ -52,8 +51,6 @@ export default function LandingPage() {
|
||||
title="Your Trusted Marketplace for Quality Local Services"
|
||||
description="Connecting you with verified professional companies for home, health, and more in the US and UK. Seamless booking, real reviews, and guaranteed satisfaction."
|
||||
buttons={[
|
||||
{
|
||||
text: "Browse Vendors", href: "#products"},
|
||||
{
|
||||
text: "Sign In", href: "/signin"},
|
||||
]}
|
||||
@@ -130,31 +127,6 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<ProductCardThree
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="uniform-all-items-equal"
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "v1", name: "London Dental Care", price: "TBD", imageSrc: "http://img.b2bpic.net/free-photo/giant-glass-bulding_1203-811.jpg"},
|
||||
{
|
||||
id: "v2", name: "Pro Plumbers UK", price: "$80/hr", imageSrc: "http://img.b2bpic.net/free-photo/carpentry-concept-with-windows_23-2147773331.jpg"},
|
||||
{
|
||||
id: "v3", name: "Green Thumb Landscaping", price: "$120/job", imageSrc: "http://img.b2bpic.net/free-photo/close-up-strong-man-gloves-cutting-leaves-his-garden-farmer-spending-summer-morning-working-garden-near-countryside-house_176420-19902.jpg"},
|
||||
{
|
||||
id: "v4", name: "Family Dental Group", price: "TBD", imageSrc: "http://img.b2bpic.net/free-photo/lady-receptionist-working-hospital-reception-desk-help-patients-with-medical-appointment-healthcare-employee-waiting-room-lobby-checkup-visit-report-with-medication_482257-47699.jpg"},
|
||||
{
|
||||
id: "v5", name: "Premier Roofing", price: "$250/quote", imageSrc: "http://img.b2bpic.net/free-photo/skateboard-rink-view_23-2148937901.jpg"},
|
||||
{
|
||||
id: "v6", name: "Apex Electrical", price: "$90/hr", imageSrc: "http://img.b2bpic.net/free-photo/male-electrician-uniform-working-switchboard-electricity_169016-67983.jpg"},
|
||||
]}
|
||||
title="Top-Rated Service Providers"
|
||||
description="Book a top-rated company in your area today."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<TestimonialCardFifteen
|
||||
useInvertedBackground={false}
|
||||
@@ -215,8 +187,6 @@ export default function LandingPage() {
|
||||
title: "Marketplace", items: [
|
||||
{
|
||||
label: "About", href: "#"},
|
||||
{
|
||||
label: "Vendors", href: "#products"},
|
||||
{
|
||||
label: "Categories", href: "#categories"},
|
||||
],
|
||||
|
||||
67
src/app/signin/page.tsx
Normal file
67
src/app/signin/page.tsx
Normal file
@@ -0,0 +1,67 @@
|
||||
"use client";
|
||||
|
||||
import { useState } from "react";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
|
||||
|
||||
export default function SignInPage() {
|
||||
const [isLogin, setIsLogin] = useState(true);
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-magnetic"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="pill"
|
||||
contentWidth="small"
|
||||
sizing="large"
|
||||
background="blurBottom"
|
||||
cardStyle="solid"
|
||||
primaryButtonStyle="diagonal-gradient"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="extrabold"
|
||||
>
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Services", id: "/services" },
|
||||
{ name: "Reviews", id: "/reviews" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
]}
|
||||
brandName="ServiceConnect"
|
||||
/>
|
||||
|
||||
<div className="pt-32 pb-20">
|
||||
<ContactSplitForm
|
||||
useInvertedBackground={false}
|
||||
title={isLogin ? "Sign In" : "Create Account"}
|
||||
description={isLogin ? "Welcome back to ServiceConnect." : "Join our community to start booking services today."}
|
||||
inputs={[
|
||||
{ name: "email", type: "email", placeholder: "Email Address", required: true },
|
||||
{ name: "password", type: "password", placeholder: "Password", required: true },
|
||||
]}
|
||||
buttonText={isLogin ? "Sign In" : "Sign Up"}
|
||||
onSubmit={(data) => console.log(data)}
|
||||
/>
|
||||
|
||||
<div className="text-center mt-6">
|
||||
<button onClick={() => setIsLogin(!isLogin)} className="text-sm text-gray-500 hover:underline">
|
||||
{isLogin ? "Need an account? Sign Up" : "Already have an account? Sign In"}
|
||||
</button>
|
||||
<div className="mt-2">
|
||||
<a href="#" className="text-sm text-gray-500 hover:underline">Forgot Password?</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<FooterBaseReveal
|
||||
logoText="ServiceConnect"
|
||||
columns={[
|
||||
{ title: "Marketplace", items: [{ label: "About", href: "#" }, { label: "Categories", href: "#" }] },
|
||||
{ title: "Support", items: [{ label: "FAQ", href: "#" }, { label: "Contact", href: "#" }] },
|
||||
]}
|
||||
/>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
79
src/app/vendor-dashboard/page.tsx
Normal file
79
src/app/vendor-dashboard/page.tsx
Normal file
@@ -0,0 +1,79 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven';
|
||||
import FeatureCardSix from '@/components/sections/feature/FeatureCardSix';
|
||||
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
|
||||
|
||||
export default function VendorDashboardPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-magnetic"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="rounded"
|
||||
contentWidth="medium"
|
||||
sizing="medium"
|
||||
background="circleGradient"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="gradient"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Inventory", id: "#inventory" },
|
||||
{ name: "Sales", id: "#sales" },
|
||||
{ name: "Orders", id: "#orders" },
|
||||
]}
|
||||
brandName="Vendor Dashboard"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<MetricCardSeven
|
||||
title="Vendor Performance"
|
||||
description="An overview of your current performance metrics."
|
||||
tag="Analytics"
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
metrics={[
|
||||
{ id: "1", value: "$12,450", title: "Total Revenue", items: ["Monthly average"] },
|
||||
{ id: "2", value: "48", title: "Active Orders", items: ["Pending shipment"] },
|
||||
{ id: "3", value: "98%", title: "Satisfaction Rate", items: ["Customer feedback"] }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="inventory" data-section="inventory">
|
||||
<FeatureCardSix
|
||||
title="Inventory Management"
|
||||
description="Manage your product stock levels effectively."
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
features={[
|
||||
{
|
||||
title: "Product A", description: "Stock levels are healthy.", imageSrc: "https://images.unsplash.com/photo-1523275335684-37898b6baf30?q=80&w=600&auto=format&fit=crop"
|
||||
},
|
||||
{
|
||||
title: "Product B", description: "Stock running low.", imageSrc: "https://images.unsplash.com/photo-1505740420928-5e560c06d30e?q=80&w=600&auto=format&fit=crop"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseReveal
|
||||
logoText="ServiceConnect"
|
||||
columns={[]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user