'use client'; import { Icon } from '../../icons'; import { useGallery, useGalleryStoreApi } from '../../store/context'; import { promptAlbumName } from '../modals'; export function PeopleView() { const api = useGalleryStoreApi(); const people = useGallery((s) => s.people); const media = useGallery((s) => s.media); if (people.length === 0) { return (
Finding People…
People and pets are grouped automatically as photos are analyzed. Add more photos and they will appear here.
); } return (
{people.map((p) => { const cover = media.find((m) => m.id === (p.coverId ?? p.mediaIds[0])); const rename = () => promptAlbumName( p.name ? `Rename ${p.isPet ? 'pet' : 'person'}` : `Name this ${p.isPet ? 'pet' : 'person'}`, p.name ?? '', (name) => api.getState().renamePerson(p.id, name), { placeholder: p.isPet ? 'Pet name' : 'Name', confirmLabel: 'Save' }, ); return (
{p.mediaIds.length} {p.mediaIds.length === 1 ? 'photo' : 'photos'}
); })}
); }