diff --git a/configure/src/pages/Catalogs.tsx b/configure/src/pages/Catalogs.tsx index 33bf82c..87cf064 100644 --- a/configure/src/pages/Catalogs.tsx +++ b/configure/src/pages/Catalogs.tsx @@ -1,7 +1,15 @@ import { useEffect } from "react"; import { useConfig } from "@/contexts/ConfigContext"; import { baseCatalogs, authCatalogs, mdblistCatalogs, streamingCatalogs } from "@/data/catalogs"; -import { DndContext, DragEndEvent, closestCenter } from "@dnd-kit/core"; +import { + DndContext, + DragEndEvent, + closestCenter, + TouchSensor, + MouseSensor, + useSensor, + useSensors +} from "@dnd-kit/core"; import { SortableContext, verticalListSortingStrategy, arrayMove } from "@dnd-kit/sortable"; import { SortableCatalogCard } from "@/components/SortableCatalogCard"; @@ -11,10 +19,15 @@ const CatalogColumn = ({ catalogConfigs, onCatalogChange, onDragEnd, + sensors }) => (

{title}

- + `${c.id}-${c.type}`)} strategy={verticalListSortingStrategy} @@ -39,6 +52,24 @@ const CatalogColumn = ({ const Catalogs = () => { const { sessionId, mdblistkey, streaming, catalogs, setCatalogs } = useConfig(); + // Configuração dos sensores + const mouseSensor = useSensor(MouseSensor, { + // Aumentar um pouco a distância mínima para evitar cliques acidentais + activationConstraint: { + distance: 10, + }, + }); + + const touchSensor = useSensor(TouchSensor, { + // Configurar um delay para distinguir entre toque e scroll + activationConstraint: { + delay: 250, + tolerance: 5, + }, + }); + + const sensors = useSensors(mouseSensor, touchSensor); + useEffect(() => { const allCatalogs = [ ...baseCatalogs, @@ -107,6 +138,7 @@ const Catalogs = () => { catalogConfigs={catalogConfigs} onCatalogChange={handleCatalogChange} onDragEnd={handleDragEnd} + sensors={sensors} /> { catalogConfigs={catalogConfigs} onCatalogChange={handleCatalogChange} onDragEnd={handleDragEnd} + sensors={sensors} />