feat: Modern mobile-first Orders UI redesign
Implemented complete mobile-first redesign of Orders page with app-like UX.
Problem:
- Desktop table layout on mobile (cramped, not touch-friendly)
- "New order" button redundant with FAB
- Desktop-style filters not mobile-optimized
- Checkbox selection too small for touch
- Old-school pagination
Solution: Full Modern Mobile-First Redesign
New Components Created:
1. OrderCard.tsx
- Card-based layout for mobile
- Touch-friendly tap targets
- Order number + status badge
- Customer name
- Items brief
- Date + total amount
- Chevron indicator
- Checkbox for selection
- Tap card → navigate to detail
2. FilterBottomSheet.tsx
- Modern bottom sheet UI
- Drag handle
- Status filter
- Date range picker
- Sort order
- Active filter count badge
- Reset + Apply buttons
- Smooth slide-in animation
3. SearchBar.tsx
- Search input with icon
- Filter button with badge
- Clean, modern design
- Touch-optimized
Orders Page Redesign:
Mobile Layout:
┌─────────────────────────────────┐
│ [🔍 Search orders...] [⚙] │ ← Search + Filter
├─────────────────────────────────┤
│ ┌─────────────────────────────┐ │
│ │ 📦 #337 💰 │ │ ← Order card
│ │ Processing │ │
│ │ Dwindi Ramadhana │ │
│ │ 2 items · Product A, ... │ │
│ │ 2 hours ago Rp64.500 │ │
│ └─────────────────────────────┘ │
│ ┌─────────────────────────────┐ │
│ │ 📦 #336 ✓ │ │
│ │ Completed │ │
│ │ John Doe │ │
│ │ 1 item · Product B │ │
│ │ Yesterday Rp125.000 │ │
│ └─────────────────────────────┘ │
├─────────────────────────────────┤
│ [Previous] Page 1 [Next] │
├─────────────────────────────────┤
│ Dashboard Orders Products ... │
└─────────────────────────────────┘
( + ) ← FAB
Desktop Layout:
- Keeps table view (familiar for desktop users)
- Inline filters at top
- All existing functionality preserved
Features Implemented:
✅ Card-based mobile layout
✅ Search orders (by number, customer, status)
✅ Bottom sheet filters
✅ Active filter count badge
✅ Pull-to-refresh indicator
✅ Bulk selection with sticky action bar
✅ Touch-optimized tap targets
✅ Smooth animations
✅ Empty states with helpful messages
✅ Responsive: cards on mobile, table on desktop
✅ FAB for new order (removed redundant button)
✅ Clean, modern, app-like UX
Mobile-Specific Improvements:
1. No "New order" button at top (use FAB)
2. Search bar replaces desktop filters
3. Filter icon opens bottom sheet
4. Cards instead of cramped table
5. Larger touch targets
6. Sticky bulk action bar
7. Pull-to-refresh support
8. Better empty states
Desktop Unchanged:
- Table layout preserved
- Inline filters
- All existing features work
Result:
✅ Modern, app-like mobile UI
✅ Touch-friendly interactions
✅ Clean, uncluttered design
✅ Fast, responsive
✅ Desktop functionality preserved
✅ Consistent with mobile-first vision
Files Created:
- routes/Orders/components/OrderCard.tsx
- routes/Orders/components/FilterBottomSheet.tsx
- routes/Orders/components/SearchBar.tsx
Files Modified:
- routes/Orders/index.tsx (complete redesign)
The Orders page is now a modern, mobile-first experience! 🎯