remove setFiles from photoFrame and work but mutuating state

This commit is contained in:
Abhinav 2022-10-27 16:57:08 +05:30
parent 6e4e040d54
commit a8ff3f78a4
4 changed files with 8 additions and 35 deletions

View file

@ -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]);

View file

@ -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}

View file

@ -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}

View file

@ -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}