fix(mi-dia): 5 bugs críticos + 8 mejoras UX

Bugs críticos: descartar, kanban drag&drop, escrituración, fases API, export filtros
UX: tel clicable, WhatsApp, filtros por tab, tareas, calendario, estado, notas, navegación
This commit is contained in:
2026-09-11 02:05:25 +00:00
parent fabf507aa0
commit 075d47c304
9 changed files with 463 additions and 210 deletions

View File

@@ -26,8 +26,9 @@ export default function KanbanView<T extends { id: string; nombre: string; estad
const [arrastrando, setArrastrando] = useState<string | null>(null)
const onDragStart = useCallback((e: React.DragEvent, itemId: string) => {
setArrastrando(itemId)
e.dataTransfer.setData('text/plain', itemId)
e.dataTransfer.effectAllowed = 'move'
setArrastrando(itemId)
}, [])
const onDragOver = useCallback((e: React.DragEvent) => {
@@ -38,11 +39,12 @@ export default function KanbanView<T extends { id: string; nombre: string; estad
const onDrop = useCallback((e: React.DragEvent, columnaId: string) => {
e.preventDefault()
const itemId = e.dataTransfer.getData('text/plain')
if (itemId && itemId !== arrastrando) {
onCambiarEstado(itemId, columnaId)
}
setArrastrando(null)
}, [arrastrando, onCambiarEstado])
if (itemId === '') return
const item = items.find((i) => i.id === itemId)
if (!item || obtenerColumna(item) === columnaId) return
onCambiarEstado(itemId, columnaId)
}, [items, obtenerColumna, onCambiarEstado])
return (
<div className="flex gap-3 overflow-x-auto pb-4 scroll-smooth">