From 653f686ee0fb6d5aa5c7d43ff6bd993d5b4e7a7d Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Wed, 23 Oct 2024 14:01:39 +0530 Subject: [PATCH] id is enough --- web/apps/photos/src/pages/gallery.tsx | 7 +++---- web/packages/new/photos/components/PeopleList.tsx | 4 ++-- web/packages/new/photos/components/SearchBar.tsx | 11 +++++------ .../new/photos/components/gallery/BarImpl.tsx | 11 +++++------ 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/web/apps/photos/src/pages/gallery.tsx b/web/apps/photos/src/pages/gallery.tsx index 9c288e67c7..9aba0993ec 100644 --- a/web/apps/photos/src/pages/gallery.tsx +++ b/web/apps/photos/src/pages/gallery.tsx @@ -38,7 +38,6 @@ import { getLocalTrashedFiles, sortFiles, } from "@/new/photos/services/files"; -import type { Person } from "@/new/photos/services/ml/people"; import { filterSearchableFiles, setSearchCollectionsAndFiles, @@ -855,9 +854,9 @@ export default function Gallery() { }); }; - const handleSelectPerson = (person: Person | undefined) => - person - ? dispatch({ type: "showPerson", personID: person.id }) + const handleSelectPerson = (personID: string | undefined) => + personID + ? dispatch({ type: "showPerson", personID }) : dispatch({ type: "showPeople" }); const handleOpenCollectionSelector = useCallback( diff --git a/web/packages/new/photos/components/PeopleList.tsx b/web/packages/new/photos/components/PeopleList.tsx index e5b7b80576..666141d9ab 100644 --- a/web/packages/new/photos/components/PeopleList.tsx +++ b/web/packages/new/photos/components/PeopleList.tsx @@ -8,7 +8,7 @@ import { UnstyledButton } from "./UnstyledButton"; export interface SearchPeopleListProps { people: Person[]; - onSelectPerson: (person: Person) => void; + onSelectPerson: (personID: string) => void; } /** @@ -26,7 +26,7 @@ export const SearchPeopleList: React.FC = ({ {people.slice(0, isSmallWidth ? 6 : 7).map((person) => ( onSelectPerson(person)} + onClick={() => onSelectPerson(person.id)} > void; + onSelectPerson: (personID: string | undefined) => void; } /** @@ -185,9 +184,9 @@ const SearchInput: React.FC> = ({ onSelectSearchOption(undefined); }; - const handleSelectPerson = (person: Person | undefined) => { + const handleSelectPerson = (personID: string | undefined) => { resetSearch(); - onSelectPerson(person); + onSelectPerson(personID); }; const handleFocus = () => { diff --git a/web/packages/new/photos/components/gallery/BarImpl.tsx b/web/packages/new/photos/components/gallery/BarImpl.tsx index 7cd754c240..6821b622b0 100644 --- a/web/packages/new/photos/components/gallery/BarImpl.tsx +++ b/web/packages/new/photos/components/gallery/BarImpl.tsx @@ -95,10 +95,9 @@ export interface GalleryBarImplProps { */ activePerson: Person | undefined; /** - * Called when the selection should be moved to a new person in the bar, or - * reset to the default state (when {@link person} is `undefined`). + * Called when the selection should be moved to a new person in the bar. */ - onSelectPerson: (person: Person | undefined) => void; + onSelectPerson: (personID: string) => void; } export const GalleryBarImpl: React.FC = ({ @@ -423,7 +422,7 @@ type ItemData = type: "people"; people: Person[]; activePerson: Person | undefined; - onSelectPerson: (person: Person) => void; + onSelectPerson: (personID: string) => void; }; const getItemCount = (data: ItemData) => { @@ -578,7 +577,7 @@ const ActiveIndicator = styled("div")` interface PersonCardProps { person: Person; activePerson: Person | undefined; - onSelectPerson: (person: Person) => void; + onSelectPerson: (personID: string) => void; } const PersonCard: React.FC = ({ @@ -591,7 +590,7 @@ const PersonCard: React.FC = ({ TileComponent={BarItemTile} coverFile={person.displayFaceFile} coverFaceID={person.displayFaceID} - onClick={() => onSelectPerson(person)} + onClick={() => onSelectPerson(person.id)} > {person.name && {person.name}}