fix(web): multiple fixes for people (#9343)
fix: multiple fixes for people Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
@@ -60,14 +60,23 @@
|
||||
let edittingPerson: PersonResponseDto | null = null;
|
||||
let searchedPeopleLocal: PersonResponseDto[] = [];
|
||||
let handleSearchPeople: (force?: boolean, name?: string) => Promise<void>;
|
||||
let showPeople: PersonResponseDto[] = [];
|
||||
let countVisiblePeople: number;
|
||||
|
||||
let innerHeight: number;
|
||||
|
||||
for (const person of people) {
|
||||
initialHiddenValues[person.id] = person.isHidden;
|
||||
}
|
||||
$: showPeople = searchName ? searchedPeopleLocal : people.filter((person) => !person.isHidden);
|
||||
$: countVisiblePeople = countTotalPeople - countHiddenPeople;
|
||||
$: {
|
||||
if (searchName) {
|
||||
showPeople = searchedPeopleLocal;
|
||||
countVisiblePeople = searchedPeopleLocal.length;
|
||||
} else {
|
||||
showPeople = people.filter((person) => !person.isHidden);
|
||||
countVisiblePeople = countTotalPeople - countHiddenPeople;
|
||||
}
|
||||
}
|
||||
|
||||
onMount(async () => {
|
||||
const getSearchedPeople = $page.url.searchParams.get(QueryParameter.SEARCHED_PEOPLE);
|
||||
@@ -382,7 +391,7 @@
|
||||
|
||||
<UserPageLayout
|
||||
title="People"
|
||||
description={countVisiblePeople === 0 ? undefined : `(${countVisiblePeople.toLocaleString($locale)})`}
|
||||
description={countVisiblePeople === 0 && !searchName ? undefined : `(${countVisiblePeople.toLocaleString($locale)})`}
|
||||
>
|
||||
<svelte:fragment slot="buttons">
|
||||
{#if countTotalPeople > 0}
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
import { assetViewingStore } from '$lib/stores/asset-viewing.store';
|
||||
import { AssetStore } from '$lib/stores/assets.store';
|
||||
import { websocketEvents } from '$lib/stores/websocket';
|
||||
import { getPeopleThumbnailUrl } from '$lib/utils';
|
||||
import { getPeopleThumbnailUrl, handlePromiseError } from '$lib/utils';
|
||||
import { clickOutside } from '$lib/utils/click-outside';
|
||||
import { handleError } from '$lib/utils/handle-error';
|
||||
import { isExternalUrl } from '$lib/utils/navigation';
|
||||
@@ -137,12 +137,23 @@
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
const updateAssetCount = async () => {
|
||||
try {
|
||||
const { assets } = await getPersonStatistics({ id: data.person.id });
|
||||
numberOfAssets = assets;
|
||||
} catch (error) {
|
||||
handleError(error, "Can't update the asset count");
|
||||
}
|
||||
};
|
||||
|
||||
afterNavigate(({ from }) => {
|
||||
// Prevent setting previousRoute to the current page.
|
||||
if (from && from.route.id !== $page.route.id) {
|
||||
previousRoute = from.url.href;
|
||||
}
|
||||
if (previousPersonId !== data.person.id) {
|
||||
handlePromiseError(updateAssetCount());
|
||||
assetStore = new AssetStore({
|
||||
isArchived: false,
|
||||
personId: data.person.id,
|
||||
@@ -182,8 +193,7 @@
|
||||
};
|
||||
|
||||
const handleMerge = async (person: PersonResponseDto) => {
|
||||
const { assets } = await getPersonStatistics({ id: person.id });
|
||||
numberOfAssets = assets;
|
||||
await updateAssetCount();
|
||||
await handleGoBack();
|
||||
|
||||
data.person = person;
|
||||
@@ -204,15 +214,6 @@
|
||||
viewMode = ViewMode.VIEW_ASSETS;
|
||||
};
|
||||
|
||||
const updateAssetCount = async () => {
|
||||
try {
|
||||
const { assets } = await getPersonStatistics({ id: data.person.id });
|
||||
numberOfAssets = assets;
|
||||
} catch (error) {
|
||||
handleError(error, "Can't update the asset count");
|
||||
}
|
||||
};
|
||||
|
||||
const handleMergeSamePerson = async (response: [PersonResponseDto, PersonResponseDto]) => {
|
||||
const [personToMerge, personToBeMergedIn] = response;
|
||||
viewMode = ViewMode.VIEW_ASSETS;
|
||||
|
||||
Reference in New Issue
Block a user