Spaces:
Sleeping
Sleeping
| // 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; | |
| } | |
| } | |