Skip to content

Commit b671d61

Browse files
committed
fix: multiple fixes for people
1 parent 98f87b2 commit b671d61

File tree

5 files changed

+30
-35
lines changed

5 files changed

+30
-35
lines changed

Diff for: web/src/lib/components/faces-page/merge-face-selector.svelte

+2-10
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@
3030
}>();
3131
3232
$: hasSelection = selectedPeople.length > 0;
33-
$: unselectedPeople = people.filter(
34-
(source) => !selectedPeople.some((selected) => selected.id === source.id) && source.id !== person.id,
35-
);
33+
$: peopleToNotShow = [...selectedPeople, person];
3634
3735
onMount(async () => {
3836
const data = await getAllPeople({ withHidden: false });
@@ -150,13 +148,7 @@
150148
</div>
151149
</div>
152150

153-
<PeopleList
154-
people={unselectedPeople}
155-
peopleCopy={unselectedPeople}
156-
unselectedPeople={selectedPeople}
157-
{screenHeight}
158-
on:select={({ detail }) => onSelect(detail)}
159-
/>
151+
<PeopleList {people} {peopleToNotShow} {screenHeight} on:select={({ detail }) => onSelect(detail)} />
160152
</section>
161153

162154
{#if isShowConfirmation}

Diff for: web/src/lib/components/faces-page/people-list.svelte

+6-11
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
77
export let screenHeight: number;
88
export let people: PersonResponseDto[];
9-
export let peopleCopy: PersonResponseDto[];
10-
export let unselectedPeople: PersonResponseDto[];
9+
export let peopleToNotShow: PersonResponseDto[];
10+
let searchedPeopleLocal: PersonResponseDto[] = [];
1111
1212
let name = '';
1313
let showPeople: PersonResponseDto[];
@@ -17,20 +17,15 @@
1717
}>();
1818
1919
$: {
20-
showPeople = people.filter(
21-
(person) => !unselectedPeople.some((unselectedPerson) => unselectedPerson.id === person.id),
20+
showPeople = name ? searchedPeopleLocal : people;
21+
showPeople = showPeople.filter(
22+
(person) => !peopleToNotShow.some((unselectedPerson) => unselectedPerson.id === person.id),
2223
);
2324
}
2425
</script>
2526

2627
<div class=" w-40 sm:w-48 md:w-96 h-14 mb-8">
27-
<SearchPeople
28-
type="searchBar"
29-
placeholder="Search people"
30-
bind:searchName={name}
31-
bind:searchedPeopleLocal={people}
32-
onReset={() => (people = peopleCopy)}
33-
/>
28+
<SearchPeople type="searchBar" placeholder="Search people" bind:searchName={name} bind:searchedPeopleLocal />
3429
</div>
3530

3631
<div

Diff for: web/src/lib/components/faces-page/unmerge-face-selector.svelte

+2-10
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@
3131
let hasSelection = false;
3232
let screenHeight: number;
3333
34-
$: unselectedPeople = selectedPerson
35-
? people.filter((person) => selectedPerson && person.id !== selectedPerson.id && personAssets.id !== person.id)
36-
: people;
34+
$: peopleToNotShow = selectedPerson ? [personAssets, selectedPerson] : [personAssets];
3735
3836
let dispatch = createEventDispatcher<{
3937
confirm: void;
@@ -178,13 +176,7 @@
178176
</div>
179177
</div>
180178
{/if}
181-
<PeopleList
182-
people={unselectedPeople}
183-
peopleCopy={unselectedPeople}
184-
unselectedPeople={selectedPerson ? [selectedPerson, personAssets] : [personAssets]}
185-
{screenHeight}
186-
on:select={({ detail }) => handleSelectedPerson(detail)}
187-
/>
179+
<PeopleList {people} {peopleToNotShow} {screenHeight} on:select={({ detail }) => handleSelectedPerson(detail)} />
188180
</section>
189181
</section>
190182
</section>

Diff for: web/src/routes/(user)/people/+page.svelte

+12-3
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,23 @@
6060
let edittingPerson: PersonResponseDto | null = null;
6161
let searchedPeopleLocal: PersonResponseDto[] = [];
6262
let handleSearchPeople: (force?: boolean, name?: string) => Promise<void>;
63+
let showPeople: PersonResponseDto[] = [];
64+
let countVisiblePeople: number;
6365
6466
let innerHeight: number;
6567
6668
for (const person of people) {
6769
initialHiddenValues[person.id] = person.isHidden;
6870
}
69-
$: showPeople = searchName ? searchedPeopleLocal : people.filter((person) => !person.isHidden);
70-
$: countVisiblePeople = countTotalPeople - countHiddenPeople;
71+
$: {
72+
if (searchName) {
73+
showPeople = searchedPeopleLocal;
74+
countVisiblePeople = searchedPeopleLocal.length;
75+
} else {
76+
showPeople = people.filter((person) => !person.isHidden);
77+
countVisiblePeople = countTotalPeople - countHiddenPeople;
78+
}
79+
}
7180
7281
onMount(async () => {
7382
const getSearchedPeople = $page.url.searchParams.get(QueryParameter.SEARCHED_PEOPLE);
@@ -382,7 +391,7 @@
382391

383392
<UserPageLayout
384393
title="People"
385-
description={countVisiblePeople === 0 ? undefined : `(${countVisiblePeople.toLocaleString($locale)})`}
394+
description={countVisiblePeople === 0 && !searchName ? undefined : `(${countVisiblePeople.toLocaleString($locale)})`}
386395
>
387396
<svelte:fragment slot="buttons">
388397
{#if countTotalPeople > 0}

Diff for: web/src/routes/(user)/people/[personId]/[[photos=photos]]/[[assetId=id]]/+page.svelte

+8-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import { assetViewingStore } from '$lib/stores/asset-viewing.store';
3232
import { AssetStore } from '$lib/stores/assets.store';
3333
import { websocketEvents } from '$lib/stores/websocket';
34-
import { getPeopleThumbnailUrl } from '$lib/utils';
34+
import { getPeopleThumbnailUrl, handlePromiseError } from '$lib/utils';
3535
import { clickOutside } from '$lib/utils/click-outside';
3636
import { handleError } from '$lib/utils/handle-error';
3737
import { isExternalUrl } from '$lib/utils/navigation';
@@ -137,12 +137,19 @@
137137
return;
138138
}
139139
};
140+
141+
const handleRefreshStats = async () => {
142+
const { assets } = await getPersonStatistics({ id: data.person.id });
143+
numberOfAssets = assets;
144+
};
145+
140146
afterNavigate(({ from }) => {
141147
// Prevent setting previousRoute to the current page.
142148
if (from && from.route.id !== $page.route.id) {
143149
previousRoute = from.url.href;
144150
}
145151
if (previousPersonId !== data.person.id) {
152+
handlePromiseError(handleRefreshStats());
146153
assetStore = new AssetStore({
147154
isArchived: false,
148155
personId: data.person.id,

0 commit comments

Comments
 (0)