From c103ed6efcaf54d4322fd4c8abaeef029788fc71 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 9 Nov 2025 21:01:27 +0000 Subject: [PATCH] feat: Improve main entry point and inventory wizard UI/UX Main Entry Point (ItemTypeSelector): - Moved Registro de Ventas to first position (most common) - Changed icon from DollarSign to Euro icon - Fixed alignment between icons and text (items-center instead of items-start) - Improved spacing between title and subtitle (mb-0.5, mt-1) - Better visual centering of all elements Inventory Wizard (TypeSelectionStep): - Enhanced selection UI with ring and shadow when selected - Better color feedback (10% opacity background, ring-2) - Dynamic icon color (primary when selected, tertiary when not) - Dynamic title color (primary when selected) - Improved spacing between title and description (mb-3, mt-3) - Added hover effects (shadow-lg, -translate-y-0.5) - Better visual distinction for selected state All changes improve visual feedback and user experience. --- .../unified-wizard/ItemTypeSelector.tsx | 28 +++++----- .../wizards/InventoryWizard.tsx | 56 +++++++++++++------ 2 files changed, 52 insertions(+), 32 deletions(-) diff --git a/frontend/src/components/domain/unified-wizard/ItemTypeSelector.tsx b/frontend/src/components/domain/unified-wizard/ItemTypeSelector.tsx index 53961360..a3225109 100644 --- a/frontend/src/components/domain/unified-wizard/ItemTypeSelector.tsx +++ b/frontend/src/components/domain/unified-wizard/ItemTypeSelector.tsx @@ -8,7 +8,7 @@ import { ShoppingCart, Users, UserPlus, - DollarSign, + Euro, Sparkles, } from 'lucide-react'; @@ -34,6 +34,15 @@ export interface ItemTypeConfig { } export const ITEM_TYPES: ItemTypeConfig[] = [ + { + id: 'sales-entry', + title: 'Registro de Ventas', + subtitle: 'Manual o carga masiva', + icon: Euro, + badge: '⭐ Más Común', + badgeColor: 'bg-gradient-to-r from-amber-100 to-orange-100 text-orange-800 font-semibold', + isHighlighted: true, + }, { id: 'inventory', title: 'Inventario', @@ -98,15 +107,6 @@ export const ITEM_TYPES: ItemTypeConfig[] = [ badge: 'Configuración', badgeColor: 'bg-blue-100 text-blue-700', }, - { - id: 'sales-entry', - title: 'Registro de Ventas', - subtitle: 'Manual o carga masiva', - icon: DollarSign, - badge: '⭐ Más Común', - badgeColor: 'bg-gradient-to-r from-amber-100 to-orange-100 text-orange-800 font-semibold', - isHighlighted: true, - }, ]; interface ItemTypeSelectorProps { @@ -162,7 +162,7 @@ export const ItemTypeSelector: React.FC = ({ onSelect }) )} {/* Content */} -
+
{/* Icon */}
= ({ onSelect })
{/* Text */} -
-

+
+

{itemType.title}

-

+

{itemType.subtitle}

diff --git a/frontend/src/components/domain/unified-wizard/wizards/InventoryWizard.tsx b/frontend/src/components/domain/unified-wizard/wizards/InventoryWizard.tsx index b5824180..80eda200 100644 --- a/frontend/src/components/domain/unified-wizard/wizards/InventoryWizard.tsx +++ b/frontend/src/components/domain/unified-wizard/wizards/InventoryWizard.tsx @@ -29,36 +29,56 @@ const TypeSelectionStep: React.FC = ({ data, onDataChange, onNe