import { A } from '@solidjs/router'; import { createMemo, createSignal, For, onCleanup, onMount, Show } from 'solid-js'; type RoleCard = { title: string; description: string; button: string; href: string; image: string; chip: string; }; const roleCards: RoleCard[] = [ { title: 'Post a Job', description: 'Create verified job openings and find the right talent faster.', button: 'Start as Company', href: '/onboarding?schemaId=company_onboarding_v1', chip: 'Company', image: 'https://images.unsplash.com/photo-1484480974693-6ca0a78fb36b?q=80&w=800&auto=format&fit=crop', }, { title: 'Apply for Jobs', description: 'Build your profile and apply to approved opportunities quickly.', button: 'Start as Job Seeker', href: '/onboarding?schemaId=jobseeker_onboarding_v1', chip: 'Job Seeker', image: 'https://images.unsplash.com/photo-1586281380349-632531db7ed4?q=80&w=800&auto=format&fit=crop', }, { title: 'Hire a Professional', description: 'Post your requirement and discover trusted specialists.', button: 'Start as Customer', href: '/onboarding?schemaId=customer_onboarding_v1', chip: 'Customer', image: 'https://images.unsplash.com/photo-1450101499163-c8848c66ca85?q=80&w=800&auto=format&fit=crop', }, { title: 'Join as Developer', description: 'Build products and grow with verified client demand.', button: 'Join Developer', href: '/onboarding?schemaId=professional_onboarding_v1&profession=Developer', chip: 'Professional', image: 'https://images.unsplash.com/photo-1498050108023-c5249f4df085?q=80&w=800&auto=format&fit=crop', }, { title: 'Join as Photographer', description: 'Capture events and campaigns with trusted bookings.', button: 'Join Photographer', href: '/onboarding?schemaId=professional_onboarding_v1&profession=Photographer', chip: 'Professional', image: 'https://images.unsplash.com/photo-1516035069371-29a1b244cc32?q=80&w=800&auto=format&fit=crop', }, { title: 'Join as Makeup Artist', description: 'Offer styling services with profile-based trust signals.', button: 'Join Makeup Artist', href: '/onboarding?schemaId=professional_onboarding_v1&profession=Makeup%20Artist', chip: 'Professional', image: 'https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?q=80&w=800&auto=format&fit=crop', }, { title: 'Join as Tutor', description: 'Teach learners and build your reputation with verified profiles.', button: 'Join Tutor', href: '/onboarding?schemaId=professional_onboarding_v1&profession=Tutor', chip: 'Professional', image: 'https://images.unsplash.com/photo-1497633762265-9d179a990aa6?q=80&w=800&auto=format&fit=crop', }, { title: 'Join as Video Editor', description: 'Create compelling edits and work with quality clients.', button: 'Join Video Editor', href: '/onboarding?schemaId=professional_onboarding_v1&profession=Video%20Editor', chip: 'Professional', image: 'https://images.unsplash.com/photo-1574717024653-61fd2cf4d44d?q=80&w=800&auto=format&fit=crop', }, { title: 'Join as Graphic Designer', description: 'Design brand-ready visuals and collaborate with growing businesses.', button: 'Join Graphic Designer', href: '/onboarding?schemaId=professional_onboarding_v1&profession=Graphic%20Designer', chip: 'Professional', image: 'https://images.unsplash.com/photo-1558655146-d09347e92766?q=80&w=800&auto=format&fit=crop', }, { title: 'Join as Social Media Manager', description: 'Plan campaigns and scale audience growth for clients.', button: 'Join Social Manager', href: '/onboarding?schemaId=professional_onboarding_v1&profession=Social%20Media%20Manager', chip: 'Professional', image: 'https://images.unsplash.com/photo-1611162618071-b39a2ec055fb?q=80&w=800&auto=format&fit=crop', }, { title: 'Join as Fitness Trainer', description: 'Coach clients with structured plans and trusted profiles.', button: 'Join Trainer', href: '/onboarding?schemaId=professional_onboarding_v1&profession=Fitness%20Trainer', chip: 'Professional', image: 'https://images.unsplash.com/photo-1517836357463-d25dfeac3438?q=80&w=800&auto=format&fit=crop', }, { title: 'Join as Catering Services', description: 'Showcase event-ready menus to customers and companies.', button: 'Join Catering', href: '/onboarding?schemaId=professional_onboarding_v1&profession=Catering%20Services', chip: 'Professional', image: 'https://images.unsplash.com/photo-1555244162-803834f70033?q=80&w=800&auto=format&fit=crop', }, ]; const benefits = [ { title: 'Verified profiles & businesses', body: 'Identity and profile checks reduce fake submissions and spam.' }, { title: 'Approval-based quality (24-48 hours)', body: 'Profiles, requirements, and jobs are reviewed before visibility.' }, { title: 'Smart matching using tags/skills', body: 'Tag-based relevance helps surface better opportunities faster.' }, { title: 'Focused discovery with filters', body: 'Search and filter tools keep opportunity discovery focused.' }, { title: 'Controlled contact visibility', body: 'Sensitive contact flow remains controlled by role and workflow.' }, { title: 'Notifications & updates', body: 'Track approvals, responses, applications, and key updates.' }, ]; const flows = [ { label: 'Customers', title: 'Need to solution, with verified trust in the middle', description: 'Post your requirement, pass quality checks, and receive focused responses.', image: 'https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?q=80&w=1200&auto=format&fit=crop', steps: [ { title: 'Create account', description: 'Sign up quickly with customer intent.' }, { title: 'Share requirement', description: 'Add budget, scope, and timing.' }, { title: 'Review and verify', description: 'Quality checks run before visibility.' }, { title: 'Track responses', description: 'Monitor replies and status updates.' }, ], }, { label: 'Professionals', title: 'Profile first, opportunity next', description: 'Build profile quality once, then receive better-fit lead discovery.', image: 'https://images.unsplash.com/photo-1461749280684-dccba630e2f6?q=80&w=1200&auto=format&fit=crop', steps: [ { title: 'Pick role and skills', description: 'Choose service category and specialization.' }, { title: 'Build profile', description: 'Add portfolio, strengths, and proof.' }, { title: 'Pass verification', description: 'Approval protects platform trust.' }, { title: 'Respond to opportunities', description: 'Manage matching leads in one flow.' }, ], }, { label: 'Companies', title: 'Hiring workflows without chaos', description: 'Publish requirements, keep quality high, and track applicants clearly.', image: 'https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=1200&auto=format&fit=crop', steps: [ { title: 'Create company profile', description: 'Set hiring context and org details.' }, { title: 'Post requirements', description: 'Publish role details and expectations.' }, { title: 'Approval before publish', description: 'Listings are reviewed first.' }, { title: 'Manage pipeline', description: 'Track candidates and responses.' }, ], }, { label: 'Job Seekers', title: 'Onboard once, apply with confidence', description: 'Get visible only after approval, then discover jobs with targeted filters.', image: 'https://images.unsplash.com/photo-1450101499163-c8848c66ca85?q=80&w=1200&auto=format&fit=crop', steps: [ { title: 'Set up profile', description: 'Complete essentials and work preferences.' }, { title: 'Approval check', description: 'Review keeps quality consistent.' }, { title: 'Explore matching jobs', description: 'Filter by practical criteria.' }, { title: 'Apply and track', description: 'Submit applications and watch status.' }, ], }, ]; const faqs = [ { q: 'What is Nxtgauge?', a: 'Nxtgauge connects customers, professionals, companies, and job seekers in one trusted platform.', }, { q: 'Who can join Nxtgauge?', a: 'Customers, service professionals, companies, and job seekers can create an account and choose their path.', }, { q: 'Why does Nxtgauge require verification?', a: 'Verification helps reduce fake profiles and improves trust across the platform.', }, { q: 'How long does account approval take?', a: 'Most profile approvals are completed within 24-48 hours.', }, { q: 'Do I need to choose my role during signup?', a: 'No. You can sign up once and continue with the role flow that fits you best.', }, ]; export default function PublicLanding() { const [scrolled, setScrolled] = createSignal(false); const [mobileOpen, setMobileOpen] = createSignal(false); const [filter, setFilter] = createSignal<'all' | 'customer' | 'professional' | 'company' | 'jobseeker'>('all'); const [flowIndex, setFlowIndex] = createSignal(0); const [stepIndex, setStepIndex] = createSignal(0); const [openFaq, setOpenFaq] = createSignal(0); onMount(() => { const onScroll = () => setScrolled(window.scrollY > 10); onScroll(); window.addEventListener('scroll', onScroll, { passive: true }); const timer = window.setInterval(() => { setStepIndex((prev) => { const active = flows[flowIndex()]; if (prev + 1 < active.steps.length) return prev + 1; setFlowIndex((f) => (f + 1) % flows.length); return 0; }); }, 3200); onCleanup(() => { window.removeEventListener('scroll', onScroll); window.clearInterval(timer); }); }); const filteredCards = createMemo(() => { const active = filter(); if (active === 'all') return roleCards; if (active === 'customer') return roleCards.filter((x) => x.chip === 'Customer'); if (active === 'professional') return roleCards.filter((x) => x.chip === 'Professional'); if (active === 'company') return roleCards.filter((x) => x.chip === 'Company'); return roleCards.filter((x) => x.chip === 'Job Seeker'); }); return (

Hire verified professionals. Post jobs. Get approvals in 24-48 hours.

Nxtgauge connects customers, companies, job seekers, and professionals through a trusted approval workflow.

Customers

Post requirements with clear intent and receive verified responses.

Professionals

Complete onboarding and verification, then discover relevant leads.

Companies

Create approved job listings and track applications in one workflow.

Job Seekers

Build profile, clear approvals, apply and track opportunities.

Choose Your Path

One account, multiple journeys. Pick your goal and get started.

{(card) => ( )}

Why Nxtgauge

Trust, approvals, and better matching in one flow.

{(item) =>

{item.title}

{item.body}

}

How It Works

Clear journey, zero confusion.

{flows[flowIndex()].label}

{flows[flowIndex()].label}

{flows[flowIndex()].title}

{flows[flowIndex()].description}

{(step, idx) => (
{idx() + 1}

{step.title}

{step.description}

)}

Frequently asked questions

Quick answers before you create your account.

{(item, idx) => (

{item.a}

)}

Quick Actions

Ready to get started?

Pick your next action and continue with the correct role flow.

); }