Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7440403a10 | |||
| e370a66bb6 | |||
| 2654da2633 | |||
| ee0b72a698 | |||
| d3566330b3 | |||
| aade33d876 | |||
| 4445f72842 | |||
| d43b63e42c | |||
| a32024baa9 |
137
src/app/auth/page.tsx
Normal file
137
src/app/auth/page.tsx
Normal file
@@ -0,0 +1,137 @@
|
||||
"use client";
|
||||
|
||||
import { useState } from "react";
|
||||
import { Mail, Lock, User, ArrowRight } from "lucide-react";
|
||||
|
||||
interface LoginSignupPageProps {
|
||||
onAuthSuccess: () => void;
|
||||
}
|
||||
|
||||
export default function LoginSignupPage({ onAuthSuccess }: LoginSignupPageProps) {
|
||||
const [isLogin, setIsLogin] = useState(true);
|
||||
const [email, setEmail] = useState("");
|
||||
const [password, setPassword] = useState("");
|
||||
const [name, setName] = useState("");
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
|
||||
const handleSubmit = async (e: React.FormEvent) => {
|
||||
e.preventDefault();
|
||||
setIsLoading(true);
|
||||
// Simulate API call
|
||||
setTimeout(() => {
|
||||
setIsLoading(false);
|
||||
onAuthSuccess();
|
||||
}, 1000);
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-gradient-to-br from-background via-background to-background-accent flex items-center justify-center px-4 py-8">
|
||||
<div className="w-full max-w-md">
|
||||
<div className="bg-card rounded-2xl shadow-2xl p-8 md:p-12">
|
||||
{/* Header */}
|
||||
<div className="text-center mb-8">
|
||||
<h1 className="text-4xl md:text-5xl font-bold text-foreground mb-2">
|
||||
PathBound
|
||||
</h1>
|
||||
<p className="text-foreground/60 text-sm md:text-base">
|
||||
{isLogin
|
||||
? "Welcome back. Sign in to continue."
|
||||
: "Create your account to get started."}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Form */}
|
||||
<form onSubmit={handleSubmit} className="space-y-4 mb-6">
|
||||
{!isLogin && (
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-foreground mb-2">
|
||||
Full Name
|
||||
</label>
|
||||
<div className="relative">
|
||||
<User className="absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-accent" />
|
||||
<input
|
||||
type="text"
|
||||
value={name}
|
||||
onChange={(e) => setName(e.target.value)}
|
||||
placeholder="Your full name"
|
||||
className="w-full pl-10 pr-4 py-3 bg-background border border-accent/30 rounded-lg text-foreground placeholder-foreground/40 focus:outline-none focus:border-primary-cta transition-colors"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-foreground mb-2">
|
||||
Email
|
||||
</label>
|
||||
<div className="relative">
|
||||
<Mail className="absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-accent" />
|
||||
<input
|
||||
type="email"
|
||||
value={email}
|
||||
onChange={(e) => setEmail(e.target.value)}
|
||||
placeholder="your@email.com"
|
||||
className="w-full pl-10 pr-4 py-3 bg-background border border-accent/30 rounded-lg text-foreground placeholder-foreground/40 focus:outline-none focus:border-primary-cta transition-colors"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-foreground mb-2">
|
||||
Password
|
||||
</label>
|
||||
<div className="relative">
|
||||
<Lock className="absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-accent" />
|
||||
<input
|
||||
type="password"
|
||||
value={password}
|
||||
onChange={(e) => setPassword(e.target.value)}
|
||||
placeholder="••••••••"
|
||||
className="w-full pl-10 pr-4 py-3 bg-background border border-accent/30 rounded-lg text-foreground placeholder-foreground/40 focus:outline-none focus:border-primary-cta transition-colors"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
disabled={isLoading}
|
||||
className="w-full mt-6 bg-primary-cta hover:opacity-90 text-primary-cta-text font-semibold py-3 rounded-lg transition-opacity duration-200 flex items-center justify-center gap-2 disabled:opacity-50"
|
||||
>
|
||||
{isLoading ? (
|
||||
<span>Processing...</span>
|
||||
) : (
|
||||
<>
|
||||
<span>{isLogin ? "Sign In" : "Create Account"}</span>
|
||||
<ArrowRight className="w-4 h-4" />
|
||||
</>
|
||||
)}
|
||||
</button>
|
||||
</form>
|
||||
|
||||
{/* Toggle */}
|
||||
<div className="text-center">
|
||||
<p className="text-foreground/60 text-sm">
|
||||
{isLogin ? "Don't have an account?" : "Already have an account?"}{" "}
|
||||
<button
|
||||
onClick={() => setIsLogin(!isLogin)}
|
||||
className="text-primary-cta font-semibold hover:underline transition-all"
|
||||
>
|
||||
{isLogin ? "Sign up" : "Sign in"}
|
||||
</button>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Demo Notice */}
|
||||
<div className="mt-8 p-4 bg-background rounded-lg border border-accent/30">
|
||||
<p className="text-xs text-foreground/60 text-center">
|
||||
Demo: Enter any email/password to proceed to the dashboard.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
265
src/app/dashboard/page.tsx
Normal file
265
src/app/dashboard/page.tsx
Normal file
@@ -0,0 +1,265 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
|
||||
import HeroBillboardGallery from "@/components/sections/hero/HeroBillboardGallery";
|
||||
import TestimonialAboutCard from "@/components/sections/about/TestimonialAboutCard";
|
||||
import FeatureCardTwentyFour from "@/components/sections/feature/FeatureCardTwentyFour";
|
||||
import MetricCardTen from "@/components/sections/metrics/MetricCardTen";
|
||||
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
|
||||
import ProductCardThree from "@/components/sections/product/ProductCardThree";
|
||||
import TeamCardTen from "@/components/sections/team/TeamCardTen";
|
||||
import FaqDouble from "@/components/sections/faq/FaqDouble";
|
||||
import ContactText from "@/components/sections/contact/ContactText";
|
||||
import FooterCard from "@/components/sections/footer/FooterCard";
|
||||
import { Award, CheckCircle, DollarSign, HelpCircle, Linkedin, MapPin, Twitter, Zap, Github, TrendingUp, LogOut } from "lucide-react";
|
||||
|
||||
interface DashboardPageProps {
|
||||
onLogout: () => void;
|
||||
}
|
||||
|
||||
export default function DashboardPage({ onLogout }: DashboardPageProps) {
|
||||
return (
|
||||
<>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="PathBound"
|
||||
navItems={[
|
||||
{ name: "Truth Score", id: "truth-score" },
|
||||
{ name: "Roadmap", id: "roadmap" },
|
||||
{ name: "Calculator", id: "calculator" },
|
||||
{ name: "Assessments", id: "assessments" },
|
||||
]}
|
||||
button={{ text: "Logout", onClick: onLogout }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroBillboardGallery
|
||||
title="Stop Guessing Start Proving"
|
||||
description="The only platform where your momentum unlocks your future. Verified skills, automated grants, and an end to ghosting."
|
||||
tag="Gamified Career Platform"
|
||||
tagIcon={Zap}
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
buttons={[
|
||||
{ text: "Start Your Roadmap", href: "#" },
|
||||
{ text: "Hire with Grants", href: "#" },
|
||||
]}
|
||||
mediaItems={[
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-dynamic-rpg-style-dashboard-showing-a--1772729677584-775d969b.png", imageAlt: "Momentum Surge Meter"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/skill-verification-badges-floating-in-sp-1772729679821-cbedc9c4.png", imageAlt: "Verification Badges"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/an-interactive-skill-tree-visualization--1772729678598-e304a460.png", imageAlt: "Skill Tree Progression"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-diverse-group-of-young-professionals-a-1772729678118-d33bbead.png", imageAlt: "Success Stories"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-game-like-achievement-hub-interface-sh-1772729681627-5ceca222.png", imageAlt: "Achievement Hub"
|
||||
},
|
||||
]}
|
||||
mediaAnimation="none"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="truth-score" data-section="truth-score">
|
||||
<TestimonialAboutCard
|
||||
tag="Verified Competency"
|
||||
tagIcon={CheckCircle}
|
||||
title="Your Truth Score Unlocks Opportunity"
|
||||
description="Real-time readiness assessment"
|
||||
subdescription="0-100 verified skill metrics"
|
||||
icon={TrendingUp}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-comprehensive-truth-score-dashboard-di-1772729678661-eb07c9e2.png"
|
||||
imageAlt="Truth Score Dashboard Interface"
|
||||
mediaAnimation="none"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="roadmap" data-section="roadmap">
|
||||
<FeatureCardTwentyFour
|
||||
title="Personalized Path Roadmap"
|
||||
description="Watch your career progression unlock stage by stage. From Rudimentary to Sought After—every milestone celebrated."
|
||||
tag="Skill-Based Growth"
|
||||
tagIcon={MapPin}
|
||||
features={[
|
||||
{
|
||||
id: "rudimentary", title: "Rudimentary Foundation", author: "Build Core Skills", description: "Establish fundamental competencies and foundational knowledge in your chosen domain.", tags: ["Beginner", "Foundation"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-vertical-career-roadmap-timeline-with--1772729678906-445f8271.png?_wi=1", imageAlt: "Roadmap Foundation Level"
|
||||
},
|
||||
{
|
||||
id: "competitive", title: "Competitive Edge", author: "Advance Expertise", description: "Achieve industry-standard proficiency and join the competitive talent pool.", tags: ["Intermediate", "Advancing"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-vertical-career-roadmap-timeline-with--1772729678906-445f8271.png?_wi=2", imageAlt: "Roadmap Competitive Level"
|
||||
},
|
||||
{
|
||||
id: "sought-after", title: "Sought After Expert", author: "Master Status", description: "Become the talent every company wants to hire—premium verified expertise.", tags: ["Expert", "Elite"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-vertical-career-roadmap-timeline-with--1772729678906-445f8271.png?_wi=3", imageAlt: "Roadmap Expert Level"
|
||||
},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="calculator" data-section="calculator">
|
||||
<MetricCardTen
|
||||
title="SME True Cost Calculator"
|
||||
description="Discover how government grants offset hiring costs. Enter salary range, apply grants, see real net cost."
|
||||
tag="Hiring Intel"
|
||||
tagIcon={DollarSign}
|
||||
metrics={[
|
||||
{
|
||||
id: "entry-level", title: "Entry-Level Specialist", subtitle: "0-2 years experience · Full-time", category: "Talent", value: "$45K net cost", buttons: [{ text: "Calculate", href: "#" }],
|
||||
},
|
||||
{
|
||||
id: "mid-level", title: "Mid-Level Professional", subtitle: "3-5 years experience · Full-time", category: "Talent", value: "$62K net cost", buttons: [{ text: "Calculate", href: "#" }],
|
||||
},
|
||||
{
|
||||
id: "senior-expert", title: "Senior Expert Verified", subtitle: "5+ years verified skills · Full-time", category: "Talent", value: "$85K net cost", buttons: [{ text: "Calculate", href: "#" }],
|
||||
},
|
||||
{
|
||||
id: "sought-after", title: "Sought After Specialist", subtitle: "Mastery verified · Full-time", category: "Premium", value: "$110K net cost", buttons: [{ text: "Calculate", href: "#" }],
|
||||
},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="wall-of-fame" data-section="wall-of-fame">
|
||||
<SocialProofOne
|
||||
title="Anti-Ghosting Wall of Fame"
|
||||
description="Companies committed to transparent hiring and fair response rates. Platinum and Obsidian tier commitment."
|
||||
tag="FairHire Verified"
|
||||
tagIcon={Award}
|
||||
names={[
|
||||
"TechFlow Inc", "GrowthCo", "Innovate Labs", "CloudSync Pro", "DataCore Systems", "SkillMatch Ventures", "FutureForward Tech", "MeritBased Corp"
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
speed={35}
|
||||
showCard={true}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="assessments" data-section="assessments">
|
||||
<ProductCardThree
|
||||
title="Assessment Marketplace"
|
||||
description="Challenges and Job Simulations. Earn transferable badges and unlock skill-gated opportunities."
|
||||
tag="Verify Your Skills"
|
||||
tagIcon={Zap}
|
||||
products={[
|
||||
{
|
||||
id: "bronze-challenge", name: "Python Fundamentals Challenge", price: "Bronze Badge", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/challenge-and-job-simulation-cards-arran-1772729679727-0c1dc6e7.png?_wi=1", imageAlt: "Bronze Level Python Challenge", initialQuantity: 1,
|
||||
},
|
||||
{
|
||||
id: "silver-simulation", name: "Full-Stack Job Simulation", price: "Silver Badge", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/challenge-and-job-simulation-cards-arran-1772729679727-0c1dc6e7.png?_wi=2", imageAlt: "Silver Level Full-Stack Simulation", initialQuantity: 1,
|
||||
},
|
||||
{
|
||||
id: "gold-expert", name: "System Design Mastery", price: "Gold Badge", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/challenge-and-job-simulation-cards-arran-1772729679727-0c1dc6e7.png?_wi=3", imageAlt: "Gold Level System Design", initialQuantity: 1,
|
||||
},
|
||||
]}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="achievement-hub" data-section="achievement-hub">
|
||||
<TeamCardTen
|
||||
title="Your Achievement Hub Awaits"
|
||||
tag="Candidate Portal"
|
||||
members={[
|
||||
{
|
||||
id: "mentor-slot", name: "Under the Wing Mentorship", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-subject-matter-expert-in-a-professiona-1772729677785-c6572a75.png", imageAlt: "Mentor Connection"
|
||||
},
|
||||
{
|
||||
id: "job-unlock", name: "Skill-Gated Job Unlock", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-hiring-manager-reviewing-verified-cand-1772729678148-ae00c41d.png", imageAlt: "Job Opportunity"
|
||||
},
|
||||
{
|
||||
id: "badge-display", name: "Transferable Badge Collection", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/challenge-and-job-simulation-cards-arran-1772729679727-0c1dc6e7.png?_wi=4", imageAlt: "Badge Showcase"
|
||||
},
|
||||
]}
|
||||
membersAnimation="slide-up"
|
||||
memberVariant="card"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<FaqDouble
|
||||
title="Frequently Asked Questions"
|
||||
description="Everything you need to know about PathBound's gamified career platform."
|
||||
tag="Support"
|
||||
tagIcon={HelpCircle}
|
||||
faqs={[
|
||||
{
|
||||
id: "1", title: "How does the Truth Score work?", content: "Your Truth Score is a real-time 0-100 assessment combining verified skill assessments, project completions, and peer verification. It reflects your actual market competency, not just credentials."
|
||||
},
|
||||
{
|
||||
id: "2", title: "What are government grants integrated?", content: "PathBound automates grant application matching for companies hiring verified talent. This can offset 30-60% of hiring costs, making top talent acquisition more affordable."
|
||||
},
|
||||
{
|
||||
id: "3", title: "Can I see my skill-tree progress?", content: "Yes! Your personalized roadmap shows progression from Rudimentary → Competitive → Sought After. Each milestone is tracked, celebrated, and tied to real job opportunities."
|
||||
},
|
||||
{
|
||||
id: "4", title: "How do assessment badges transfer?", content: "Badges earned from challenges and simulations are verifiable credentials that move with your profile across opportunities. Employers recognize them as proof of applied skills."
|
||||
},
|
||||
{
|
||||
id: "5", title: "What prevents ghosting on PathBound?", content: "The Anti-Ghosting Wall of Fame showcases companies with high response rates and FairHire certification. Transparent metrics hold everyone accountable."
|
||||
},
|
||||
{
|
||||
id: "6", title: "How do SMEs find talent to mentor?", content: "Subject matter experts use our platform to discover emerging talent matching their expertise. Under the Wing mentorships unlock career acceleration and grant opportunities."
|
||||
},
|
||||
]}
|
||||
faqsAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
animationType="smooth"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="cta-section" data-section="cta-section">
|
||||
<ContactText
|
||||
text="Ready to unlock your momentum? Join the revolution in transparent, merit-based hiring."
|
||||
animationType="entrance-slide"
|
||||
buttons={[
|
||||
{ text: "Start Your Roadmap", href: "#" },
|
||||
{ text: "Explore Assessments", href: "#" },
|
||||
]}
|
||||
background={{ variant: "radial-gradient" }}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterCard
|
||||
logoText="PathBound"
|
||||
copyrightText="© 2025 PathBound | Gamified Career Platform"
|
||||
socialLinks={[
|
||||
{
|
||||
icon: Linkedin,
|
||||
href: "https://linkedin.com/company/pathbound", ariaLabel: "PathBound on LinkedIn"
|
||||
},
|
||||
{
|
||||
icon: Twitter,
|
||||
href: "https://twitter.com/pathbound", ariaLabel: "PathBound on Twitter"
|
||||
},
|
||||
{
|
||||
icon: Github,
|
||||
href: "https://github.com/pathbound", ariaLabel: "PathBound on GitHub"
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -1,57 +1,22 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Halant } from "next/font/google";
|
||||
import { Inter } from "next/font/google";
|
||||
import { Nunito } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
import "./styles/variables.css";
|
||||
import "./styles/base.css";
|
||||
|
||||
const halant = Halant({
|
||||
variable: "--font-halant", subsets: ["latin"],
|
||||
weight: ["300", "400", "500", "600", "700"],
|
||||
});
|
||||
|
||||
const inter = Inter({
|
||||
variable: "--font-inter", subsets: ["latin"],
|
||||
});
|
||||
|
||||
const nunito = Nunito({
|
||||
variable: "--font-nunito", subsets: ["latin"],
|
||||
});
|
||||
const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "PathBound | Stop Guessing, Start Proving Your Skills", description: "The gamified platform connecting verified talent with opportunity through transparent skills, government grants, and mentorship—no ghosting guaranteed.", keywords: "skill verification, merit-based hiring, career platform, government grants, talent matching, fintech, RPG gamification", metadataBase: new URL("https://pathbound.io"),
|
||||
alternates: {
|
||||
canonical: "https://pathbound.io"},
|
||||
openGraph: {
|
||||
title: "PathBound | Stop Guessing, Start Proving", description: "Verified skills, automated grants, and transparent career pathways for early-career professionals.", url: "https://pathbound.io", siteName: "PathBound", type: "website", images: [
|
||||
{
|
||||
url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-dynamic-rpg-style-dashboard-showing-a--1772729677584-775d969b.png", alt: "PathBound Momentum Meter Dashboard"},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image", title: "PathBound | Stop Guessing, Start Proving", description: "Gamified career platform with verified skills and no ghosting.", images: ["https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/skill-verification-badges-floating-in-sp-1772729679821-cbedc9c4.png"],
|
||||
},
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true,
|
||||
},
|
||||
};
|
||||
title: "PathBound", description: "Gamified Career Platform"};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
}) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body
|
||||
className={`${halant.variable} ${inter.variable} ${nunito.variable} antialiased`}
|
||||
>
|
||||
<Tag />
|
||||
{children}
|
||||
|
||||
<html lang="en">
|
||||
<body className={inter.className}>{children}
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
@@ -1419,7 +1384,6 @@ export default function RootLayout({
|
||||
}}
|
||||
/>
|
||||
</body>
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
249
src/app/page.tsx
249
src/app/page.tsx
@@ -2,19 +2,13 @@
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
|
||||
import HeroBillboardGallery from "@/components/sections/hero/HeroBillboardGallery";
|
||||
import TestimonialAboutCard from "@/components/sections/about/TestimonialAboutCard";
|
||||
import FeatureCardTwentyFour from "@/components/sections/feature/FeatureCardTwentyFour";
|
||||
import MetricCardTen from "@/components/sections/metrics/MetricCardTen";
|
||||
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
|
||||
import ProductCardThree from "@/components/sections/product/ProductCardThree";
|
||||
import TeamCardTen from "@/components/sections/team/TeamCardTen";
|
||||
import FaqDouble from "@/components/sections/faq/FaqDouble";
|
||||
import ContactText from "@/components/sections/contact/ContactText";
|
||||
import FooterCard from "@/components/sections/footer/FooterCard";
|
||||
import { Award, CheckCircle, DollarSign, HelpCircle, Linkedin, MapPin, Twitter, Zap, Github, TrendingUp } from "lucide-react";
|
||||
import { useState } from "react";
|
||||
import LoginSignupPage from "./auth/page";
|
||||
import DashboardPage from "./dashboard/page";
|
||||
|
||||
export default function HomePage() {
|
||||
const [isAuthenticated, setIsAuthenticated] = useState(false);
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="shift-hover"
|
||||
@@ -41,232 +35,11 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroBillboardGallery
|
||||
title="Stop Guessing Start Proving"
|
||||
description="The only platform where your momentum unlocks your future. Verified skills, automated grants, and an end to ghosting."
|
||||
tag="Gamified Career Platform"
|
||||
tagIcon={Zap}
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
buttons={[
|
||||
{ text: "Start Your Roadmap", href: "#" },
|
||||
{ text: "Hire with Grants", href: "#" },
|
||||
]}
|
||||
mediaItems={[
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-dynamic-rpg-style-dashboard-showing-a--1772729677584-775d969b.png", imageAlt: "Momentum Surge Meter"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/skill-verification-badges-floating-in-sp-1772729679821-cbedc9c4.png", imageAlt: "Verification Badges"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/an-interactive-skill-tree-visualization--1772729678598-e304a460.png", imageAlt: "Skill Tree Progression"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-diverse-group-of-young-professionals-a-1772729678118-d33bbead.png", imageAlt: "Success Stories"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-game-like-achievement-hub-interface-sh-1772729681627-5ceca222.png", imageAlt: "Achievement Hub"
|
||||
},
|
||||
]}
|
||||
mediaAnimation="none"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="truth-score" data-section="truth-score">
|
||||
<TestimonialAboutCard
|
||||
tag="Verified Competency"
|
||||
tagIcon={CheckCircle}
|
||||
title="Your Truth Score Unlocks Opportunity"
|
||||
description="Real-time readiness assessment"
|
||||
subdescription="0-100 verified skill metrics"
|
||||
icon={TrendingUp}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-comprehensive-truth-score-dashboard-di-1772729678661-eb07c9e2.png"
|
||||
imageAlt="Truth Score Dashboard Interface"
|
||||
mediaAnimation="none"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="roadmap" data-section="roadmap">
|
||||
<FeatureCardTwentyFour
|
||||
title="Personalized Path Roadmap"
|
||||
description="Watch your career progression unlock stage by stage. From Rudimentary to Sought After—every milestone celebrated."
|
||||
tag="Skill-Based Growth"
|
||||
tagIcon={MapPin}
|
||||
features={[
|
||||
{
|
||||
id: "rudimentary", title: "Rudimentary Foundation", author: "Build Core Skills", description: "Establish fundamental competencies and foundational knowledge in your chosen domain.", tags: ["Beginner", "Foundation"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-vertical-career-roadmap-timeline-with--1772729678906-445f8271.png?_wi=1", imageAlt: "Roadmap Foundation Level"
|
||||
},
|
||||
{
|
||||
id: "competitive", title: "Competitive Edge", author: "Advance Expertise", description: "Achieve industry-standard proficiency and join the competitive talent pool.", tags: ["Intermediate", "Advancing"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-vertical-career-roadmap-timeline-with--1772729678906-445f8271.png?_wi=2", imageAlt: "Roadmap Competitive Level"
|
||||
},
|
||||
{
|
||||
id: "sought-after", title: "Sought After Expert", author: "Master Status", description: "Become the talent every company wants to hire—premium verified expertise.", tags: ["Expert", "Elite"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-vertical-career-roadmap-timeline-with--1772729678906-445f8271.png?_wi=3", imageAlt: "Roadmap Expert Level"
|
||||
},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="calculator" data-section="calculator">
|
||||
<MetricCardTen
|
||||
title="SME True Cost Calculator"
|
||||
description="Discover how government grants offset hiring costs. Enter salary range, apply grants, see real net cost."
|
||||
tag="Hiring Intel"
|
||||
tagIcon={DollarSign}
|
||||
metrics={[
|
||||
{
|
||||
id: "entry-level", title: "Entry-Level Specialist", subtitle: "0-2 years experience · Full-time", category: "Talent", value: "$45K net cost", buttons: [{ text: "Calculate", href: "#" }],
|
||||
},
|
||||
{
|
||||
id: "mid-level", title: "Mid-Level Professional", subtitle: "3-5 years experience · Full-time", category: "Talent", value: "$62K net cost", buttons: [{ text: "Calculate", href: "#" }],
|
||||
},
|
||||
{
|
||||
id: "senior-expert", title: "Senior Expert Verified", subtitle: "5+ years verified skills · Full-time", category: "Talent", value: "$85K net cost", buttons: [{ text: "Calculate", href: "#" }],
|
||||
},
|
||||
{
|
||||
id: "sought-after", title: "Sought After Specialist", subtitle: "Mastery verified · Full-time", category: "Premium", value: "$110K net cost", buttons: [{ text: "Calculate", href: "#" }],
|
||||
},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="wall-of-fame" data-section="wall-of-fame">
|
||||
<SocialProofOne
|
||||
title="Anti-Ghosting Wall of Fame"
|
||||
description="Companies committed to transparent hiring and fair response rates. Platinum and Obsidian tier commitment."
|
||||
tag="FairHire Verified"
|
||||
tagIcon={Award}
|
||||
names={[
|
||||
"TechFlow Inc", "GrowthCo", "Innovate Labs", "CloudSync Pro", "DataCore Systems", "SkillMatch Ventures", "FutureForward Tech", "MeritBased Corp"
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
speed={35}
|
||||
showCard={true}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="assessments" data-section="assessments">
|
||||
<ProductCardThree
|
||||
title="Assessment Marketplace"
|
||||
description="Challenges and Job Simulations. Earn transferable badges and unlock skill-gated opportunities."
|
||||
tag="Verify Your Skills"
|
||||
tagIcon={Zap}
|
||||
products={[
|
||||
{
|
||||
id: "bronze-challenge", name: "Python Fundamentals Challenge", price: "Bronze Badge", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/challenge-and-job-simulation-cards-arran-1772729679727-0c1dc6e7.png?_wi=1", imageAlt: "Bronze Level Python Challenge", initialQuantity: 1,
|
||||
},
|
||||
{
|
||||
id: "silver-simulation", name: "Full-Stack Job Simulation", price: "Silver Badge", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/challenge-and-job-simulation-cards-arran-1772729679727-0c1dc6e7.png?_wi=2", imageAlt: "Silver Level Full-Stack Simulation", initialQuantity: 1,
|
||||
},
|
||||
{
|
||||
id: "gold-expert", name: "System Design Mastery", price: "Gold Badge", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/challenge-and-job-simulation-cards-arran-1772729679727-0c1dc6e7.png?_wi=3", imageAlt: "Gold Level System Design", initialQuantity: 1,
|
||||
},
|
||||
]}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="achievement-hub" data-section="achievement-hub">
|
||||
<TeamCardTen
|
||||
title="Your Achievement Hub Awaits"
|
||||
tag="Candidate Portal"
|
||||
members={[
|
||||
{
|
||||
id: "mentor-slot", name: "Under the Wing Mentorship", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-subject-matter-expert-in-a-professiona-1772729677785-c6572a75.png", imageAlt: "Mentor Connection"
|
||||
},
|
||||
{
|
||||
id: "job-unlock", name: "Skill-Gated Job Unlock", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/a-hiring-manager-reviewing-verified-cand-1772729678148-ae00c41d.png", imageAlt: "Job Opportunity"
|
||||
},
|
||||
{
|
||||
id: "badge-display", name: "Transferable Badge Collection", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXC1iC7n8wpgGHKDNrNvntOAHx/challenge-and-job-simulation-cards-arran-1772729679727-0c1dc6e7.png?_wi=4", imageAlt: "Badge Showcase"
|
||||
},
|
||||
]}
|
||||
membersAnimation="slide-up"
|
||||
memberVariant="card"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<FaqDouble
|
||||
title="Frequently Asked Questions"
|
||||
description="Everything you need to know about PathBound's gamified career platform."
|
||||
tag="Support"
|
||||
tagIcon={HelpCircle}
|
||||
faqs={[
|
||||
{
|
||||
id: "1", title: "How does the Truth Score work?", content: "Your Truth Score is a real-time 0-100 assessment combining verified skill assessments, project completions, and peer verification. It reflects your actual market competency, not just credentials."
|
||||
},
|
||||
{
|
||||
id: "2", title: "What are government grants integrated?", content: "PathBound automates grant application matching for companies hiring verified talent. This can offset 30-60% of hiring costs, making top talent acquisition more affordable."
|
||||
},
|
||||
{
|
||||
id: "3", title: "Can I see my skill-tree progress?", content: "Yes! Your personalized roadmap shows progression from Rudimentary → Competitive → Sought After. Each milestone is tracked, celebrated, and tied to real job opportunities."
|
||||
},
|
||||
{
|
||||
id: "4", title: "How do assessment badges transfer?", content: "Badges earned from challenges and simulations are verifiable credentials that move with your profile across opportunities. Employers recognize them as proof of applied skills."
|
||||
},
|
||||
{
|
||||
id: "5", title: "What prevents ghosting on PathBound?", content: "The Anti-Ghosting Wall of Fame showcases companies with high response rates and FairHire certification. Transparent metrics hold everyone accountable."
|
||||
},
|
||||
{
|
||||
id: "6", title: "How do SMEs find talent to mentor?", content: "Subject matter experts use our platform to discover emerging talent matching their expertise. Under the Wing mentorships unlock career acceleration and grant opportunities."
|
||||
},
|
||||
]}
|
||||
faqsAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
animationType="smooth"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="cta-section" data-section="cta-section">
|
||||
<ContactText
|
||||
text="Ready to unlock your momentum? Join the revolution in transparent, merit-based hiring."
|
||||
animationType="entrance-slide"
|
||||
buttons={[
|
||||
{ text: "Start Your Roadmap", href: "#" },
|
||||
{ text: "Explore Assessments", href: "#" },
|
||||
]}
|
||||
background={{ variant: "radial-gradient" }}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterCard
|
||||
logoText="PathBound"
|
||||
copyrightText="© 2025 PathBound | Gamified Career Platform"
|
||||
socialLinks={[
|
||||
{
|
||||
icon: Linkedin,
|
||||
href: "https://linkedin.com/company/pathbound", ariaLabel: "PathBound on LinkedIn"
|
||||
},
|
||||
{
|
||||
icon: Twitter,
|
||||
href: "https://twitter.com/pathbound", ariaLabel: "PathBound on Twitter"
|
||||
},
|
||||
{
|
||||
icon: Github,
|
||||
href: "https://github.com/pathbound", ariaLabel: "PathBound on GitHub"
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
{!isAuthenticated ? (
|
||||
<LoginSignupPage onAuthSuccess={() => setIsAuthenticated(true)} />
|
||||
) : (
|
||||
<DashboardPage onLogout={() => setIsAuthenticated(false)} />
|
||||
)}
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user