diff --git a/src/components/PhotoFrame.tsx b/src/components/PhotoFrame.tsx index 28de2cdc6..750ef4cf0 100644 --- a/src/components/PhotoFrame.tsx +++ b/src/components/PhotoFrame.tsx @@ -191,7 +191,7 @@ const PhotoFrame = ({ const filteredDataIdx = filteredData.findIndex( (data) => data.dataIndex === search.fileIndex ); - if (filteredDataIdx) { + if (filteredDataIdx || filteredDataIdx === 0) { onThumbnailClick(filteredDataIdx)(); } } diff --git a/src/services/searchService.ts b/src/services/searchService.ts index 0469ebf21..34c5c06b9 100644 --- a/src/services/searchService.ts +++ b/src/services/searchService.ts @@ -116,14 +116,22 @@ export function searchCollection( export function searchFiles(searchPhrase: string, files: File[]) { const user: User = getData(LS_KEYS.USER) ?? {}; + const idSet = new Set(); return files .map((file, idx) => ({ title: file.metadata.title, index: idx, type: file.metadata.fileType, ownerID: file.ownerID, + id: file.id, })) - .filter((file) => file.ownerID === user.id) + .filter((file) => { + if (file.ownerID === user.id && !idSet.has(file.id)) { + idSet.add(file.id); + return true; + } + return false; + }) .filter(({ title }) => title.toLowerCase().includes(searchPhrase)) .slice(0, 4); }