diff --git a/salesflow-saas/frontend/src/components/dealix/marketers-page.tsx b/salesflow-saas/frontend/src/components/dealix/marketers-page.tsx
index 95829706..c3c00f24 100644
--- a/salesflow-saas/frontend/src/components/dealix/marketers-page.tsx
+++ b/salesflow-saas/frontend/src/components/dealix/marketers-page.tsx
@@ -98,34 +98,27 @@ function MarketersPage() {
setSubmitted(true);
};
- const benefitIcons = [Zap, Wrench, HeadphonesIcon, Eye];
- const benefitKeys = [
- { title: 'benefitInstantCommission', desc: 'benefitInstantCommissionDesc' },
- { title: 'benefitProTools', desc: 'benefitProToolsDesc' },
- { title: 'benefitSupport', desc: 'benefitSupportDesc' },
- { title: 'benefitTransparency', desc: 'benefitTransparencyDesc' },
+ const benefits = [
+ { icon: Zap, title: 'benefitInstantCommission', desc: 'benefitInstantCommissionDesc' },
+ { icon: Wrench, title: 'benefitProTools', desc: 'benefitProToolsDesc' },
+ { icon: HeadphonesIcon, title: 'benefitSupport', desc: 'benefitSupportDesc' },
+ { icon: Eye, title: 'benefitTransparency', desc: 'benefitTransparencyDesc' },
];
-
- const stepIcons = [UserPlus, Share2, Coins];
- const stepKeys = [
- { title: 'step1Title', desc: 'step1Desc' },
- { title: 'step2Title', desc: 'step2Desc' },
- { title: 'step3Title', desc: 'step3Desc' },
+ const steps = [
+ { icon: UserPlus, title: 'step1Title', desc: 'step1Desc' },
+ { icon: Share2, title: 'step2Title', desc: 'step2Desc' },
+ { icon: Coins, title: 'step3Title', desc: 'step3Desc' },
];
-
const tiers = [
{ key: 'tierBronze', desc: 'tierBronzeDesc', pct: '10%', color: 'from-amber-700 to-amber-900', badge: 'bg-amber-700/40 text-amber-300' },
{ key: 'tierSilver', desc: 'tierSilverDesc', pct: '15%', color: 'from-slate-400 to-slate-600', badge: 'bg-slate-500/40 text-slate-200' },
{ key: 'tierGold', desc: 'tierGoldDesc', pct: '20%', color: 'from-amber-400 to-yellow-500', badge: 'bg-amber-400/30 text-amber-200' },
];
-
- const toolIcons = [LayoutDashboard, Link2, FileText, BarChart3];
- const toolKeys = ['toolDashboard', 'toolLinks', 'toolTemplates', 'toolReports'];
-
- const faqs = Array.from({ length: 5 }, (_, i) => ({
- q: t(`marketersPage.faq${i + 1}Q`),
- a: t(`marketersPage.faq${i + 1}A`),
- }));
+ const tools = [
+ { icon: LayoutDashboard, key: 'toolDashboard' }, { icon: Link2, key: 'toolLinks' },
+ { icon: FileText, key: 'toolTemplates' }, { icon: BarChart3, key: 'toolReports' },
+ ];
+ const faqs = Array.from({ length: 5 }, (_, i) => ({ q: t(`marketersPage.faq${i + 1}Q`), a: t(`marketersPage.faq${i + 1}A`) }));
return (
@@ -177,22 +170,15 @@ function MarketersPage() {
{t('marketersPage.benefitsTitle')}
- {benefitKeys.map((bk, i) => {
- const Icon = benefitIcons[i];
- return (
-
-
-
-
-
- {t(`marketersPage.${bk.title}`)}
-
-
- {t(`marketersPage.${bk.desc}`)}
-
-
- );
- })}
+ {benefits.map((b) => (
+
+
+
+
+ {t(`marketersPage.${b.title}`)}
+ {t(`marketersPage.${b.desc}`)}
+
+ ))}
@@ -204,29 +190,16 @@ function MarketersPage() {
{t('marketersPage.howItWorksTitle')}
- {stepKeys.map((sk, i) => {
- const Icon = stepIcons[i];
- return (
-
-
-
-
-
- {i + 1}
-
-
- {t(`marketersPage.${sk.title}`)}
-
-
- {t(`marketersPage.${sk.desc}`)}
-
-
- );
- })}
+ {steps.map((s, i) => (
+
+
+
+
+ {i + 1}
+ {t(`marketersPage.${s.title}`)}
+ {t(`marketersPage.${s.desc}`)}
+
+ ))}
@@ -234,22 +207,13 @@ function MarketersPage() {
{/* ===== COMMISSION TIERS ===== */}
-
- {t('marketersPage.tiersTitle')}
-
+
{t('marketersPage.tiersTitle')}
{tiers.map((tier) => (
-
+
-
- {t(`marketersPage.${tier.key}`)}
-
+
{t(`marketersPage.${tier.key}`)}
{tier.pct}
{t('marketersPage.tierCommission')}
{t(`marketersPage.${tier.desc}`)}
@@ -270,22 +234,16 @@ function MarketersPage() {
{[1, 2].map((n) => (
-
- {t(`marketersPage.testimonial${n}Text`)}
-
+ {t(`marketersPage.testimonial${n}Text`)}
{t(`marketersPage.testimonial${n}Name`).charAt(0)}
-
- {t(`marketersPage.testimonial${n}Name`)}
-
+
{t(`marketersPage.testimonial${n}Name`)}
-
- {t(`marketersPage.testimonial${n}Role`)}
-
+
{t(`marketersPage.testimonial${n}Role`)}
@@ -302,20 +260,12 @@ function MarketersPage() {
{t('marketersPage.toolsTitle')}
- {toolKeys.map((tk, i) => {
- const Icon = toolIcons[i];
- return (
-
-
-
- {t(`marketersPage.${tk}`)}
-
-
- );
- })}
+ {tools.map((tl) => (
+
+
+
{t(`marketersPage.${tl.key}`)}
+
+ ))}
diff --git a/salesflow-saas/frontend/src/components/dealix/onboarding-flow.tsx b/salesflow-saas/frontend/src/components/dealix/onboarding-flow.tsx
index 76f1def6..aa574a6b 100644
--- a/salesflow-saas/frontend/src/components/dealix/onboarding-flow.tsx
+++ b/salesflow-saas/frontend/src/components/dealix/onboarding-flow.tsx
@@ -45,25 +45,17 @@ function WelcomePhase({
const [step, setStep] = useState<'role' | 'industry'>('role');
const roles: { key: Role; icon: typeof UserCircle }[] = [
- { key: 'salesManager', icon: UserCircle },
- { key: 'salesRep', icon: Briefcase },
- { key: 'executive', icon: Building2 },
- { key: 'other', icon: Users },
+ { key: 'salesManager', icon: UserCircle }, { key: 'salesRep', icon: Briefcase },
+ { key: 'executive', icon: Building2 }, { key: 'other', icon: Users },
];
-
const industries: { key: Industry; label: string }[] = [
- { key: 'realEstate', label: t('onboarding.industryRealEstate') },
- { key: 'automotive', label: t('onboarding.industryAutomotive') },
- { key: 'healthcare', label: t('onboarding.industryHealthcare') },
- { key: 'services', label: t('onboarding.industryServices') },
+ { key: 'realEstate', label: t('onboarding.industryRealEstate') }, { key: 'automotive', label: t('onboarding.industryAutomotive') },
+ { key: 'healthcare', label: t('onboarding.industryHealthcare') }, { key: 'services', label: t('onboarding.industryServices') },
{ key: 'other', label: t('onboarding.industryOther') },
];
-
const roleLabels: Record = {
- salesManager: t('onboarding.roleSalesManager'),
- salesRep: t('onboarding.roleSalesRep'),
- executive: t('onboarding.roleExecutive'),
- other: t('onboarding.roleOther'),
+ salesManager: t('onboarding.roleSalesManager'), salesRep: t('onboarding.roleSalesRep'),
+ executive: t('onboarding.roleExecutive'), other: t('onboarding.roleOther'),
};
return (
diff --git a/salesflow-saas/frontend/src/components/ui/index.ts b/salesflow-saas/frontend/src/components/ui/index.ts
index 852c7987..51589619 100644
--- a/salesflow-saas/frontend/src/components/ui/index.ts
+++ b/salesflow-saas/frontend/src/components/ui/index.ts
@@ -15,3 +15,12 @@ export type { BadgeProps, BadgeVariant } from './badge';
export { Sidebar, useSidebar } from './sidebar';
export type { SidebarProps, NavItem, NavSection } from './sidebar';
+
+export { KpiCard } from './kpi-card';
+export type { KpiCardProps } from './kpi-card';
+
+export { EmptyState } from './empty-state';
+export type { EmptyStateProps } from './empty-state';
+
+export { CommandInput } from './command-input';
+export type { CommandInputProps } from './command-input';