-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathgetUrlData.ts
36 lines (35 loc) · 1.12 KB
/
getUrlData.ts
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
export const getUrlData = ({
href,
singleClusterMode,
customBackend,
}: {
href: string;
singleClusterMode: boolean;
customBackend?: string;
}) => {
if (!singleClusterMode) {
const urlSearchParams = new URL(href).searchParams;
const backend = urlSearchParams.get('backend') ?? undefined;
const clusterName = urlSearchParams.get('clusterName') ?? undefined;
return {
basename: '/',
backend,
clusterName,
};
} else if (customBackend) {
const urlSearchParams = new URL(href).searchParams;
const backend = urlSearchParams.get('backend') ?? undefined;
return {
basename: '/',
backend: backend ? backend : customBackend,
};
} else {
const parsedPrefix = window.location.pathname.match(/.*(?=\/monitoring)/) || [];
const basenamePrefix = parsedPrefix.length > 0 ? parsedPrefix[0] : '';
const basename = [basenamePrefix, 'monitoring'].filter(Boolean).join('/');
return {
basename,
backend: basenamePrefix || '',
};
}
};