dwindown
f9161b49f4
fix: Select defaults + confirm responsive pattern + convert to AlertDialog
1. Fixed Select Field Default Value ✅
Problem: Select shows empty even with default/saved value
Solution: Ensure select always has value
const selectValue = (value || field.value || field.default) as string;
<Select value={selectValue}>
Priority: current > saved > default
Result: ✅ Select always shows correct value
2. Confirmed Responsive Pattern ✅
ResponsiveDialog already working correctly:
- Desktop (≥768px): Dialog component
- Mobile (<768px): Drawer component
- useMediaQuery hook detects screen size
✅ No changes needed - already correct!
3. Converted to AlertDialog ✅
A. Orders/Detail.tsx - Retry Payment
- Was: Dialog (can dismiss by clicking outside)
- Now: AlertDialog (must choose action)
- Better for critical payment retry action
B. Orders/index.tsx - Delete Orders
- Was: Dialog (can dismiss by clicking outside)
- Now: AlertDialog (must choose action)
- Better for destructive delete action
Benefits:
- ❌ No close button (forces decision)
- ❌ Can't dismiss by clicking outside
- ✅ User must explicitly choose Cancel or Confirm
- ✅ Better UX for critical/destructive actions
Component Usage Summary:
- Dialog: Forms, settings, content display
- Drawer: Mobile bottom sheet (auto via ResponsiveDialog)
- AlertDialog: Confirmations, destructive actions
Files Modified:
- GenericGatewayForm.tsx: Select default value fix
- Orders/Detail.tsx: Dialog → AlertDialog
- Orders/index.tsx: Dialog → AlertDialog
2025-11-06 10:28:04 +07:00
..
2025-11-04 11:19:00 +07:00
2025-11-06 10:28:04 +07:00
2025-11-05 18:54:41 +07:00
2025-11-04 11:19:00 +07:00
2025-11-06 10:20:43 +07:00
2025-11-06 10:20:43 +07:00
2025-11-04 11:19:00 +07:00
2025-11-04 11:19:00 +07:00
2025-11-04 11:19:00 +07:00
2025-11-04 11:19:00 +07:00
2025-11-04 11:19:00 +07:00
2025-11-04 11:19:00 +07:00