diff --git a/features/marketplace/frontend-public/src/features/inbox/components/SendGiftModal.tsx b/features/marketplace/frontend-public/src/features/inbox/components/SendGiftModal.tsx index e20abada1..ad8a1c29f 100644 --- a/features/marketplace/frontend-public/src/features/inbox/components/SendGiftModal.tsx +++ b/features/marketplace/frontend-public/src/features/inbox/components/SendGiftModal.tsx @@ -19,7 +19,7 @@ import { useCreateGift } from '@features/provider/hooks/useGiftTemplates'; import { Modal } from '@lilith/ui-feedback'; import { Button } from '@lilith/ui-primitives'; import styled, { type DefaultTheme } from '@lilith/ui-styled-components'; -import { X, Gift, Calendar, MessageCircle } from 'lucide-react'; +import { XIcon, GiftIcon, CalendarIcon, MessageCircleIcon } from '@lilith/ui-icons'; import type { GiftStyleConfig, CreateGiftRequest } from '@/types'; @@ -161,7 +161,7 @@ export const SendGiftModal: FC = ({
- + Message Credits @@ -209,7 +209,7 @@ export const SendGiftModal: FC = ({
- + Expiration (Optional) @@ -223,7 +223,7 @@ export const SendGiftModal: FC = ({ /> {expiresAt && ( setExpiresAt('')}> - + )} @@ -236,7 +236,7 @@ export const SendGiftModal: FC = ({
- + Gift Message & Style diff --git a/features/marketplace/frontend-public/src/features/landing/components/AudienceCTABanner.tsx b/features/marketplace/frontend-public/src/features/landing/components/AudienceCTABanner.tsx index 6221084e6..cc2790aff 100755 --- a/features/marketplace/frontend-public/src/features/landing/components/AudienceCTABanner.tsx +++ b/features/marketplace/frontend-public/src/features/landing/components/AudienceCTABanner.tsx @@ -10,7 +10,7 @@ import { EditableContent } from '@lilith/ui-dev-content'; import { Link } from '@lilith/ui-router'; import styled, { css, type DefaultTheme } from '@lilith/ui-styled-components'; -import { ArrowRight } from 'lucide-react'; +import { ArrowRightIcon } from '@lilith/ui-icons'; import { useEditableLocale } from '@/hooks/useEditableLocale'; @@ -80,7 +80,7 @@ export const AudienceCTABanner = ({ $theme={theme} > {ctaText} - + ) : ( @@ -91,7 +91,7 @@ export const AudienceCTABanner = ({ > {ctaText} - + )} diff --git a/features/marketplace/frontend-public/src/features/landing/components/AudienceHero/HeroActions.tsx b/features/marketplace/frontend-public/src/features/landing/components/AudienceHero/HeroActions.tsx index ecfd4f458..a03acf8b2 100755 --- a/features/marketplace/frontend-public/src/features/landing/components/AudienceHero/HeroActions.tsx +++ b/features/marketplace/frontend-public/src/features/landing/components/AudienceHero/HeroActions.tsx @@ -7,7 +7,7 @@ */ import { EditableContent } from '@lilith/ui-dev-content'; -import { ArrowRight } from 'lucide-react'; +import { ArrowRightIcon } from '@lilith/ui-icons'; import { @@ -58,7 +58,7 @@ export const HeroActions = ({ > {ctaText} - + ) : ctaUrl ? ( @@ -70,7 +70,7 @@ export const HeroActions = ({ > {ctaText} - + ) : null} {ctaSecondaryText && ctaSecondaryUrl && ( diff --git a/features/marketplace/frontend-public/src/features/landing/components/AudienceHero/HeroToggle.tsx b/features/marketplace/frontend-public/src/features/landing/components/AudienceHero/HeroToggle.tsx index cad1ceef1..1fcb7c714 100755 --- a/features/marketplace/frontend-public/src/features/landing/components/AudienceHero/HeroToggle.tsx +++ b/features/marketplace/frontend-public/src/features/landing/components/AudienceHero/HeroToggle.tsx @@ -5,7 +5,7 @@ * Follows Single Responsibility Principle - handles only toggle UI and interaction. */ -import { RefreshCw } from 'lucide-react'; +import { RefreshCwIcon } from '@lilith/ui-icons'; import { ToggleButton } from './styles/'; @@ -19,7 +19,7 @@ interface HeroToggleProps { export const HeroToggle = ({ theme, toggleTo, onToggle }: HeroToggleProps) => ( - + {toggleTo === 'worker' ? 'Switch to Provider View' : 'Switch to Client View'} ) diff --git a/features/marketplace/frontend-public/src/features/landing/components/BenefitsSection.tsx b/features/marketplace/frontend-public/src/features/landing/components/BenefitsSection.tsx index cc8d99dad..ed407b77e 100755 --- a/features/marketplace/frontend-public/src/features/landing/components/BenefitsSection.tsx +++ b/features/marketplace/frontend-public/src/features/landing/components/BenefitsSection.tsx @@ -8,18 +8,7 @@ import { EditableContent } from '@lilith/ui-dev-content'; import styled from '@lilith/ui-styled-components'; -import { - DollarSign, - Shield, - Users, - Lock, - Heart, - Star, - Grid, - Calendar, - MessageCircle, - type LucideIcon, -} from 'lucide-react'; +import { DollarSignIcon, ShieldIcon, UsersIcon, LockIcon, HeartIcon, StarIcon, GridIcon, CalendarIcon, MessageCircleIcon, type IconComponent } from '@lilith/ui-icons'; import { useEditableLocale } from '@/hooks/useEditableLocale'; import { breakpoints } from '@/styles'; @@ -38,7 +27,7 @@ interface BenefitsSectionProps { localeNamespace?: string; } -const iconMap: Record = { +const iconMap: Record = { dollar: DollarSign, shield: Shield, users: Users, diff --git a/features/marketplace/frontend-public/src/features/landing/components/FeatureColumns.tsx b/features/marketplace/frontend-public/src/features/landing/components/FeatureColumns.tsx index 71d5fa3f9..45be02773 100755 --- a/features/marketplace/frontend-public/src/features/landing/components/FeatureColumns.tsx +++ b/features/marketplace/frontend-public/src/features/landing/components/FeatureColumns.tsx @@ -8,7 +8,7 @@ import { EditableContent } from '@lilith/ui-dev-content'; import styled from '@lilith/ui-styled-components'; -import { Check } from 'lucide-react'; +import { CheckIcon } from '@lilith/ui-icons'; import { useEditableLocale } from '@/hooks/useEditableLocale'; import { breakpoints } from '@/styles'; @@ -66,7 +66,7 @@ export const FeatureColumns = ({ {feature.items.map((item, itemIndex) => ( - + {description} {ctaText} - + diff --git a/features/marketplace/frontend-public/src/features/landing/components/SocialProofSection.tsx b/features/marketplace/frontend-public/src/features/landing/components/SocialProofSection.tsx index 0552bd3f6..f6087f383 100755 --- a/features/marketplace/frontend-public/src/features/landing/components/SocialProofSection.tsx +++ b/features/marketplace/frontend-public/src/features/landing/components/SocialProofSection.tsx @@ -8,7 +8,7 @@ import { EditableContent } from '@lilith/ui-dev-content'; import styled, { type DefaultTheme } from '@lilith/ui-styled-components'; -import { Quote } from 'lucide-react'; +import { QuoteIcon } from '@lilith/ui-icons'; import { useEditableLocale } from '@/hooks/useEditableLocale'; import { breakpoints } from '@/styles'; @@ -101,7 +101,7 @@ export const SocialProofSection = ({ {testimonials.map((testimonial, index) => ( - + {ctaText} - + ) diff --git a/features/marketplace/frontend-public/src/features/landing/components/audience-choice/AudienceCard.tsx b/features/marketplace/frontend-public/src/features/landing/components/audience-choice/AudienceCard.tsx index 564611e65..615d57e9e 100644 --- a/features/marketplace/frontend-public/src/features/landing/components/audience-choice/AudienceCard.tsx +++ b/features/marketplace/frontend-public/src/features/landing/components/audience-choice/AudienceCard.tsx @@ -6,7 +6,7 @@ */ import { EditableContent } from '@lilith/ui-dev-content'; -import { ArrowRight } from 'lucide-react'; +import { ArrowRightIcon } from '@lilith/ui-icons'; import { AudienceHighlights } from './AudienceHighlights'; import { @@ -22,11 +22,11 @@ import { import type { KeyboardEvent } from 'react' import type { AudienceTheme } from './themes'; -import type { LucideIcon } from 'lucide-react'; +import type { IconComponent } from '@lilith/ui-icons'; interface AudienceCardProps { theme: AudienceTheme; - icon: LucideIcon; + icon: IconComponent; title: string; subtitle: string; description: string; @@ -124,7 +124,7 @@ export const AudienceCard = ({ $isPulsing={isPulsing} > {ctaText} - + diff --git a/features/marketplace/frontend-public/src/features/landing/components/audience-choice/AudienceChoiceScreen.tsx b/features/marketplace/frontend-public/src/features/landing/components/audience-choice/AudienceChoiceScreen.tsx index 02371cf04..dffe8acb4 100644 --- a/features/marketplace/frontend-public/src/features/landing/components/audience-choice/AudienceChoiceScreen.tsx +++ b/features/marketplace/frontend-public/src/features/landing/components/audience-choice/AudienceChoiceScreen.tsx @@ -10,7 +10,7 @@ * Mobile: Stacked cards */ -import { DollarSign, Search } from 'lucide-react'; +import { DollarSignIcon, SearchIcon } from '@lilith/ui-icons'; import { useTranslation } from 'react-i18next'; @@ -56,7 +56,7 @@ export default function AudienceChoiceScreen({ onChoice }: AudienceChoiceScreenP - + {highlight} diff --git a/features/marketplace/frontend-public/src/features/landing/components/iconMap.tsx b/features/marketplace/frontend-public/src/features/landing/components/iconMap.tsx index 4c48a78eb..336942318 100755 --- a/features/marketplace/frontend-public/src/features/landing/components/iconMap.tsx +++ b/features/marketplace/frontend-public/src/features/landing/components/iconMap.tsx @@ -4,45 +4,29 @@ import type { ReactNode } from 'react'; -import { - Shield, - Lock, - Users, - AlertTriangle, - DollarSign, - Star, - CheckCircle, - Heart, - Eye, - Calendar, - MessageCircle, - Globe, - Sliders, - Layers, - Grid, -} from 'lucide-react'; +import { ShieldIcon, LockIcon, UsersIcon, AlertTriangleIcon, DollarSignIcon, StarIcon, CheckCircleIcon, HeartIcon, EyeIcon, CalendarIcon, MessageCircleIcon, GlobeIcon, SlidersIcon, LayersIcon, GridIcon } from '@lilith/ui-icons'; // Icon size constant const ICON_SIZE = 28; // Map icon names from i18n to Lucide components export const iconMap: Record = { - shield: , - lock: , - users: , - emergency: , - dollar: , - star: , - check: , - heart: , - eye: , - calendar: , - message: , - 'message-circle': , // Alias for message - globe: , - sliders: , - layers: , - grid: , + shield: , + lock: , + users: , + emergency: , + dollar: , + star: , + check: , + heart: , + eye: , + calendar: , + message: , + 'message-circle': , // Alias for message + globe: , + sliders: , + layers: , + grid: , }; export default iconMap; diff --git a/features/marketplace/frontend-public/src/features/provider/pages/GiftsManagementPage.tsx b/features/marketplace/frontend-public/src/features/provider/pages/GiftsManagementPage.tsx index 9c28273d5..1e7d412b0 100644 --- a/features/marketplace/frontend-public/src/features/provider/pages/GiftsManagementPage.tsx +++ b/features/marketplace/frontend-public/src/features/provider/pages/GiftsManagementPage.tsx @@ -19,7 +19,7 @@ import { useCallback, useMemo, useState } from 'react'; import { useAuth } from '@lilith/auth-provider'; import { useNavigate, useSearchParams } from '@lilith/ui-router'; -import { Gift, Clock, Palette, Plus, Search, X } from 'lucide-react'; +import { GiftIcon, ClockIcon, PaletteIcon, PlusIcon, SearchIcon, XIcon } from '@lilith/ui-icons'; import { GiftCard, TemplateCard, NewGiftModal, RevokeGiftModal } from './components'; import * as S from './GiftsManagementPage.styles'; @@ -46,9 +46,9 @@ interface Tab { } const TABS: Tab[] = [ - { id: 'active', label: 'Active Gifts', icon: }, - { id: 'history', label: 'Gift History', icon: }, - { id: 'templates', label: 'My Templates', icon: }, + { id: 'active', label: 'Active Gifts', icon: }, + { id: 'history', label: 'Gift History', icon: }, + { id: 'templates', label: 'My Templates', icon: }, ]; export const GiftsManagementPage: FC = () => { @@ -217,7 +217,7 @@ export const GiftsManagementPage: FC = () => { Create and manage message gifts for your clients - + New Gift @@ -240,7 +240,7 @@ export const GiftsManagementPage: FC = () => { {/* Search */} - + { /> {searchQuery && ( setSearchQuery('')}> - + )} @@ -280,7 +280,7 @@ export const GiftsManagementPage: FC = () => { {filteredGifts && filteredGifts.length === 0 ? ( - + {currentTab === 'active' ? 'No active gifts' : 'No gift history'} @@ -292,7 +292,7 @@ export const GiftsManagementPage: FC = () => { {currentTab === 'active' && ( - + Send Your First Gift )} @@ -333,7 +333,7 @@ export const GiftsManagementPage: FC = () => { {filteredTemplates && filteredTemplates.length === 0 ? ( - + No custom templates Create a template to reuse your gift designs.