diff --git a/client/src/app/lists/details.tsx b/client/src/app/lists/details.tsx index 0a84501..4226019 100644 --- a/client/src/app/lists/details.tsx +++ b/client/src/app/lists/details.tsx @@ -24,6 +24,9 @@ export function CardDetails( listEntry: ListEntry & { onDelete?: (name: string) => void } ) { const [dialogOpen, setDialogOpen] = useState(false); + const [fetchingDiff, setFetchingDiff] = useState(false); + const [deletingList, setDeletingList] = useState(false); + const [listActive, setListActive] = useState(); const [updateDiff, setUpdateDiff] = useState({ diffAdded: [], diffRemoved: [] @@ -35,15 +38,15 @@ export function CardDetails( `toggleBlocklist?blocklist=${listEntry.name}` ); if (code === 200) { + setListActive(!listActive); toast.info(response.message); - setDialogOpen(false); } else { toast.error(response.message); - setDialogOpen(false); } }; const checkForUpdates = async () => { + setFetchingDiff(true); try { const [code, response] = await GetRequest( `fetchUpdatedList?name=${encodeURIComponent(listEntry.name)}&url=${ @@ -71,6 +74,8 @@ export function CardDetails( toast.error("Error checking for updates"); setShowDiff(false); } + + setFetchingDiff(false); }; const runUpdateList = async () => { @@ -97,6 +102,7 @@ export function CardDetails( }; const deleteList = async () => { + setDeletingList(true); try { const [code, response] = await DeleteRequest( `list?name=${encodeURIComponent(listEntry.name)}`, @@ -119,6 +125,8 @@ export function CardDetails( toast.error("Error deleting list"); setShowDiff(false); } + + setDeletingList(false); }; return ( @@ -149,7 +157,7 @@ export function CardDetails(
{"status:"} - {listEntry.active == true ? ( + {listActive ? (

active

) : (

inactive

@@ -184,20 +192,46 @@ export function CardDetails( {listEntry.name !== "Custom" && ( <> )}