diff --git a/console/src/app/app-routing.module.ts b/console/src/app/app-routing.module.ts index 769bfe8513..abda7eff36 100644 --- a/console/src/app/app-routing.module.ts +++ b/console/src/app/app-routing.module.ts @@ -13,6 +13,10 @@ const routes: Routes = [ loadChildren: () => import('./pages/home/home.module').then((m) => m.HomeModule), canActivate: [AuthGuard], }, + { + path: 'signedout', + loadChildren: () => import('./pages/signedout/signedout.module').then((m) => m.SignedoutModule), + }, { path: 'orgs', loadChildren: () => import('./pages/org-list/org-list.module').then((m) => m.OrgListModule), @@ -38,12 +42,7 @@ const routes: Routes = [ { path: 'users', canActivate: [AuthGuard], - children: [ - { - path: '', - loadChildren: () => import('src/app/pages/users/users.module').then((m) => m.UsersModule), - }, - ], + loadChildren: () => import('src/app/pages/users/users.module').then((m) => m.UsersModule), }, { path: 'instance', @@ -170,10 +169,6 @@ const routes: Routes = [ roles: ['policy.read'], }, }, - { - path: 'signedout', - loadChildren: () => import('./pages/signedout/signedout.module').then((m) => m.SignedoutModule), - }, { path: '**', redirectTo: '/', diff --git a/console/src/app/app.component.html b/console/src/app/app.component.html index aad85dc909..4c75d9da99 100644 --- a/console/src/app/app.component.html +++ b/console/src/app/app.component.html @@ -1,32 +1,31 @@ - - -
- +
+ + - -
-
- -
-
- - -
+ - + +
+
+ +
+
+ + +
diff --git a/console/src/app/app.component.ts b/console/src/app/app.component.ts index 3eef1937e8..6ebff5402f 100644 --- a/console/src/app/app.component.ts +++ b/console/src/app/app.component.ts @@ -69,6 +69,7 @@ export class AppComponent implements OnDestroy { private activatedRoute: ActivatedRoute, @Inject(DOCUMENT) private document: Document, ) { + this.themeService.loadPrivateLabelling(true); console.log( '%cWait!', 'text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black; color: #5469D4; font-size: 50px', diff --git a/console/src/app/app.module.ts b/console/src/app/app.module.ts index 71e7a1b644..622abcf60f 100644 --- a/console/src/app/app.module.ts +++ b/console/src/app/app.module.ts @@ -26,7 +26,6 @@ import { HeaderModule } from './modules/header/header.module'; import { KeyboardShortcutsModule } from './modules/keyboard-shortcuts/keyboard-shortcuts.module'; import { NavModule } from './modules/nav/nav.module'; import { WarnDialogModule } from './modules/warn-dialog/warn-dialog.module'; -import { SignedoutComponent } from './pages/signedout/signedout.component'; import { HasRolePipeModule } from './pipes/has-role-pipe/has-role-pipe.module'; import { AdminService } from './services/admin.service'; import { AuthenticationService } from './services/authentication.service'; @@ -79,7 +78,7 @@ const authConfig: AuthConfig = { }; @NgModule({ - declarations: [AppComponent, SignedoutComponent], + declarations: [AppComponent], imports: [ AppRoutingModule, CommonModule, diff --git a/console/src/app/guards/auth.guard.ts b/console/src/app/guards/auth.guard.ts index 084475bb97..1b86cbebd8 100644 --- a/console/src/app/guards/auth.guard.ts +++ b/console/src/app/guards/auth.guard.ts @@ -4,13 +4,12 @@ import { AuthConfig } from 'angular-oauth2-oidc'; import { Observable } from 'rxjs'; import { AuthenticationService } from '../services/authentication.service'; -import { GrpcAuthService } from '../services/grpc-auth.service'; @Injectable({ providedIn: 'root', }) export class AuthGuard implements CanActivate { - constructor(private auth: AuthenticationService, private authService: GrpcAuthService) {} + constructor(private auth: AuthenticationService) {} public canActivate( route: ActivatedRouteSnapshot, diff --git a/console/src/app/modules/header/header.component.html b/console/src/app/modules/header/header.component.html index 09a02ca46d..5d3a9f47d7 100644 --- a/console/src/app/modules/header/header.component.html +++ b/console/src/app/modules/header/header.component.html @@ -196,55 +196,56 @@ - - - + + + - - + + + +
diff --git a/console/src/app/pages/orgs/org-detail/org-detail.component.html b/console/src/app/pages/orgs/org-detail/org-detail.component.html index 3b2641a637..cdc1407c6d 100644 --- a/console/src/app/pages/orgs/org-detail/org-detail.component.html +++ b/console/src/app/pages/orgs/org-detail/org-detail.component.html @@ -5,7 +5,25 @@ [isInactive]="org?.state === OrgState.ORG_STATE_INACTIVE" [hasContributors]="true" stateTooltip="{{ 'ORG.STATE.' + org?.state | translate }}" + [hasActions]="['org.write:' + org?.id, 'org.write$'] | hasRole | async" > + + + + + { + if (resp) { + this.mgmtService + .reactivateOrg() + .then(() => { + this.toast.showInfo('ORG.TOAST.REACTIVATED', true); + this.org.state = OrgState.ORG_STATE_ACTIVE; + }) + .catch((error) => { + this.toast.showError(error); + }); + } + }); + } else if (newState === OrgState.ORG_STATE_INACTIVE) { + const dialogRef = this.dialog.open(WarnDialogComponent, { + data: { + confirmKey: 'ACTIONS.DEACTIVATE', + cancelKey: 'ACTIONS.CANCEL', + titleKey: 'ORG.DIALOG.DEACTIVATE.TITLE', + descriptionKey: 'ORG.DIALOG.DEACTIVATE.DESCRIPTION', + }, + width: '400px', + }); + dialogRef.afterClosed().subscribe((resp) => { + if (resp) { + this.mgmtService + .deactivateOrg() + .then(() => { + this.toast.showInfo('ORG.TOAST.DEACTIVATED', true); + this.org.state = OrgState.ORG_STATE_INACTIVE; + }) + .catch((error) => { + this.toast.showError(error); + }); + } + }); + } + } + private async getData(): Promise { this.mgmtService .getMyOrg() diff --git a/console/src/app/pages/signedout/signedout-routing.module.ts b/console/src/app/pages/signedout/signedout-routing.module.ts index 3ff829d9e2..24071a5df1 100644 --- a/console/src/app/pages/signedout/signedout-routing.module.ts +++ b/console/src/app/pages/signedout/signedout-routing.module.ts @@ -4,14 +4,14 @@ import { RouterModule, Routes } from '@angular/router'; import { SignedoutComponent } from './signedout.component'; const routes: Routes = [ - { - path: '', - component: SignedoutComponent, - }, + { + path: '', + component: SignedoutComponent, + }, ]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule], + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class SignedoutRoutingModule { } +export class SignedoutRoutingModule {} diff --git a/console/src/app/pages/signedout/signedout.component.html b/console/src/app/pages/signedout/signedout.component.html index 89177b464a..c05e784caa 100644 --- a/console/src/app/pages/signedout/signedout.component.html +++ b/console/src/app/pages/signedout/signedout.component.html @@ -5,11 +5,18 @@ zitadel logo -

{{'USER.SIGNEDOUT' | translate}}

+

{{ 'USER.SIGNEDOUT' | translate }}

- + - \ No newline at end of file + diff --git a/console/src/app/pages/signedout/signedout.component.scss b/console/src/app/pages/signedout/signedout.component.scss index d75c5618ae..aa98536496 100644 --- a/console/src/app/pages/signedout/signedout.component.scss +++ b/console/src/app/pages/signedout/signedout.component.scss @@ -9,6 +9,7 @@ display: flex; flex-direction: column; align-items: center; + margin-top: 50px; h1 { font-size: 3rem; @@ -24,16 +25,6 @@ img { height: 100px; max-width: 170px; - margin-bottom: 2rem; - } - - button { - display: block; - padding: 0.5rem 4rem; - - i { - margin-left: 0.5rem; - } } } } diff --git a/console/src/app/pages/signedout/signedout.component.ts b/console/src/app/pages/signedout/signedout.component.ts index c475679d5a..1e33fef556 100644 --- a/console/src/app/pages/signedout/signedout.component.ts +++ b/console/src/app/pages/signedout/signedout.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; +import { ThemeService } from 'src/app/services/theme.service'; @Component({ selector: 'cnsl-signedout', @@ -8,7 +9,9 @@ import { Component } from '@angular/core'; export class SignedoutComponent { public dark: boolean = true; - constructor() { + constructor(themeService: ThemeService) { + themeService.loadPrivateLabelling(); + const theme = localStorage.getItem('theme'); this.dark = theme === 'dark-theme' ? true : theme === 'light-theme' ? false : true; } diff --git a/console/src/app/pages/signedout/signedout.module.ts b/console/src/app/pages/signedout/signedout.module.ts index 4394648dc5..1fc6a7fb65 100644 --- a/console/src/app/pages/signedout/signedout.module.ts +++ b/console/src/app/pages/signedout/signedout.module.ts @@ -1,15 +1,15 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { TranslateModule } from '@ngx-translate/core'; import { SharedModule } from 'src/app/modules/shared/shared.module'; import { SignedoutRoutingModule } from './signedout-routing.module'; +import { SignedoutComponent } from './signedout.component'; @NgModule({ - declarations: [], - imports: [ - CommonModule, - SignedoutRoutingModule, - SharedModule, - ], + declarations: [SignedoutComponent], + imports: [CommonModule, SignedoutRoutingModule, MatButtonModule, MatTooltipModule, TranslateModule, SharedModule], }) -export class SignedoutModule { } +export class SignedoutModule {} diff --git a/console/src/app/services/statehandler/statehandler.service.ts b/console/src/app/services/statehandler/statehandler.service.ts index 585c4982ab..df9253e4d2 100644 --- a/console/src/app/services/statehandler/statehandler.service.ts +++ b/console/src/app/services/statehandler/statehandler.service.ts @@ -49,10 +49,10 @@ export class StatehandlerServiceImpl implements StatehandlerService, OnDestroy { switchMap((url: string) => { if (url.includes('?login_hint=')) { const newUrl = this.removeParam('login_hint', url); - const urlWithoutBasePath = newUrl.startsWith('/ui/console') ? newUrl.replace('/ui/console', '') : newUrl; + const urlWithoutBasePath = newUrl.includes('/ui/console') ? newUrl.replace('/ui/console', '') : newUrl; return of(this.processor.createState(urlWithoutBasePath)); } else if (url) { - const urlWithoutBasePath = url.startsWith('/ui/console') ? url.replace('/ui/console', '') : url; + const urlWithoutBasePath = url.includes('/ui/console') ? url.replace('/ui/console', '') : url; return of(this.processor.createState(urlWithoutBasePath)); } else { return of(undefined); diff --git a/console/src/app/services/theme.service.ts b/console/src/app/services/theme.service.ts index b53370b1e1..6a5fb73de8 100644 --- a/console/src/app/services/theme.service.ts +++ b/console/src/app/services/theme.service.ts @@ -140,70 +140,72 @@ export class ThemeService { this.saveTextColor(lightText, false); }; - public loadPrivateLabelling(): void { - this.setDefaultColors(); + public loadPrivateLabelling(forceDefault: boolean = false): void { + if (forceDefault) { + this.setDefaultColors(); + } else { + const isDark = (color: string) => this.isDark(color); + const isLight = (color: string) => this.isLight(color); - const isDark = (color: string) => this.isDark(color); - const isLight = (color: string) => this.isLight(color); + this.authService + .getMyLabelPolicy() + .then((lpresp) => { + const labelpolicy = lpresp.policy; - this.authService - .getMyLabelPolicy() - .then((lpresp) => { - const labelpolicy = lpresp.policy; + const darkPrimary = labelpolicy?.primaryColorDark || '#bbbafa'; + const lightPrimary = labelpolicy?.primaryColor || '#5469d4'; - const darkPrimary = labelpolicy?.primaryColorDark || '#bbbafa'; - const lightPrimary = labelpolicy?.primaryColor || '#5469d4'; + const darkWarn = labelpolicy?.warnColorDark || '#ff3b5b'; + const lightWarn = labelpolicy?.warnColor || '#cd3d56'; - const darkWarn = labelpolicy?.warnColorDark || '#ff3b5b'; - const lightWarn = labelpolicy?.warnColor || '#cd3d56'; + let darkBackground = labelpolicy?.backgroundColorDark; + let lightBackground = labelpolicy?.backgroundColor; - let darkBackground = labelpolicy?.backgroundColorDark; - let lightBackground = labelpolicy?.backgroundColor; + let darkText = labelpolicy?.fontColorDark ?? '#ffffff'; + let lightText = labelpolicy?.fontColor ?? '#000000'; - let darkText = labelpolicy?.fontColorDark ?? '#ffffff'; - let lightText = labelpolicy?.fontColor ?? '#000000'; + this.savePrimaryColor(darkPrimary, true); + this.savePrimaryColor(lightPrimary, false); - this.savePrimaryColor(darkPrimary, true); - this.savePrimaryColor(lightPrimary, false); + this.saveWarnColor(darkWarn, true); + this.saveWarnColor(lightWarn, false); - this.saveWarnColor(darkWarn, true); - this.saveWarnColor(lightWarn, false); + if (darkBackground && !isDark(darkBackground)) { + console.info( + `Background (${darkBackground}) is not dark enough for a dark theme. Falling back to zitadel background`, + ); + darkBackground = '#111827'; + } + this.saveBackgroundColor(darkBackground || '#111827', true); - if (darkBackground && !isDark(darkBackground)) { - console.info( - `Background (${darkBackground}) is not dark enough for a dark theme. Falling back to zitadel background`, - ); - darkBackground = '#111827'; - } - this.saveBackgroundColor(darkBackground || '#111827', true); + if (lightBackground && !isLight(lightBackground)) { + console.info( + `Background (${lightBackground}) is not light enough for a light theme. Falling back to zitadel background`, + ); + lightBackground = '#fafafa'; + } + this.saveBackgroundColor(lightBackground || '#fafafa', false); - if (lightBackground && !isLight(lightBackground)) { - console.info( - `Background (${lightBackground}) is not light enough for a light theme. Falling back to zitadel background`, - ); - lightBackground = '#fafafa'; - } - this.saveBackgroundColor(lightBackground || '#fafafa', false); + if (darkText && !isLight(darkText)) { + console.info( + `Text color (${darkText}) is not light enough for a dark theme. Falling back to zitadel's text color`, + ); + darkText = '#ffffff'; + } + this.saveTextColor(darkText || '#ffffff', true); - if (darkText && !isLight(darkText)) { - console.info( - `Text color (${darkText}) is not light enough for a dark theme. Falling back to zitadel's text color`, - ); - darkText = '#ffffff'; - } - this.saveTextColor(darkText || '#ffffff', true); - - if (lightText && !isDark(lightText)) { - console.info( - `Text color (${lightText}) is not dark enough for a light theme. Falling back to zitadel's text color`, - ); - lightText = '#000000'; - } - this.saveTextColor(lightText || '#000000', false); - }) - .catch((error) => { - console.error('could not load private labelling policy!', error); - this.setDefaultColors(); - }); + if (lightText && !isDark(lightText)) { + console.info( + `Text color (${lightText}) is not dark enough for a light theme. Falling back to zitadel's text color`, + ); + lightText = '#000000'; + } + this.saveTextColor(lightText || '#000000', false); + }) + .catch((error) => { + console.error('could not load private labelling policy!', error); + this.setDefaultColors(); + }); + } } } diff --git a/console/src/assets/i18n/de.json b/console/src/assets/i18n/de.json index 0d54b2f0e8..37ff10fc84 100644 --- a/console/src/assets/i18n/de.json +++ b/console/src/assets/i18n/de.json @@ -757,6 +757,8 @@ "LISTDESCRIPTION": "Wähle eine Organisation aus.", "ACTIVE": "Aktiv", "CREATE": "Organisation erstellen", + "DEACTIVATE": "Organisation deaktivieren", + "REACTIVATE": "Organisation reaktivieren", "NOPERMISSION": "Sie haben keine Berechtigung, auf Einstellungen der Organisation zuzugreifen.", "USERSELFACCOUNT": "Verwenden Sie Ihr persönliches Konto als Organisationsinhaber", "ORGDETAIL_TITLE": "Gebe den Namen und die Domain für die neue Organisation ein.", @@ -821,6 +823,16 @@ "MEMBERREMOVED": "Manager entfernt.", "MEMBERCHANGED": "Manager geändert.", "SETPRIMARY": "Primäre Domain gesetzt." + }, + "DIALOG": { + "DEACTIVATE": { + "TITLE": "Organisation deaktivieren", + "DESCRIPTION": "Sie sind im Begriff Ihre Organisation zu deaktivieren. User können Sich danach nicht mehr anmelden? Wollen Sie fortfahren?" + }, + "REACTIVATE": { + "TITLE": "Organisation reaktivieren", + "DESCRIPTION": "Sie sind im Begriff Ihre Organisation zu reaktivieren. User können Sich danach wieder anmelden? Wollen Sie fortfahren?" + } } }, "SETTINGS": { diff --git a/console/src/assets/i18n/en.json b/console/src/assets/i18n/en.json index 62482e686c..fee717fb4c 100644 --- a/console/src/assets/i18n/en.json +++ b/console/src/assets/i18n/en.json @@ -757,6 +757,8 @@ "LISTDESCRIPTION": "Choose an organization.", "ACTIVE": "Active", "CREATE": "Create Organization", + "DEACTIVATE": "Deactivate Organization", + "REACTIVATE": "Reactivate Organization", "NOPERMISSION": "You don't have the permission to access organization settings.", "USERSELFACCOUNT": "Use your personal account as organization owner", "ORGDETAIL_TITLE": "Enter the name and domain of your new organization.", @@ -821,6 +823,16 @@ "MEMBERREMOVED": "Manager removed.", "MEMBERCHANGED": "Manager changed.", "SETPRIMARY": "Primary domain set." + }, + "DIALOG": { + "DEACTIVATE": { + "TITLE": "Deactivate organization", + "DESCRIPTION": "You are about to deactivate your organization. Users won't be able to login afterwards. Are you sure to proceed?" + }, + "REACTIVATE": { + "TITLE": "Reactivate organization", + "DESCRIPTION": "You are about to reactivate your organization. Users will be able to login again. Are you sure to proceed?" + } } }, "SETTINGS": { diff --git a/console/src/assets/i18n/fr.json b/console/src/assets/i18n/fr.json index 70ab9a6231..0bb2e712f6 100644 --- a/console/src/assets/i18n/fr.json +++ b/console/src/assets/i18n/fr.json @@ -757,6 +757,8 @@ "LISTDESCRIPTION": "Choisissez une organisation.", "ACTIVE": "Actif", "CREATE": "Créer une organisation", + "DEACTIVATE": "Désactiver l'organisation", + "REACTIVATE": "Réactiver l'organisation", "NOPERMISSION": "Vous n'avez pas la permission d'accéder aux paramètres de l'organisation.", "USERSELFACCOUNT": "Utilisez votre compte personnel comme propriétaire de l'organisation", "ORGDETAIL_TITLE": "Saisissez le nom et le domaine de votre nouvelle organisation.", @@ -821,6 +823,16 @@ "MEMBERREMOVED": "Gestionnaire supprimé.", "MEMBERCHANGED": "Gestionnaire modifié.", "SETPRIMARY": "Domaine primaire défini." + }, + "DIALOG": { + "DEACTIVATE": { + "TITLE": "Désactiver l'organisation", + "DESCRIPTION": "Vous êtes sur le point de désactiver votre organisation. Les utilisateurs ne peuvent plus se connecter ? Voulez-vous continuer ?" + }, + "REACTIVATE": { + "TITLE": "Réactiver l'organisation", + "DESCRIPTION": "Vous êtes sur le point de réactiver votre organisation. Les utilisateurs peuvent ensuite se reconnecter ? Voulez-vous continuer ?" + } } }, "SETTINGS": { diff --git a/console/src/assets/i18n/it.json b/console/src/assets/i18n/it.json index 28bd39d403..09ce165504 100644 --- a/console/src/assets/i18n/it.json +++ b/console/src/assets/i18n/it.json @@ -757,6 +757,8 @@ "LISTDESCRIPTION": "Scegli un'organizzazione.", "ACTIVE": "Attivo", "CREATE": "Creare un'organizzazione", + "DEACTIVATE": "Disattiva organizzazione", + "REACTIVATE": "Riattiva organizzazione", "NOPERMISSION": "Non hai l'autorizzazione per accedere alle impostazioni dell'organizzazione.", "USERSELFACCOUNT": "Usa il tuo account personale come proprietario dell'organizzazione", "ORGDETAIL_TITLE": "Inserisci il nome e il dominio della tua nuova organizzazione.", @@ -821,6 +823,16 @@ "MEMBERREMOVED": "Manager rimosso con successo", "MEMBERCHANGED": "Manager cambiato con successo", "SETPRIMARY": "Dominio primario cambiato con successo" + }, + "DIALOG": { + "DEACTIVATE": { + "TITLE": "Disattivare l'organizzazione", + "DESCRIPTION": "Stai per disattivate la tua organizzazione. Utenti dell' organizzazione non possono più accedere in seguito. Sei sicuro di procedere?" + }, + "REACTIVATE": { + "TITLE": "Riattivare l'organizzazione", + "DESCRIPTION": "Stai per riattivare la tua organizzazione. Utenti dell' organizzazione possono accedere nuovamente dopo l'attivazione. Vuoi procedere?" + } } }, "SETTINGS": { diff --git a/internal/api/ui/login/static/resources/themes/scss/styles/footer/footer_theme.scss b/internal/api/ui/login/static/resources/themes/scss/styles/footer/footer_theme.scss index 9133524fa2..80e9226a98 100644 --- a/internal/api/ui/login/static/resources/themes/scss/styles/footer/footer_theme.scss +++ b/internal/api/ui/login/static/resources/themes/scss/styles/footer/footer_theme.scss @@ -19,7 +19,7 @@ } a { - color: var(--zitadel-color-font-500); + color: var(--zitadel-color-text-500); } .lgn-logo-watermark { diff --git a/internal/api/ui/login/static/resources/themes/scss/styles/vars.scss b/internal/api/ui/login/static/resources/themes/scss/styles/vars.scss index b4986eaed1..6e81533922 100644 --- a/internal/api/ui/login/static/resources/themes/scss/styles/vars.scss +++ b/internal/api/ui/login/static/resources/themes/scss/styles/vars.scss @@ -50,17 +50,17 @@ --zitadel-color-input-border-active: var(--zitadel-color-primary-500); --zitadel-color-input-placeholder: var(--zitadel-color-grey-600); - --zitadel-color-font-50: rgb(0, 0, 0); - --zitadel-color-font-100: rgb(0, 0, 0); - --zitadel-color-font-200: rgb(0, 0, 0); - --zitadel-color-font-300: rgb(0, 0, 0); - --zitadel-color-font-400: rgb(0, 0, 0); - --zitadel-color-font-500: rgb(0, 0, 0); - --zitadel-color-font-600: rgb(0, 0, 0); - --zitadel-color-font-700: rgb(0, 0, 0); - --zitadel-color-font-800: rgb(0, 0, 0); - --zitadel-color-font-900: rgb(0, 0, 0); - --zitadel-color-font-contrast: rgb(255, 255, 255); + --zitadel-color-text-50: rgb(0, 0, 0); + --zitadel-color-text-100: rgb(0, 0, 0); + --zitadel-color-text-200: rgb(0, 0, 0); + --zitadel-color-text-300: rgb(0, 0, 0); + --zitadel-color-text-400: rgb(0, 0, 0); + --zitadel-color-text-500: rgb(0, 0, 0); + --zitadel-color-text-600: rgb(0, 0, 0); + --zitadel-color-text-700: rgb(0, 0, 0); + --zitadel-color-text-800: rgb(0, 0, 0); + --zitadel-color-text-900: rgb(0, 0, 0); + --zitadel-color-text-contrast: rgb(255, 255, 255); --zitadel-color-label: #0000008a; --zitadel-color-account-selector-hover: rgba(0, 0, 0, 0.02); diff --git a/internal/api/ui/login/static/resources/themes/zitadel/css/zitadel.css b/internal/api/ui/login/static/resources/themes/zitadel/css/zitadel.css index 6ee5e67814..05d7f50f03 100644 --- a/internal/api/ui/login/static/resources/themes/zitadel/css/zitadel.css +++ b/internal/api/ui/login/static/resources/themes/zitadel/css/zitadel.css @@ -44,17 +44,17 @@ --zitadel-color-input-border-hover: #1a1b1b; --zitadel-color-input-border-active: var(--zitadel-color-primary-500); --zitadel-color-input-placeholder: var(--zitadel-color-grey-600); - --zitadel-color-font-50: rgb(0, 0, 0); - --zitadel-color-font-100: rgb(0, 0, 0); - --zitadel-color-font-200: rgb(0, 0, 0); - --zitadel-color-font-300: rgb(0, 0, 0); - --zitadel-color-font-400: rgb(0, 0, 0); - --zitadel-color-font-500: rgb(0, 0, 0); - --zitadel-color-font-600: rgb(0, 0, 0); - --zitadel-color-font-700: rgb(0, 0, 0); - --zitadel-color-font-800: rgb(0, 0, 0); - --zitadel-color-font-900: rgb(0, 0, 0); - --zitadel-color-font-contrast: rgb(255, 255, 255); + --zitadel-color-text-50: rgb(0, 0, 0); + --zitadel-color-text-100: rgb(0, 0, 0); + --zitadel-color-text-200: rgb(0, 0, 0); + --zitadel-color-text-300: rgb(0, 0, 0); + --zitadel-color-text-400: rgb(0, 0, 0); + --zitadel-color-text-500: rgb(0, 0, 0); + --zitadel-color-text-600: rgb(0, 0, 0); + --zitadel-color-text-700: rgb(0, 0, 0); + --zitadel-color-text-800: rgb(0, 0, 0); + --zitadel-color-text-900: rgb(0, 0, 0); + --zitadel-color-text-contrast: rgb(255, 255, 255); --zitadel-color-label: #0000008a; --zitadel-color-account-selector-hover: rgba(0, 0, 0, 0.02); --zitadel-color-account-selector-active: rgba(0, 0, 0, 0.05); @@ -2819,7 +2819,7 @@ footer { } } footer a { - color: var(--zitadel-color-font-500); + color: var(--zitadel-color-text-500); } footer .lgn-logo-watermark { background: var(--zitadel-logo-powered-by) no-repeat;