mirror of
https://github.com/immich-app/immich
synced 2025-11-07 17:27:20 +00:00
feat(web): determine duplication of upload on client (#8825)
* web upload duplicate verification on client * _ * fix formating * chore: clean up --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
This commit is contained in:
parent
7961d00e56
commit
ec4e6a143e
2 changed files with 97 additions and 62 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import { derived, writable } from 'svelte/store';
|
||||
import { derived, get, writable } from 'svelte/store';
|
||||
import { UploadState, type UploadAsset } from '../models/upload-asset';
|
||||
|
||||
function createUploadStore() {
|
||||
|
|
@ -22,17 +22,23 @@ function createUploadStore() {
|
|||
);
|
||||
|
||||
const addNewUploadAsset = (newAsset: UploadAsset) => {
|
||||
totalUploadCounter.update((c) => c + 1);
|
||||
uploadAssets.update((assets) => [
|
||||
...assets,
|
||||
{
|
||||
...newAsset,
|
||||
speed: 0,
|
||||
state: UploadState.PENDING,
|
||||
progress: 0,
|
||||
eta: 0,
|
||||
},
|
||||
]);
|
||||
const assets = get(uploadAssets);
|
||||
const duplicate = assets.find((asset) => asset.id === newAsset.id);
|
||||
if (duplicate) {
|
||||
uploadAssets.update((assets) => assets.map((asset) => (asset.id === newAsset.id ? newAsset : asset)));
|
||||
} else {
|
||||
totalUploadCounter.update((c) => c + 1);
|
||||
uploadAssets.update((assets) => [
|
||||
...assets,
|
||||
{
|
||||
...newAsset,
|
||||
speed: 0,
|
||||
state: UploadState.PENDING,
|
||||
progress: 0,
|
||||
eta: 0,
|
||||
},
|
||||
]);
|
||||
}
|
||||
};
|
||||
|
||||
const updateProgress = (id: string, loaded: number, total: number) => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue