Spaces:
Sleeping
Sleeping
File size: 961 Bytes
05c5ed5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | // Simple admin navigation utilities using URL-encoded state
/**
* Build user detail URL with current page state preserved
*/
export function buildUserDetailUrl(
userId: string,
currentSearchParams: string = "",
): string {
if (!currentSearchParams) {
return `/admin/users/${userId}`;
}
// URL encode the search params to pass as a single parameter
const encodedParams = encodeURIComponent(currentSearchParams);
return `/admin/users/${userId}?searchPageParams=${encodedParams}`;
}
/**
* Build return URL from encoded search params
*/
export function buildReturnUrl(
baseUrl: string,
encodedSearchParams: string = "",
): string {
if (!encodedSearchParams) {
return baseUrl;
}
try {
const decodedParams = decodeURIComponent(encodedSearchParams);
return decodedParams ? `${baseUrl}?${decodedParams}` : baseUrl;
} catch (error) {
console.error("Error decoding search params:", error);
return baseUrl;
}
}
|