fix: after merge route

This commit is contained in:
martabal 2024-10-14 18:27:45 +02:00
parent b8524680f6
commit 97e17495a5
No known key found for this signature in database
GPG Key ID: C00196E3148A52BD
3 changed files with 16 additions and 3 deletions

View File

@ -71,6 +71,7 @@ export const dateFormats = {
export enum QueryParameter { export enum QueryParameter {
ACTION = 'action', ACTION = 'action',
AFTER_MERGE_ROUTE = 'afterMergeRoute',
ID = 'id', ID = 'id',
IS_OPEN = 'isOpen', IS_OPEN = 'isOpen',
ONBOARDING_STEP = 'step', ONBOARDING_STEP = 'step',

View File

@ -193,9 +193,11 @@
}; };
const handleMergePeople = async (detail: PersonResponseDto) => { const handleMergePeople = async (detail: PersonResponseDto) => {
await goto( const url = new URL(`${AppRoute.PEOPLE}/${detail.id}`, window.location.href);
`${AppRoute.PEOPLE}/${detail.id}?${QueryParameter.ACTION}=${ActionQueryParameterValue.MERGE}&${QueryParameter.PREVIOUS_ROUTE}=${AppRoute.PEOPLE}`, url.searchParams.append(QueryParameter.ACTION, ActionQueryParameterValue.MERGE);
); url.searchParams.append(QueryParameter.PREVIOUS_ROUTE, AppRoute.PEOPLE);
url.searchParams.append(QueryParameter.AFTER_MERGE_ROUTE, AppRoute.PEOPLE);
await goto(url);
}; };
const submitNameChange = async () => { const submitNameChange = async () => {

View File

@ -90,6 +90,7 @@
let viewMode: ViewMode = ViewMode.VIEW_ASSETS; let viewMode: ViewMode = ViewMode.VIEW_ASSETS;
let isEditingName = false; let isEditingName = false;
let previousRoute: string = AppRoute.EXPLORE; let previousRoute: string = AppRoute.EXPLORE;
let afterMergeRoute: string | undefined = undefined;
let people: PersonResponseDto[] = []; let people: PersonResponseDto[] = [];
let personMerge1: PersonResponseDto; let personMerge1: PersonResponseDto;
let personMerge2: PersonResponseDto; let personMerge2: PersonResponseDto;
@ -119,6 +120,11 @@
if (getPreviousRoute && !isExternalUrl(getPreviousRoute)) { if (getPreviousRoute && !isExternalUrl(getPreviousRoute)) {
previousRoute = getPreviousRoute; previousRoute = getPreviousRoute;
} }
const getAfterMergeRoute = $page.url.searchParams.get(QueryParameter.AFTER_MERGE_ROUTE);
if (getAfterMergeRoute && !isExternalUrl(getAfterMergeRoute)) {
afterMergeRoute = getAfterMergeRoute;
}
if (action == 'merge') { if (action == 'merge') {
viewMode = ViewMode.MERGE_PEOPLE; viewMode = ViewMode.MERGE_PEOPLE;
} }
@ -188,6 +194,10 @@
}; };
const handleMerge = async (person: PersonResponseDto) => { const handleMerge = async (person: PersonResponseDto) => {
if (afterMergeRoute) {
await goto(afterMergeRoute);
return;
}
await updateAssetCount(); await updateAssetCount();
await handleGoBack(); await handleGoBack();