feat: select all unknown people in album details

This commit is contained in:
Varun Raj committed 2025-07-27 11:11:00 +05:30
1 parent 8dab4ced5b
commit 3cad04255a
1 file changed
+23 -2
+23 -2
View File
@@ -38,7 +38,7 @@ export default function AlbumPeople({ album, onSelect, readOnly }: AlbumPeoplePr
const [selectionMode, setSelectionMode] = useState<boolean>(false)
const [selectedPeople, setSelectedPeople] = useState<string[]>([])
const [searchQuery, setSearchQuery] = useState<string>("")
const selectedPerson = useMemo(() => {
return people.find((person) => query.faceId === person.id)
}, [people, query.faceId])
@@ -98,6 +98,18 @@ export default function AlbumPeople({ album, onSelect, readOnly }: AlbumPeoplePr
}
}
const handleUnknownPeopleCheck = (checked: boolean) => {
setSelectedPeople(checked ? unknownPeople.map((person) => person.id) : [])
router.push({
pathname,
query: {
...query,
faceId: null
}
})
}
useEffect(() => {
fetchPeople()
}, [])
@@ -109,6 +121,8 @@ export default function AlbumPeople({ album, onSelect, readOnly }: AlbumPeoplePr
return <div>{errorMessage}</div>
}
const renderPerson = (person: IAlbumPerson) => (
<div
className={cn(
@@ -229,7 +243,14 @@ export default function AlbumPeople({ album, onSelect, readOnly }: AlbumPeoplePr
</div>
{unknownPeople.length > 0 && (
<div className='flex flex-col gap-1'>
<p className='text-sm font-medium'>Unknown People</p>
<div className='flex items-center gap-2'>
<p className='text-sm font-medium'>Unknown People</p>
<Checkbox
id='unknown-people-checkbox'
checked={selectedPeople.length === unknownPeople.length}
onCheckedChange={handleUnknownPeopleCheck}
/>
</div>
{unknownPeople.map(renderPerson)}
</div>
)}