|
|
|
@ -393,7 +393,7 @@ class App extends Component {
|
|
|
|
|
isAiAssistantOpen: true,
|
|
|
|
|
});
|
|
|
|
|
}}>
|
|
|
|
|
<DeploymentUnitOutlined style={{fontSize: "24px", color: "rgb(77,77,77)"}} />
|
|
|
|
|
<DeploymentUnitOutlined style={{fontSize: "24px"}} />
|
|
|
|
|
</div>
|
|
|
|
|
</Tooltip>
|
|
|
|
|
<OpenTour />
|
|
|
|
@ -420,7 +420,10 @@ class App extends Component {
|
|
|
|
|
return [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
res.push(Setting.getItem(<Link to="/">{i18next.t("general:Home")}</Link>, "/home", <HomeTwoTone />, [
|
|
|
|
|
const textColor = this.state.themeAlgorithm.includes("dark") ? "white" : "black";
|
|
|
|
|
const twoToneColor = this.state.themeData.colorPrimary;
|
|
|
|
|
|
|
|
|
|
res.push(Setting.getItem(<Link to="/">{i18next.t("general:Home")}</Link>, "/home", <HomeTwoTone twoToneColor={twoToneColor} />, [
|
|
|
|
|
Setting.getItem(<Link to="/">{i18next.t("general:Dashboard")}</Link>, "/"),
|
|
|
|
|
Setting.getItem(<Link to="/shortcuts">{i18next.t("general:Shortcuts")}</Link>, "/shortcuts"),
|
|
|
|
|
Setting.getItem(<Link to="/apps">{i18next.t("general:Apps")}</Link>, "/apps"),
|
|
|
|
@ -437,21 +440,21 @@ class App extends Component {
|
|
|
|
|
</a>, "#"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: "black"}} to="/organizations">{i18next.t("general:User Management")}</Link>, "/orgs", <AppstoreTwoTone />, [
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: textColor}} to="/organizations">{i18next.t("general:User Management")}</Link>, "/orgs", <AppstoreTwoTone twoToneColor={twoToneColor} />, [
|
|
|
|
|
Setting.getItem(<Link to="/organizations">{i18next.t("general:Organizations")}</Link>, "/organizations"),
|
|
|
|
|
Setting.getItem(<Link to="/groups">{i18next.t("general:Groups")}</Link>, "/groups"),
|
|
|
|
|
Setting.getItem(<Link to="/users">{i18next.t("general:Users")}</Link>, "/users"),
|
|
|
|
|
Setting.getItem(<Link to="/invitations">{i18next.t("general:Invitations")}</Link>, "/invitations"),
|
|
|
|
|
]));
|
|
|
|
|
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: "black"}} to="/applications">{i18next.t("general:Identity")}</Link>, "/identity", <LockTwoTone />, [
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: textColor}} to="/applications">{i18next.t("general:Identity")}</Link>, "/identity", <LockTwoTone twoToneColor={twoToneColor} />, [
|
|
|
|
|
Setting.getItem(<Link to="/applications">{i18next.t("general:Applications")}</Link>, "/applications"),
|
|
|
|
|
Setting.getItem(<Link to="/providers">{i18next.t("general:Providers")}</Link>, "/providers"),
|
|
|
|
|
Setting.getItem(<Link to="/resources">{i18next.t("general:Resources")}</Link>, "/resources"),
|
|
|
|
|
Setting.getItem(<Link to="/certs">{i18next.t("general:Certs")}</Link>, "/certs"),
|
|
|
|
|
]));
|
|
|
|
|
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: "black"}} to="/roles">{i18next.t("general:Authorization")}</Link>, "/auth", <SafetyCertificateTwoTone />, [
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: textColor}} to="/roles">{i18next.t("general:Authorization")}</Link>, "/auth", <SafetyCertificateTwoTone twoToneColor={twoToneColor} />, [
|
|
|
|
|
Setting.getItem(<Link to="/roles">{i18next.t("general:Roles")}</Link>, "/roles"),
|
|
|
|
|
Setting.getItem(<Link to="/permissions">{i18next.t("general:Permissions")}</Link>, "/permissions"),
|
|
|
|
|
Setting.getItem(<Link to="/models">{i18next.t("general:Models")}</Link>, "/models"),
|
|
|
|
@ -465,14 +468,14 @@ class App extends Component {
|
|
|
|
|
}
|
|
|
|
|
})));
|
|
|
|
|
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: "black"}} to="/sessions">{i18next.t("general:Logging & Auditing")}</Link>, "/logs", <WalletTwoTone />, [
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: textColor}} to="/sessions">{i18next.t("general:Logging & Auditing")}</Link>, "/logs", <WalletTwoTone twoToneColor={twoToneColor} />, [
|
|
|
|
|
Setting.getItem(<Link to="/sessions">{i18next.t("general:Sessions")}</Link>, "/sessions"),
|
|
|
|
|
Conf.CasvisorUrl ? Setting.getItem(<a target="_blank" rel="noreferrer" href={Conf.CasvisorUrl}>{i18next.t("general:Records")}</a>, "/records")
|
|
|
|
|
: Setting.getItem(<Link to="/records">{i18next.t("general:Records")}</Link>, "/records"),
|
|
|
|
|
Setting.getItem(<Link to="/tokens">{i18next.t("general:Tokens")}</Link>, "/tokens"),
|
|
|
|
|
]));
|
|
|
|
|
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: "black"}} to="/products">{i18next.t("general:Business & Payments")}</Link>, "/business", <DollarTwoTone />, [
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: textColor}} to="/products">{i18next.t("general:Business & Payments")}</Link>, "/business", <DollarTwoTone twoToneColor={twoToneColor} />, [
|
|
|
|
|
Setting.getItem(<Link to="/products">{i18next.t("general:Products")}</Link>, "/products"),
|
|
|
|
|
Setting.getItem(<Link to="/payments">{i18next.t("general:Payments")}</Link>, "/payments"),
|
|
|
|
|
Setting.getItem(<Link to="/plans">{i18next.t("general:Plans")}</Link>, "/plans"),
|
|
|
|
@ -481,13 +484,13 @@ class App extends Component {
|
|
|
|
|
]));
|
|
|
|
|
|
|
|
|
|
if (Setting.isAdminUser(this.state.account)) {
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: "black"}} to="/sysinfo">{i18next.t("general:Admin")}</Link>, "/admin", <SettingTwoTone />, [
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: textColor}} to="/sysinfo">{i18next.t("general:Admin")}</Link>, "/admin", <SettingTwoTone twoToneColor={twoToneColor} />, [
|
|
|
|
|
Setting.getItem(<Link to="/sysinfo">{i18next.t("general:System Info")}</Link>, "/sysinfo"),
|
|
|
|
|
Setting.getItem(<Link to="/syncers">{i18next.t("general:Syncers")}</Link>, "/syncers"),
|
|
|
|
|
Setting.getItem(<Link to="/webhooks">{i18next.t("general:Webhooks")}</Link>, "/webhooks"),
|
|
|
|
|
Setting.getItem(<a target="_blank" rel="noreferrer" href={Setting.isLocalhost() ? `${Setting.ServerUrl}/swagger` : "/swagger"}>{i18next.t("general:Swagger")}</a>, "/swagger")]));
|
|
|
|
|
} else {
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: "black"}} to="/syncers">{i18next.t("general:Admin")}</Link>, "/admin", <SettingTwoTone />, [
|
|
|
|
|
res.push(Setting.getItem(<Link style={{color: textColor}} to="/syncers">{i18next.t("general:Admin")}</Link>, "/admin", <SettingTwoTone twoToneColor={twoToneColor} />, [
|
|
|
|
|
Setting.getItem(<Link to="/syncers">{i18next.t("general:Syncers")}</Link>, "/syncers"),
|
|
|
|
|
Setting.getItem(<Link to="/webhooks">{i18next.t("general:Webhooks")}</Link>, "/webhooks")]));
|
|
|
|
|
}
|
|
|
|
@ -630,7 +633,7 @@ class App extends Component {
|
|
|
|
|
items={this.getMenuItems()}
|
|
|
|
|
mode={"horizontal"}
|
|
|
|
|
selectedKeys={[this.state.selectedMenuKey]}
|
|
|
|
|
style={{position: "absolute", left: "145px", right: menuStyleRight}}
|
|
|
|
|
style={{position: "absolute", left: "145px", right: menuStyleRight, backgroundColor: this.state.themeAlgorithm.includes("dark") ? "black" : "white"}}
|
|
|
|
|
/>
|
|
|
|
|
)}
|
|
|
|
|
{
|
|
|
|
|