Add delivery order badges and optimize list performance

Enhance delivery list UI with sequential order badges and improve scrolling
performance with faster animations for better user experience.

Delivery Order Badge:
- Add 60x60px status-colored square badge showing delivery sequence number
- Position badge to the left of vertical status bar for clear visual hierarchy
- White text (26px, bold) centered in badge
- Automatically displays deliveryIndex + 1 (first delivery = 1, second = 2, etc.)
- Status color matches delivery state (green for completed, gray for pending, etc.)
- 10px border radius for modern appearance

Layout Enhancements:
- Sidebar expanded from 360px to 420px to accommodate order badges
- Vertical centering of row elements for better visual balance
- Maintains optimized spacing: badge (60px) + gap (12px) + bar (6px) + gap (16px) + content
- Full list scrolling restored (removed 4-item limit)

Animation Performance:
- Stagger animation delay reduced by 90% (50ms to 5ms)
- Fast stagger: 30ms to 3ms for ultra-responsive scrolling
- Delivery items appear almost instantly when scrolling
- Total animation time for 20 items: 500ms to 100ms
- Maintains subtle stagger effect while feeling immediate

User Experience Improvements:
- Clear visual indication of delivery order in route
- Faster perceived loading when scrolling through deliveries
- Better readability with larger, prominent order numbers
- Consistent status color coding across badge and accent bar

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jean-Philippe Brule
2025-11-17 10:29:17 -05:00
parent dc2c82e938
commit 98ce195bbb
4 changed files with 32 additions and 12 deletions
+22 -2
View File
@@ -124,9 +124,29 @@ class _DeliveryListItemState extends State<DeliveryListItem>
children: [
// Main delivery info row
Row(
crossAxisAlignment: CrossAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
// Left accent bar (taller for better visual balance)
// Order number badge (left of status bar)
Container(
width: 60,
height: 60,
decoration: BoxDecoration(
color: statusColor,
borderRadius: BorderRadius.circular(10),
),
child: Center(
child: Text(
'${widget.delivery.deliveryIndex + 1}',
style: const TextStyle(
color: Colors.white,
fontSize: 26,
fontWeight: FontWeight.w700,
),
),
),
),
const SizedBox(width: 12),
// Left accent bar (vertical status bar)
Container(
width: 6,
height: 80,