/
uiConfig.ts
70 lines (63 loc) · 1.53 KB
/
uiConfig.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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import { ReactNode } from 'react';
export interface IUiConfig {
authenticationType?: string;
baseUriPath?: string;
flags: IFlags;
name: string;
slogan: string;
environment?: string;
unleashUrl?: string;
version: string;
versionInfo?: IVersionInfo;
links: ILinks[];
disablePasswordAuth?: boolean;
emailEnabled?: boolean;
networkViewEnabled: boolean;
maintenanceMode?: boolean;
toast?: IProclamationToast;
segmentValuesLimit?: number;
strategySegmentsLimit?: number;
frontendApiOrigins?: string[];
}
export interface IProclamationToast {
message: string;
id: string;
severity: 'success' | 'info' | 'warning' | 'error';
link: string;
}
export interface IFlags {
P: boolean;
RE: boolean;
EEA?: boolean;
SE?: boolean;
T?: boolean;
UNLEASH_CLOUD?: boolean;
UG?: boolean;
ENABLE_DARK_MODE_SUPPORT?: boolean;
embedProxyFrontend?: boolean;
maintenance?: boolean;
maintenanceMode?: boolean;
messageBanner?: boolean;
featuresExportImport?: boolean;
newProjectOverview?: boolean;
caseInsensitiveInOperators?: boolean;
crOnVariants?: boolean;
showProjectApiAccess?: boolean;
proPlanAutoCharge?: boolean;
}
export interface IVersionInfo {
instanceId: string;
isLatest: boolean;
latest: Partial<IVersion>;
current: IVersion;
}
export interface IVersion {
oss: string;
enterprise: string;
}
export interface ILinks {
value: string;
icon: ReactNode;
href: string;
title: string;
}