@burdenoff/microfe-proserviceworld 2026.624.1 → 2026.625.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/proserviceworld/pages/AdminReportsPage.js +365 -332
- package/dist/proserviceworld/pages/AdminReportsPage.js.map +1 -1
- package/dist/proserviceworld/pages/AdminUsersPage.js +257 -237
- package/dist/proserviceworld/pages/AdminUsersPage.js.map +1 -1
- package/dist/proserviceworld/pages/AnalyticsPage.js +343 -315
- package/dist/proserviceworld/pages/AnalyticsPage.js.map +1 -1
- package/dist/proserviceworld/pages/BookingsPage.js +191 -174
- package/dist/proserviceworld/pages/BookingsPage.js.map +1 -1
- package/dist/proserviceworld/pages/DashboardPage.js +383 -346
- package/dist/proserviceworld/pages/DashboardPage.js.map +1 -1
- package/dist/proserviceworld/pages/DocumentsPage.js +383 -318
- package/dist/proserviceworld/pages/DocumentsPage.js.map +1 -1
- package/dist/proserviceworld/pages/MessagesPage.js +70 -75
- package/dist/proserviceworld/pages/MessagesPage.js.map +1 -1
- package/dist/proserviceworld/pages/PaymentsPage.js +367 -340
- package/dist/proserviceworld/pages/PaymentsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ProjectsPage.js +428 -381
- package/dist/proserviceworld/pages/ProjectsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ProviderDetailPage.js +390 -346
- package/dist/proserviceworld/pages/ProviderDetailPage.js.map +1 -1
- package/dist/proserviceworld/pages/ProvidersPage.js +245 -244
- package/dist/proserviceworld/pages/ProvidersPage.js.map +1 -1
- package/dist/proserviceworld/pages/ReviewsPage.js +14 -14
- package/dist/proserviceworld/pages/ReviewsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ServiceDetailsPage.js +338 -305
- package/dist/proserviceworld/pages/ServiceDetailsPage.js.map +1 -1
- package/dist/proserviceworld/pages/ServicesPage.js +156 -153
- package/dist/proserviceworld/pages/ServicesPage.js.map +1 -1
- package/dist/proserviceworld/pages/VerificationPage.js +260 -251
- package/dist/proserviceworld/pages/VerificationPage.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerificationPage.js","names":[],"sources":["../../../src/proserviceworld/pages/VerificationPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { Badge, Button, Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport {\n CheckCircle2,\n Clock,\n AlertTriangle,\n XCircle,\n Shield,\n Mail,\n Phone,\n Fingerprint,\n MapPin,\n Building2,\n Award,\n FileSearch,\n ChevronRight,\n Upload,\n ArrowRight,\n} from 'lucide-react';\nimport { useProServiceWorldStore } from '../store/proserviceworldStore';\nimport type { VerificationStepStatus } from '../types';\n\nconst statusConfig: Record<\n VerificationStepStatus,\n { icon: typeof CheckCircle2; color: string; bgColor: string; label: string }\n> = {\n completed: {\n icon: CheckCircle2,\n color: 'text-green-600',\n bgColor: 'bg-green-100 dark:bg-green-950',\n label: 'Completed',\n },\n pending: {\n icon: Clock,\n color: 'text-gray-400',\n bgColor: 'bg-gray-100 dark:bg-gray-800',\n label: 'Pending',\n },\n in_progress: {\n icon: Clock,\n color: 'text-blue-600',\n bgColor: 'bg-blue-100 dark:bg-blue-950',\n label: 'In Progress',\n },\n failed: {\n icon: XCircle,\n color: 'text-red-600',\n bgColor: 'bg-red-100 dark:bg-red-950',\n label: 'Failed',\n },\n};\n\nconst stepIcons: Record<string, typeof Mail> = {\n 'Email Verification': Mail,\n 'Phone Verification': Phone,\n 'Identity Verification': Fingerprint,\n 'Address Verification': MapPin,\n 'Business Verification': Building2,\n 'Professional Verification': Award,\n 'Background Check': FileSearch,\n};\n\nexport function VerificationPage() {\n const { verificationSteps } = useProServiceWorldStore();\n const [selectedStepId, setSelectedStepId] = useState<string | null>(null);\n\n const completedCount = verificationSteps.filter((s) => s.status === 'completed').length;\n const totalSteps = verificationSteps.length;\n const requiredSteps = verificationSteps.filter((s) => s.required);\n const requiredCompleted = requiredSteps.filter((s) => s.status === 'completed').length;\n const progressPercent = Math.round((completedCount / totalSteps) * 100);\n\n const selectedStep = selectedStepId\n ? verificationSteps.find((s) => s.id === selectedStepId)\n : null;\n\n return (\n <div className=\"space-y-6 p-6\">\n {/* Header */}\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Verification</h1>\n <p className=\"text-sm text-text-secondary\">\n Complete verification steps to unlock full platform features and build trust.\n </p>\n </div>\n <Badge variant={progressPercent === 100 ? 'default' : 'secondary'} className=\"text-sm\">\n <Shield className=\"mr-2 h-4 w-4\" />\n {progressPercent}% Verified\n </Badge>\n </div>\n\n {/* Overall progress */}\n <Card>\n <CardContent className=\"pt-6\">\n <div className=\"grid gap-6 sm:grid-cols-3\">\n <div className=\"space-y-2\">\n <p className=\"text-sm text-text-secondary\">Overall Progress</p>\n <p className=\"text-3xl font-bold\">\n {completedCount}/{totalSteps}\n </p>\n <div className=\"h-3 overflow-hidden rounded-full bg-bg-sunken\">\n <div\n className=\"h-3 rounded-full bg-action-primary-bg transition-all\"\n style={{ width: `${progressPercent}%` }}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <p className=\"text-sm text-text-secondary\">Required Steps</p>\n <p className=\"text-3xl font-bold\">\n {requiredCompleted}/{requiredSteps.length}\n </p>\n <div className=\"h-3 overflow-hidden rounded-full bg-bg-sunken\">\n <div\n className=\"h-3 rounded-full bg-green-500 transition-all\"\n style={{\n width: `${requiredSteps.length > 0 ? Math.round((requiredCompleted / requiredSteps.length) * 100) : 0}%`,\n }}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <p className=\"text-sm text-text-secondary\">Trust Level</p>\n <p className=\"text-3xl font-bold\">\n {progressPercent >= 80 ? 'High' : progressPercent >= 40 ? 'Medium' : 'Low'}\n </p>\n <div className=\"flex gap-1\">\n {[1, 2, 3, 4, 5].map((level) => (\n <div\n key={level}\n className={`h-3 flex-1 rounded-full ${\n level <= Math.ceil(progressPercent / 20) ? 'bg-action-primary-bg' : 'bg-bg-sunken'\n }`}\n />\n ))}\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <div className=\"grid gap-6 lg:grid-cols-3\">\n {/* Steps list */}\n <div className=\"space-y-3 lg:col-span-2\">\n <h2 className=\"text-sm font-medium text-text-secondary\">Verification Steps</h2>\n {verificationSteps.map((step, idx) => {\n const cfg = statusConfig[step.status];\n const StatusIcon = cfg.icon;\n const StepIcon = stepIcons[step.title] ?? Shield;\n const isLast = idx === verificationSteps.length - 1;\n\n return (\n <div key={step.id} className=\"relative\">\n {/* Connector line */}\n {!isLast && (\n <div className=\"absolute left-[23px] top-[52px] h-[calc(100%-16px)] w-0.5 bg-bg-sunken z-0\" />\n )}\n\n <button\n onClick={() => setSelectedStepId(selectedStepId === step.id ? null : step.id)}\n className={`relative z-10 w-full rounded-lg border p-4 text-left transition-colors ${\n selectedStepId === step.id ? 'border-primary bg-action-primary-bg/5' : 'hover:bg-bg-sunken/50'\n } ${step.status === 'completed' ? 'opacity-80' : ''}`}\n >\n <div className=\"flex items-start gap-4\">\n {/* Step icon */}\n <div className={`shrink-0 rounded-full p-2 ${cfg.bgColor}`}>\n <StepIcon className={`h-5 w-5 ${cfg.color}`} />\n </div>\n\n {/* Content */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <h3\n className={`font-medium ${step.status === 'completed' ? 'line-through text-text-secondary' : ''}`}\n >\n {step.title}\n </h3>\n {step.required && (\n <Badge variant=\"destructive\" className=\"text-xs\">\n Required\n </Badge>\n )}\n </div>\n <p className=\"mt-0.5 text-sm text-text-secondary\">{step.description}</p>\n\n <div className=\"mt-2 flex items-center gap-3\">\n <div className=\"flex items-center gap-1\">\n <StatusIcon className={`h-4 w-4 ${cfg.color}`} />\n <span className={`text-xs font-medium ${cfg.color}`}>{cfg.label}</span>\n </div>\n {step.completedAt && (\n <span className=\"text-xs text-text-secondary\">\n Completed on {step.completedAt}\n </span>\n )}\n </div>\n </div>\n\n <ChevronRight className=\"h-5 w-5 shrink-0 text-text-secondary\" />\n </div>\n </button>\n </div>\n );\n })}\n </div>\n\n {/* Detail panel */}\n <div className=\"space-y-4\">\n {selectedStep ? (\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">{selectedStep.title}</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <p className=\"text-sm text-text-secondary\">{selectedStep.description}</p>\n\n <div className=\"flex items-center gap-2\">\n {(() => {\n const cfg = statusConfig[selectedStep.status];\n const Icon = cfg.icon;\n return (\n <>\n <Icon className={`h-5 w-5 ${cfg.color}`} />\n <span className={`font-medium ${cfg.color}`}>{cfg.label}</span>\n </>\n );\n })()}\n </div>\n\n {selectedStep.required && (\n <div className=\"flex items-center gap-2 rounded-lg bg-red-50 p-3 dark:bg-red-950\">\n <AlertTriangle className=\"h-4 w-4 text-red-600\" />\n <span className=\"text-sm text-red-700 dark:text-red-400\">\n This step is required for full platform access.\n </span>\n </div>\n )}\n\n {selectedStep.completedAt && (\n <div className=\"rounded-lg bg-green-50 p-3 dark:bg-green-950\">\n <p className=\"text-sm text-green-700 dark:text-green-400\">\n Completed on {selectedStep.completedAt}\n </p>\n </div>\n )}\n\n {selectedStep.status === 'pending' && (\n <div className=\"space-y-3\">\n {selectedStep.title === 'Phone Verification' && (\n <div className=\"space-y-2\">\n <p className=\"text-sm font-medium\">Enter your phone number</p>\n <div className=\"flex gap-2\">\n <input\n type=\"tel\"\n className=\"flex-1 rounded border bg-bg-surface px-3 py-2 text-sm\"\n placeholder=\"+1 (555) 000-0000\"\n />\n <Button size=\"sm\">\n Send Code <ArrowRight className=\"ml-2 h-4 w-4\" />\n </Button>\n </div>\n </div>\n )}\n {selectedStep.title === 'Identity Verification' && (\n <div className=\"space-y-2\">\n <p className=\"text-sm font-medium\">Upload a government-issued ID</p>\n <div className=\"flex flex-col items-center justify-center rounded-lg border-2 border-dashed p-6\">\n <Upload className=\"h-8 w-8 text-text-secondary\" />\n <p className=\"mt-2 text-xs text-text-secondary\">\n Drag & drop or click to upload\n </p>\n <p className=\"text-xs text-text-secondary\">\n Passport, Driver's License, or National ID\n </p>\n </div>\n <Button className=\"w-full\">\n <Upload className=\"mr-2 h-4 w-4\" /> Upload Document\n </Button>\n </div>\n )}\n {selectedStep.title !== 'Phone Verification' &&\n selectedStep.title !== 'Identity Verification' && (\n <Button className=\"w-full\">\n Start Verification <ArrowRight className=\"ml-2 h-4 w-4\" />\n </Button>\n )}\n </div>\n )}\n\n {selectedStep.status === 'failed' && (\n <Button variant=\"destructive\" className=\"w-full\">\n Retry Verification\n </Button>\n )}\n </CardContent>\n </Card>\n ) : (\n <Card>\n <CardContent className=\"py-12 text-center\">\n <Shield className=\"mx-auto h-10 w-10 text-text-secondary/50\" />\n <p className=\"mt-2 text-sm font-medium\">Select a step</p>\n <p className=\"text-xs text-text-secondary\">\n Click on a verification step to see details and take action.\n </p>\n </CardContent>\n </Card>\n )}\n\n {/* Benefits card */}\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Verification Benefits</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {[\n { label: 'Higher search ranking', unlockAt: 20 },\n { label: 'Featured provider badge', unlockAt: 40 },\n { label: 'Priority support access', unlockAt: 60 },\n { label: 'Premium service listings', unlockAt: 80 },\n { label: 'Verified trust seal', unlockAt: 100 },\n ].map((benefit) => (\n <div\n key={benefit.label}\n className={`flex items-center gap-2 rounded p-2 text-sm ${\n progressPercent >= benefit.unlockAt\n ? 'text-text-primary'\n : 'text-text-secondary'\n }`}\n >\n {progressPercent >= benefit.unlockAt ? (\n <CheckCircle2 className=\"h-4 w-4 text-green-500\" />\n ) : (\n <Clock className=\"h-4 w-4\" />\n )}\n <span>{benefit.label}</span>\n <span className=\"ml-auto text-xs\">{benefit.unlockAt}%</span>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VerificationPage.js","names":[],"sources":["../../../src/proserviceworld/pages/VerificationPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n GlassCard,\n EmphasisPanel,\n AuroraBackground,\n GradientText,\n IllustratedEmptyState,\n} from '@burdenoff/fe-libs/ui';\nimport {\n CheckCircle2,\n Clock,\n AlertTriangle,\n XCircle,\n Shield,\n Mail,\n Phone,\n Fingerprint,\n MapPin,\n Building2,\n Award,\n FileSearch,\n ChevronRight,\n Upload,\n ArrowRight,\n} from 'lucide-react';\nimport { useProServiceWorldStore } from '../store/proserviceworldStore';\nimport type { VerificationStepStatus } from '../types';\n\nconst statusConfig: Record<\n VerificationStepStatus,\n { icon: typeof CheckCircle2; color: string; bgColor: string; label: string }\n> = {\n completed: {\n icon: CheckCircle2,\n color: 'text-status-success-text',\n bgColor: 'bg-status-success-bg-subtle',\n label: 'Completed',\n },\n pending: {\n icon: Clock,\n color: 'text-text-secondary',\n bgColor: 'bg-bg-sunken',\n label: 'Pending',\n },\n in_progress: {\n icon: Clock,\n color: 'text-accent-blue',\n bgColor: 'bg-accent-blue-subtle',\n label: 'In Progress',\n },\n failed: {\n icon: XCircle,\n color: 'text-status-error-text',\n bgColor: 'bg-status-error-bg-subtle',\n label: 'Failed',\n },\n};\n\nconst stepIcons: Record<string, typeof Mail> = {\n 'Email Verification': Mail,\n 'Phone Verification': Phone,\n 'Identity Verification': Fingerprint,\n 'Address Verification': MapPin,\n 'Business Verification': Building2,\n 'Professional Verification': Award,\n 'Background Check': FileSearch,\n};\n\nexport function VerificationPage() {\n const { verificationSteps } = useProServiceWorldStore();\n const [selectedStepId, setSelectedStepId] = useState<string | null>(null);\n\n const completedCount = verificationSteps.filter((s) => s.status === 'completed').length;\n const totalSteps = verificationSteps.length;\n const requiredSteps = verificationSteps.filter((s) => s.required);\n const requiredCompleted = requiredSteps.filter((s) => s.status === 'completed').length;\n const progressPercent = Math.round((completedCount / totalSteps) * 100);\n\n const selectedStep = selectedStepId\n ? verificationSteps.find((s) => s.id === selectedStepId)\n : null;\n\n return (\n <div className=\"space-y-6 p-6 bg-bg-canvas min-h-screen\">\n {/* Hero header — the ONE aurora backdrop for this page. */}\n <div className=\"relative overflow-hidden rounded-card -mx-2 px-2 pt-1\">\n <AuroraBackground intensity=\"subtle\" />\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold tracking-tight\">\n <GradientText>Verification</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">\n Complete verification steps to unlock full platform features and build trust.\n </p>\n </div>\n <Badge variant={progressPercent === 100 ? 'default' : 'secondary'} className=\"text-sm\">\n <Shield className=\"mr-2 h-4 w-4\" />\n <span className=\"tabular-nums\">{progressPercent}%</span> Verified\n </Badge>\n </div>\n </div>\n\n {/* Overall progress — the single emphasised insight zone */}\n <EmphasisPanel>\n <div className=\"grid gap-6 sm:grid-cols-3\">\n <div className=\"space-y-2\">\n <p className=\"text-sm text-text-secondary\">Overall Progress</p>\n <p className=\"text-3xl font-bold tabular-nums\">\n {completedCount}/{totalSteps}\n </p>\n <div className=\"h-3 overflow-hidden rounded-full bg-bg-sunken\">\n <div\n className=\"h-3 rounded-full bg-accent-blue transition-all\"\n style={{ width: `${progressPercent}%` }}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <p className=\"text-sm text-text-secondary\">Required Steps</p>\n <p className=\"text-3xl font-bold tabular-nums\">\n {requiredCompleted}/{requiredSteps.length}\n </p>\n <div className=\"h-3 overflow-hidden rounded-full bg-bg-sunken\">\n <div\n className=\"h-3 rounded-full bg-status-success-text transition-all\"\n style={{\n width: `${requiredSteps.length > 0 ? Math.round((requiredCompleted / requiredSteps.length) * 100) : 0}%`,\n }}\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <p className=\"text-sm text-text-secondary\">Trust Level</p>\n <p className=\"text-3xl font-bold\">\n {progressPercent >= 80 ? 'High' : progressPercent >= 40 ? 'Medium' : 'Low'}\n </p>\n <div className=\"flex gap-1\">\n {[1, 2, 3, 4, 5].map((level) => (\n <div\n key={level}\n className={`h-3 flex-1 rounded-full ${\n level <= Math.ceil(progressPercent / 20) ? 'bg-accent-blue' : 'bg-bg-sunken'\n }`}\n />\n ))}\n </div>\n </div>\n </div>\n </EmphasisPanel>\n\n <div className=\"grid gap-6 lg:grid-cols-3\">\n {/* Steps list */}\n <div className=\"space-y-3 lg:col-span-2\">\n <h2 className=\"text-sm font-medium text-text-secondary\">Verification Steps</h2>\n {verificationSteps.map((step, idx) => {\n const cfg = statusConfig[step.status];\n const StatusIcon = cfg.icon;\n const StepIcon = stepIcons[step.title] ?? Shield;\n const isLast = idx === verificationSteps.length - 1;\n const isActive = step.status === 'in_progress';\n\n return (\n <div key={step.id} className=\"relative\">\n {/* Connector line */}\n {!isLast && (\n <div className=\"absolute left-[23px] top-[52px] h-[calc(100%-16px)] w-0.5 bg-border-seam z-0\" />\n )}\n\n <button\n onClick={() => setSelectedStepId(selectedStepId === step.id ? null : step.id)}\n aria-pressed={selectedStepId === step.id}\n className={`relative z-10 w-full rounded-lg border p-4 text-left transition-shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus ${\n selectedStepId === step.id\n ? 'border-accent-blue bg-accent-blue-subtle'\n : 'border-border-seam hover:shadow-pop'\n } ${step.status === 'completed' ? 'opacity-80' : ''}`}\n >\n <div className=\"flex items-start gap-4\">\n {/* Step icon */}\n <div className={`shrink-0 rounded-full p-2 ${cfg.bgColor}`}>\n <StepIcon className={`h-5 w-5 ${cfg.color}`} />\n </div>\n\n {/* Content */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <h3\n className={`font-medium ${step.status === 'completed' ? 'line-through text-text-secondary' : ''}`}\n >\n {step.title}\n </h3>\n {step.required && (\n <Badge variant=\"destructive\" className=\"text-xs\">\n Required\n </Badge>\n )}\n </div>\n <p className=\"mt-0.5 text-sm text-text-secondary\">{step.description}</p>\n\n <div className=\"mt-2 flex items-center gap-3\">\n <div className=\"flex items-center gap-1\">\n <StatusIcon\n className={`h-4 w-4 ${cfg.color} ${isActive ? 'motion-safe:animate-vc-glow-pulse' : ''}`}\n />\n <span className={`text-xs font-medium ${cfg.color}`}>{cfg.label}</span>\n </div>\n {step.completedAt && (\n <span className=\"text-xs text-text-secondary\">\n Completed on {step.completedAt}\n </span>\n )}\n </div>\n </div>\n\n <ChevronRight className=\"h-5 w-5 shrink-0 text-text-secondary\" />\n </div>\n </button>\n </div>\n );\n })}\n </div>\n\n {/* Detail panel */}\n <div className=\"space-y-4\">\n {selectedStep ? (\n <GlassCard treatment=\"insight\" className=\"border-border-seam\">\n <CardHeader>\n <CardTitle className=\"text-base\">{selectedStep.title}</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <p className=\"text-sm text-text-secondary\">{selectedStep.description}</p>\n\n <div className=\"flex items-center gap-2\">\n {(() => {\n const cfg = statusConfig[selectedStep.status];\n const Icon = cfg.icon;\n return (\n <>\n <Icon className={`h-5 w-5 ${cfg.color}`} />\n <span className={`font-medium ${cfg.color}`}>{cfg.label}</span>\n </>\n );\n })()}\n </div>\n\n {selectedStep.required && (\n <div className=\"flex items-center gap-2 rounded-lg bg-status-error-bg-subtle p-3\">\n <AlertTriangle className=\"h-4 w-4 text-status-error-text\" />\n <span className=\"text-sm text-status-error-text\">\n This step is required for full platform access.\n </span>\n </div>\n )}\n\n {selectedStep.completedAt && (\n <div className=\"rounded-lg bg-status-success-bg-subtle p-3\">\n <p className=\"text-sm text-status-success-text\">\n Completed on {selectedStep.completedAt}\n </p>\n </div>\n )}\n\n {selectedStep.status === 'pending' && (\n <div className=\"space-y-3\">\n {selectedStep.title === 'Phone Verification' && (\n <div className=\"space-y-2\">\n <p className=\"text-sm font-medium\">Enter your phone number</p>\n <div className=\"flex gap-2\">\n <input\n type=\"tel\"\n aria-label=\"Phone number\"\n className=\"flex-1 rounded border border-border-seam bg-bg-surface px-3 py-2 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus\"\n placeholder=\"+1 (555) 000-0000\"\n />\n <Button size=\"sm\">\n Send Code <ArrowRight className=\"ml-2 h-4 w-4\" />\n </Button>\n </div>\n </div>\n )}\n {selectedStep.title === 'Identity Verification' && (\n <div className=\"space-y-2\">\n <p className=\"text-sm font-medium\">Upload a government-issued ID</p>\n <div className=\"flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-border-seam p-6\">\n <Upload className=\"h-8 w-8 text-text-secondary\" />\n <p className=\"mt-2 text-xs text-text-secondary\">\n Drag & drop or click to upload\n </p>\n <p className=\"text-xs text-text-secondary\">\n Passport, Driver's License, or National ID\n </p>\n </div>\n <Button className=\"w-full\">\n <Upload className=\"mr-2 h-4 w-4\" /> Upload Document\n </Button>\n </div>\n )}\n {selectedStep.title !== 'Phone Verification' &&\n selectedStep.title !== 'Identity Verification' && (\n <Button className=\"w-full\">\n Start Verification <ArrowRight className=\"ml-2 h-4 w-4\" />\n </Button>\n )}\n </div>\n )}\n\n {selectedStep.status === 'failed' && (\n <Button variant=\"destructive\" className=\"w-full\">\n Retry Verification\n </Button>\n )}\n </CardContent>\n </GlassCard>\n ) : (\n <Card className=\"border-border-seam\">\n <CardContent className=\"py-6\">\n <IllustratedEmptyState\n illustration=\"onboarding\"\n title=\"Select a step\"\n description=\"Click on a verification step to see details and take action.\"\n />\n </CardContent>\n </Card>\n )}\n\n {/* Benefits card */}\n <Card className=\"border-border-seam\">\n <CardHeader>\n <CardTitle className=\"text-base\">Verification Benefits</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {[\n { label: 'Higher search ranking', unlockAt: 20 },\n { label: 'Featured provider badge', unlockAt: 40 },\n { label: 'Priority support access', unlockAt: 60 },\n { label: 'Premium service listings', unlockAt: 80 },\n { label: 'Verified trust seal', unlockAt: 100 },\n ].map((benefit) => (\n <div\n key={benefit.label}\n className={`flex items-center gap-2 rounded p-2 text-sm ${\n progressPercent >= benefit.unlockAt\n ? 'text-text-primary'\n : 'text-text-secondary'\n }`}\n >\n {progressPercent >= benefit.unlockAt ? (\n <CheckCircle2 className=\"h-4 w-4 text-status-success-text\" />\n ) : (\n <Clock className=\"h-4 w-4\" />\n )}\n <span>{benefit.label}</span>\n <span className=\"ml-auto text-xs tabular-nums\">{benefit.unlockAt}%</span>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burdenoff/microfe-proserviceworld",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.625.1",
|
|
4
4
|
"description": "Burdenoff ProServiceWorld Microfrontend",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@apollo/client": "^4.0.11",
|
|
42
|
-
"@burdenoff/fe-libs": "2026.
|
|
42
|
+
"@burdenoff/fe-libs": "2026.625.3",
|
|
43
43
|
"@tanstack/react-query": "^5.90.16",
|
|
44
44
|
"clsx": "^2.1.1",
|
|
45
45
|
"graphql": "^16.10.0",
|