fix: download status

This commit is contained in:
Fredrik Burmester
2025-10-03 11:02:58 +02:00
parent d764e5f9d2
commit 4517fe354b
10 changed files with 47 additions and 54 deletions

View File

@@ -25,12 +25,17 @@ const DownloadContext = createContext<ReturnType<
function useDownloadProvider() {
const [api] = useAtom(apiAtom);
const [processes, setProcesses] = useAtom<JobStatus[]>(processesAtom);
const [, setRefreshKey] = useAtom(downloadsRefreshAtom);
const [refreshKey, setRefreshKey] = useAtom(downloadsRefreshAtom);
const successHapticFeedback = useHaptic("success");
// Track task ID to process ID mapping
const taskMapRef = useRef<Map<number, string>>(new Map());
// Reactive downloaded items that updates when refreshKey changes
const downloadedItems = useMemo(() => {
return getAllDownloadedItems();
}, [refreshKey]);
// Trigger refresh of download lists
const triggerRefresh = useCallback(() => {
setRefreshKey((prev) => prev + 1);
@@ -114,7 +119,8 @@ function useDownloadProvider() {
return {
processes,
startBackgroundDownload,
getDownloadedItems: getAllDownloadedItems,
downloadedItems, // Reactive value that auto-updates
getDownloadedItems: getAllDownloadedItems, // Keep for backward compatibility
getDownloadsDatabase,
deleteAllFiles,
deleteFile,
@@ -144,6 +150,7 @@ export function useDownload() {
return {
processes: [],
startBackgroundDownload: async () => {},
downloadedItems: [],
getDownloadedItems: () => [],
getDownloadsDatabase: () => ({ movies: {}, series: {}, other: {} }),
deleteAllFiles: async () => {},