mirror of
https://github.com/immich-app/immich.git
synced 2025-06-03 21:54:21 -04:00
* refactor: download assets * chore: open api * chore: finish tests, make size configurable * chore: defualt to 4GiB * chore: open api * fix: optional archive size * fix: bugs * chore: cleanup
27 lines
674 B
TypeScript
27 lines
674 B
TypeScript
import { writable, derived } from 'svelte/store';
|
|
|
|
export const downloadAssets = writable<Record<string, number>>({});
|
|
|
|
export const isDownloading = derived(downloadAssets, ($downloadAssets) => {
|
|
if (Object.keys($downloadAssets).length == 0) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
});
|
|
|
|
const update = (key: string, value: number | null) => {
|
|
downloadAssets.update((state) => {
|
|
const newState = { ...state };
|
|
if (value === null) {
|
|
delete newState[key];
|
|
} else {
|
|
newState[key] = value;
|
|
}
|
|
return newState;
|
|
});
|
|
};
|
|
|
|
export const clearDownload = (key: string) => update(key, null);
|
|
export const updateDownload = (key: string, value: number) => update(key, value);
|