diff --git a/packages/desktop-client/src/components/tags/ManageTags.tsx b/packages/desktop-client/src/components/tags/ManageTags.tsx index d65e01b55b..36a941e76b 100644 --- a/packages/desktop-client/src/components/tags/ManageTags.tsx +++ b/packages/desktop-client/src/components/tags/ManageTags.tsx @@ -22,16 +22,17 @@ import { useSelected, } from '@desktop-client/hooks/useSelected'; import { useTags } from '@desktop-client/hooks/useTags'; -import { useDispatch } from '@desktop-client/redux'; -import { deleteAllTags, findTags } from '@desktop-client/tags/tagsSlice'; +import { + useDeleteTagsMutation, + useDiscoverTagsMutation, +} from '@desktop-client/tags'; export function ManageTags() { const { t } = useTranslation(); - const dispatch = useDispatch(); const [filter, setFilter] = useState(''); const [hoveredTag, setHoveredTag] = useState(); const [create, setCreate] = useState(false); - const tags = useTags(); + const { data: tags = [] } = useTags(); const filteredTags = useMemo(() => { return filter === '' @@ -43,10 +44,19 @@ export function ManageTags() { const selectedInst = useSelected('manage-tags', filteredTags, []); + const { mutate: discoverTags } = useDiscoverTagsMutation(); + const { mutate: deleteTags } = useDeleteTagsMutation(); + const onDeleteSelected = useCallback(async () => { - dispatch(deleteAllTags([...selectedInst.items])); - selectedInst.dispatch({ type: 'select-none' }); - }, [dispatch, selectedInst]); + deleteTags( + { ids: [...selectedInst.items] }, + { + onSuccess: () => { + selectedInst.dispatch({ type: 'select-none' }); + }, + }, + ); + }, [deleteTags, selectedInst]); return ( @@ -75,7 +85,7 @@ export function ManageTags() { Add New -