mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-22 07:24:26 +00:00
This PR significantly improves user navigation by introducing a new instance-level navigation bar. This new bar, positioned above the existing organization navigation, provides quick access to key sections: Home, Organizations, Actions, and Settings. Additionally, the breadcrumb component has been refined for more consistent behavior, reintroducing intuitive breadcrumb buttons to easily navigate up the hierarchy. These changes also include design improvements for a cleaner and more streamlined appearance across the interface. <img width="423" height="138" alt="Screenshot 2025-07-17 at 14 55 46" src="https://github.com/user-attachments/assets/ba9e40a1-1077-4cb6-8735-ac7ab637abe7" /> <img width="562" height="132" alt="Screenshot 2025-07-17 at 14 56 41" src="https://github.com/user-attachments/assets/d85dc673-0df8-4677-9d2b-dc031dde42c3" /> <img width="545" height="254" alt="Screenshot 2025-07-17 at 14 56 10" src="https://github.com/user-attachments/assets/eaf10117-079e-4181-8dbb-60c89b24556a" /> <img width="689" height="261" alt="Screenshot 2025-07-17 at 14 56 20" src="https://github.com/user-attachments/assets/510ad550-1d9a-4c6a-8af1-66cb0b23619c" /> --------- Co-authored-by: conblem <[email protected]> Co-authored-by: Stefan Benz <[email protected]> Co-authored-by: Florian Forster <[email protected]>
216 lines
5.8 KiB
TypeScript
216 lines
5.8 KiB
TypeScript
import { PolicyComponentServiceType } from '../policies/policy-component-types.enum';
|
|
import { SidenavSetting } from '../sidenav/sidenav.component';
|
|
|
|
export const FEATURESETTINGS: SidenavSetting = {
|
|
id: 'features',
|
|
i18nKey: 'SETTINGS.LIST.FEATURESETTINGS',
|
|
groupI18nKey: 'SETTINGS.GROUPS.GENERAL',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.restrictions.read'],
|
|
},
|
|
};
|
|
|
|
export const LANGUAGES: SidenavSetting = {
|
|
id: 'languages',
|
|
i18nKey: 'SETTINGS.LIST.LANGUAGES',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const OIDC: SidenavSetting = {
|
|
id: 'oidc',
|
|
i18nKey: 'SETTINGS.LIST.OIDC',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const WEBKEYS: SidenavSetting = {
|
|
id: 'webkeys',
|
|
i18nKey: 'SETTINGS.LIST.WEB_KEYS',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const SECRETS: SidenavSetting = {
|
|
id: 'secrets',
|
|
i18nKey: 'SETTINGS.LIST.SECRETS',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const SECURITY: SidenavSetting = {
|
|
id: 'security',
|
|
i18nKey: 'SETTINGS.LIST.SECURITY',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const VIEWS: SidenavSetting = {
|
|
id: 'views',
|
|
i18nKey: 'SETTINGS.LIST.VIEWS',
|
|
groupI18nKey: 'SETTINGS.GROUPS.STORAGE',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.read'],
|
|
},
|
|
};
|
|
|
|
export const FAILEDEVENTS: SidenavSetting = {
|
|
id: 'failedevents',
|
|
i18nKey: 'SETTINGS.LIST.FAILEDEVENTS',
|
|
groupI18nKey: 'SETTINGS.GROUPS.STORAGE',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.read'],
|
|
},
|
|
};
|
|
|
|
export const EVENTS: SidenavSetting = {
|
|
id: 'events',
|
|
i18nKey: 'SETTINGS.LIST.EVENTS',
|
|
groupI18nKey: 'SETTINGS.GROUPS.STORAGE',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['events.read'],
|
|
},
|
|
};
|
|
|
|
export const LOGIN: SidenavSetting = {
|
|
id: 'login',
|
|
i18nKey: 'SETTINGS.LIST.LOGIN',
|
|
groupI18nKey: 'SETTINGS.GROUPS.LOGIN',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['policy.read'],
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const VERIFIED_DOMAINS: SidenavSetting = {
|
|
id: 'verified_domains',
|
|
i18nKey: 'SETTINGS.LIST.VERIFIED_DOMAINS',
|
|
groupI18nKey: 'SETTINGS.GROUPS.DOMAIN',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['org.read'],
|
|
},
|
|
};
|
|
|
|
export const DOMAIN: SidenavSetting = {
|
|
id: 'domain',
|
|
i18nKey: 'SETTINGS.LIST.DOMAIN',
|
|
groupI18nKey: 'SETTINGS.GROUPS.DOMAIN',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['iam.policy.write'],
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.write'],
|
|
},
|
|
};
|
|
|
|
export const LOCKOUT: SidenavSetting = {
|
|
id: 'lockout',
|
|
i18nKey: 'SETTINGS.LIST.LOCKOUT',
|
|
groupI18nKey: 'SETTINGS.GROUPS.LOGIN',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['policy.read'],
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const AGE: SidenavSetting = {
|
|
id: 'age',
|
|
i18nKey: 'SETTINGS.LIST.AGE',
|
|
groupI18nKey: 'SETTINGS.GROUPS.LOGIN',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['policy.read'],
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const COMPLEXITY: SidenavSetting = {
|
|
id: 'complexity',
|
|
i18nKey: 'SETTINGS.LIST.COMPLEXITY',
|
|
groupI18nKey: 'SETTINGS.GROUPS.LOGIN',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['policy.read'],
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const IDP: SidenavSetting = {
|
|
id: 'idp',
|
|
i18nKey: 'SETTINGS.LIST.IDP',
|
|
groupI18nKey: 'SETTINGS.GROUPS.LOGIN',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['policy.read', 'org.idp.read'],
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read', 'org.idp.read'],
|
|
},
|
|
};
|
|
|
|
export const NOTIFICATIONS: SidenavSetting = {
|
|
id: 'notifications',
|
|
i18nKey: 'SETTINGS.LIST.NOTIFICATIONS',
|
|
groupI18nKey: 'SETTINGS.GROUPS.NOTIFICATIONS',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
[PolicyComponentServiceType.MGMT]: ['policy.read'],
|
|
},
|
|
};
|
|
|
|
export const SMTP_PROVIDER: SidenavSetting = {
|
|
id: 'smtpprovider',
|
|
i18nKey: 'SETTINGS.LIST.SMTP_PROVIDER',
|
|
groupI18nKey: 'SETTINGS.GROUPS.NOTIFICATIONS',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const SMS_PROVIDER: SidenavSetting = {
|
|
id: 'smsprovider',
|
|
i18nKey: 'SETTINGS.LIST.SMS_PROVIDER',
|
|
groupI18nKey: 'SETTINGS.GROUPS.NOTIFICATIONS',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const MESSAGETEXTS: SidenavSetting = {
|
|
id: 'messagetexts',
|
|
i18nKey: 'SETTINGS.LIST.MESSAGETEXTS',
|
|
groupI18nKey: 'SETTINGS.GROUPS.APPEARANCE',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['policy.read'],
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const LOGINTEXTS: SidenavSetting = {
|
|
id: 'logintexts',
|
|
i18nKey: 'SETTINGS.LIST.LOGINTEXTS',
|
|
groupI18nKey: 'SETTINGS.GROUPS.APPEARANCE',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['policy.read'],
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const PRIVACYPOLICY: SidenavSetting = {
|
|
id: 'privacypolicy',
|
|
i18nKey: 'DESCRIPTIONS.SETTINGS.PRIVACY_POLICY.TITLE',
|
|
groupI18nKey: 'SETTINGS.GROUPS.OTHER',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['policy.read'],
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|
|
|
|
export const BRANDING: SidenavSetting = {
|
|
id: 'branding',
|
|
i18nKey: 'SETTINGS.LIST.BRANDING',
|
|
groupI18nKey: 'SETTINGS.GROUPS.APPEARANCE',
|
|
requiredRoles: {
|
|
[PolicyComponentServiceType.MGMT]: ['policy.read'],
|
|
[PolicyComponentServiceType.ADMIN]: ['iam.policy.read'],
|
|
},
|
|
};
|