remove setFiles from photoFrame and work but mutuating state
This commit is contained in:
parent
6e4e040d54
commit
a8ff3f78a4
|
@ -15,7 +15,7 @@ import {
|
||||||
import { isSharedFile } from 'utils/file';
|
import { isSharedFile } from 'utils/file';
|
||||||
import { isPlaybackPossible } from 'utils/photoFrame';
|
import { isPlaybackPossible } from 'utils/photoFrame';
|
||||||
import { PhotoList } from './PhotoList';
|
import { PhotoList } from './PhotoList';
|
||||||
import { SetFiles, SelectedState } from 'types/gallery';
|
import { SelectedState } from 'types/gallery';
|
||||||
import { FILE_TYPE } from 'constants/file';
|
import { FILE_TYPE } from 'constants/file';
|
||||||
import PublicCollectionDownloadManager from 'services/publicCollectionDownloadManager';
|
import PublicCollectionDownloadManager from 'services/publicCollectionDownloadManager';
|
||||||
import { PublicCollectionGalleryContext } from 'utils/publicCollectionGallery';
|
import { PublicCollectionGalleryContext } from 'utils/publicCollectionGallery';
|
||||||
|
@ -49,7 +49,6 @@ const PHOTOSWIPE_HASH_SUFFIX = '&opened';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
files: EnteFile[];
|
files: EnteFile[];
|
||||||
setFiles: SetFiles;
|
|
||||||
syncWithRemote: () => Promise<void>;
|
syncWithRemote: () => Promise<void>;
|
||||||
favItemIds?: Set<number>;
|
favItemIds?: Set<number>;
|
||||||
archivedCollections?: Set<number>;
|
archivedCollections?: Set<number>;
|
||||||
|
@ -77,7 +76,6 @@ type SourceURL = {
|
||||||
|
|
||||||
const PhotoFrame = ({
|
const PhotoFrame = ({
|
||||||
files,
|
files,
|
||||||
setFiles,
|
|
||||||
syncWithRemote,
|
syncWithRemote,
|
||||||
favItemIds,
|
favItemIds,
|
||||||
archivedCollections,
|
archivedCollections,
|
||||||
|
@ -263,12 +261,10 @@ const PhotoFrame = ({
|
||||||
|
|
||||||
const updateURL = (id: number) => (url: string) => {
|
const updateURL = (id: number) => (url: string) => {
|
||||||
const updateFile = (file: EnteFile) => {
|
const updateFile = (file: EnteFile) => {
|
||||||
file = {
|
file.msrc = url;
|
||||||
...file,
|
file.w = window.innerWidth;
|
||||||
msrc: url,
|
file.h = window.innerHeight;
|
||||||
w: window.innerWidth,
|
|
||||||
h: window.innerHeight,
|
|
||||||
};
|
|
||||||
if (file.metadata.fileType === FILE_TYPE.VIDEO && !file.html) {
|
if (file.metadata.fileType === FILE_TYPE.VIDEO && !file.html) {
|
||||||
file.html = `
|
file.html = `
|
||||||
<div class="pswp-item-container">
|
<div class="pswp-item-container">
|
||||||
|
@ -298,15 +294,6 @@ const PhotoFrame = ({
|
||||||
}
|
}
|
||||||
return file;
|
return file;
|
||||||
};
|
};
|
||||||
setFiles((files) => {
|
|
||||||
try {
|
|
||||||
const index = getFileIndexFromID(files, id);
|
|
||||||
files[index] = updateFile(files[index]);
|
|
||||||
} catch (e) {
|
|
||||||
logError(e, 'failed to update url');
|
|
||||||
}
|
|
||||||
return files;
|
|
||||||
});
|
|
||||||
const index = getFileIndexFromID(files, id);
|
const index = getFileIndexFromID(files, id);
|
||||||
return updateFile(files[index]);
|
return updateFile(files[index]);
|
||||||
};
|
};
|
||||||
|
@ -315,11 +302,9 @@ const PhotoFrame = ({
|
||||||
const { videoURL, imageURL } = srcURL;
|
const { videoURL, imageURL } = srcURL;
|
||||||
const isPlayable = videoURL && (await isPlaybackPossible(videoURL));
|
const isPlayable = videoURL && (await isPlaybackPossible(videoURL));
|
||||||
const updateFile = (file: EnteFile) => {
|
const updateFile = (file: EnteFile) => {
|
||||||
file = {
|
file.w = window.innerWidth;
|
||||||
...file,
|
file.h = window.innerHeight;
|
||||||
w: window.innerWidth,
|
|
||||||
h: window.innerHeight,
|
|
||||||
};
|
|
||||||
if (file.metadata.fileType === FILE_TYPE.VIDEO) {
|
if (file.metadata.fileType === FILE_TYPE.VIDEO) {
|
||||||
if (isPlayable) {
|
if (isPlayable) {
|
||||||
file.html = `
|
file.html = `
|
||||||
|
@ -366,15 +351,6 @@ const PhotoFrame = ({
|
||||||
}
|
}
|
||||||
return file;
|
return file;
|
||||||
};
|
};
|
||||||
setFiles((files) => {
|
|
||||||
try {
|
|
||||||
const index = getFileIndexFromID(files, id);
|
|
||||||
files[index] = updateFile(files[index]);
|
|
||||||
} catch (e) {
|
|
||||||
logError(e, 'failed to update src url');
|
|
||||||
}
|
|
||||||
return files;
|
|
||||||
});
|
|
||||||
setIsSourceLoaded(true);
|
setIsSourceLoaded(true);
|
||||||
const index = getFileIndexFromID(files, id);
|
const index = getFileIndexFromID(files, id);
|
||||||
return updateFile(files[index]);
|
return updateFile(files[index]);
|
||||||
|
|
|
@ -166,7 +166,6 @@ export default function Deduplicate() {
|
||||||
)}
|
)}
|
||||||
<PhotoFrame
|
<PhotoFrame
|
||||||
files={duplicateFiles}
|
files={duplicateFiles}
|
||||||
setFiles={setDuplicateFiles}
|
|
||||||
syncWithRemote={syncWithRemote}
|
syncWithRemote={syncWithRemote}
|
||||||
setSelected={setSelected}
|
setSelected={setSelected}
|
||||||
selected={selected}
|
selected={selected}
|
||||||
|
|
|
@ -690,7 +690,6 @@ export default function Gallery() {
|
||||||
|
|
||||||
<PhotoFrame
|
<PhotoFrame
|
||||||
files={files}
|
files={files}
|
||||||
setFiles={setFiles}
|
|
||||||
syncWithRemote={syncWithRemote}
|
syncWithRemote={syncWithRemote}
|
||||||
favItemIds={favItemIds}
|
favItemIds={favItemIds}
|
||||||
archivedCollections={archivedCollections}
|
archivedCollections={archivedCollections}
|
||||||
|
|
|
@ -309,7 +309,6 @@ export default function PublicCollectionGallery() {
|
||||||
<SharedAlbumNavbar />
|
<SharedAlbumNavbar />
|
||||||
<PhotoFrame
|
<PhotoFrame
|
||||||
files={publicFiles}
|
files={publicFiles}
|
||||||
setFiles={setPublicFiles}
|
|
||||||
syncWithRemote={syncWithRemote}
|
syncWithRemote={syncWithRemote}
|
||||||
favItemIds={null}
|
favItemIds={null}
|
||||||
setSelected={() => null}
|
setSelected={() => null}
|
||||||
|
|
Loading…
Reference in a new issue