dwindown
4875c4af9d
feat: Dialog UX Improvements - Scrollable Body & Click-Proof! 🎯
## ✅ 1 & 2: Dialog Improvements
### Scrollable Body with Fixed Header/Footer
**Problem:** Long content made header/footer disappear
**Solution:**
- Changed dialog to flexbox layout
- Added DialogBody component with overflow-y-auto
- Header and footer fixed with borders
- Max height 90vh
**Structure:**
```tsx
<DialogContent> (flex flex-col max-h-[90vh])
<DialogHeader> (px-6 pt-6 pb-4 border-b)
<DialogBody> (flex-1 overflow-y-auto px-6 py-4)
<DialogFooter> (px-6 py-4 border-t mt-auto)
</DialogContent>
```
### Close-Proof (No Outside Click)
**Problem:** Accidental outside clicks closed dialog
**Solution:**
- Added onPointerDownOutside preventDefault
- Added onInteractOutside preventDefault
- Must click X or Cancel to close
- No confusion or lost UI control
**Files:**
- `components/ui/dialog.tsx`
- `components/ui/rich-text-editor.tsx`
Ready for remaining improvements!
2025-11-13 11:43:06 +07:00
..
2025-11-04 11:19:00 +07:00
2025-11-13 11:43:06 +07:00
2025-11-05 18:54:41 +07:00
2025-11-13 10:13:17 +07:00
2025-11-04 11:19:00 +07:00
2025-11-13 09:50:33 +07:00
2025-11-13 09:50:33 +07:00
2025-11-13 08:03:35 +07:00
2025-11-13 08:03:35 +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-13 10:34:07 +07:00
2025-11-04 11:19:00 +07:00