View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005687 | SOGo | GUI | public | 2023-01-26 19:39 | 2023-05-03 13:41 |
Reporter | Alex Vogt | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Platform | [Server] Linux | OS | RHEL/CentOS | OS Version | 7 |
Product Version | 5.8.0 | ||||
Summary | 0005687: Login page does not honor the color theme | ||||
Description | Follow-up from https://www.mail-archive.com/users%40sogo.nu/msg32113.html The login page seems to have the font color hardcoded to black/dark grey and does not follow the defined color theme. /usr/lib64/GNUstep/SOGo/WebServerResources/js/Common/Common.app.js//...
| ||||
Tags | No tags attached. | ||||
I have a partial solution by specifying the theme and accent color manually (see attached patch). However, this is only working partially and in particular the user/password hints and the drop-down menu are still in dark. SOGoRootPage.wox.patch (6,240 bytes)
--- /var/lib/sogo/GNUstep/Library/SOGo/Templates/MainUI/SOGoRootPage.wox 2023-01-25 16:42:33.203025915 -0500 +++ /usr/lib64/GNUstep/SOGo/Templates/MainUI/SOGoRootPage.wox 2023-01-25 17:22:22.000000000 -0500 @@ -43,24 +43,24 @@ </var:if> <div ng-if="!app.loginState"> <md-input-container class="md-block"> - <label class="md-default-theme md-accent md-bg"><var:string label:value="Username"/></label> - <md-icon class="material-icons md-default-theme md-accent md-bg">person</md-icon> - <input class="md-default-theme md-accent md-bg" autocorrect="off" autocapitalize="off" type="text" ng-model="app.creds.username" ng-required="true" ng-change="app.usernameChanged()" ng-blur="app.retrievePasswordRecoveryEnabled()" /> + <label><var:string label:value="Username"/></label> + <md-icon>person</md-icon> + <input autocorrect="off" autocapitalize="off" type="text" ng-model="app.creds.username" ng-required="true" ng-change="app.usernameChanged()" ng-blur="app.retrievePasswordRecoveryEnabled()" /> </md-input-container> <md-input-container class="md-block"> - <label class="md-default-theme md-accent md-bg"><var:string label:value="Password"/></label> - <md-icon class="material-icons md-default-theme md-accent md-bg">email</md-icon> - <input class="md-default-theme md-accent md-bg" id="passwordField" type="password" ng-model="app.creds.password" ng-required="true"/> - <md-icon class="material-icons md-default-theme md-accent md-bg" id="password-visibility-icon" ng-click="app.changePasswordVisibility()">visibility</md-icon> + <label><var:string label:value="Password"/></label> + <md-icon>email</md-icon> + <input id="passwordField" type="password" ng-model="app.creds.password" ng-required="true"/> + <md-icon id="password-visibility-icon" ng-click="app.changePasswordVisibility()">visibility</md-icon> </md-input-container> <!-- LANGUAGES SELECT --> <div layout="row" layout-align="start end"> - <md-icon class="material-icons md-default-theme md-accent md-bg">language</md-icon> - <md-input-container class="md-default-theme md-accent md-bg md-flex"> - <label class="md-default-theme md-accent md-bg"><var:string label:value="choose"/></label> - <md-select md-container-class="md-default-theme md-accent md-bg" ng-model="app.creds.language" + <md-icon>language</md-icon> + <md-input-container class="md-flex"> + <label><var:string label:value="choose"/></label> + <md-select ng-model="app.creds.language" var:placeholder="localizedLanguage" ng-change="app.changeLanguage($event)"> <var:foreach list="languages" item="item"> @@ -75,7 +75,7 @@ <!-- DOMAINS SELECT --> <var:if condition="hasLoginDomains"> <div layout="row" layout-align="start end"> - <md-icon class="material-icons md-default-theme md-accent md-bg">domain</md-icon> + <md-icon>domain</md-icon> <md-input-container class="md-flex"> <md-select class="md-flex" ng-model="app.creds.domain" label:placeholder="choose" ng-change="app.retrievePasswordRecoveryEnabled()"> <var:foreach list="loginDomains" item="item"> @@ -109,7 +109,7 @@ <md-button class="md-icon-button" label:aria-label="About" ng-click="app.showAbout()"> - <md-icon class="material-icons md-default-theme md-accent md-bg">info</md-icon> + <md-icon>info</md-icon> </md-button> <div> <md-button class="md-fab md-accent md-hue-2" type="submit" @@ -146,7 +146,7 @@ <div flex="80" flex-sm="50" flex-gt-sm="40"> <md-input-container class="md-block"> <label><var:string label:value="Verification Code"/></label> - <md-icon class="material-icons md-default-theme md-accent md-bg">lock</md-icon> + <md-icon>lock</md-icon> <input type="text" ng-pattern="app.verificationCodePattern" ng-model="app.creds.verificationCode" @@ -159,14 +159,14 @@ label:aria-label="Cancel" ng-click="app.restoreLogin()" sg-ripple-click="loginContent"> - <md-icon class="material-icons md-default-theme md-accent md-bg">arrow_backward</md-icon> + <md-icon>arrow_backward</md-icon> </md-button> <md-button class="md-fab md-accent md-hue-2" type="submit" label:aria-label="Connect" ng-if="app.loginState == 'totpcode'" ng-disabled="loginForm.$invalid" ng-click="app.login()"> - <md-icon class="material-icons md-default-theme md-accent md-bg">arrow_forward</md-icon> + <md-icon>arrow_forward</md-icon> </md-button> </div> </div> @@ -180,7 +180,7 @@ <var:string label:value="Welcome"/> {{app.cn}} </div> <div class="md-padding" layout="row" layout-align="start center"> - <md-icon class="material-icons md-default-theme md-accent md-bg">priority_high</md-icon> + <md-icon>priority_high</md-icon> <div class="md-padding"> <var:string label:value="Two-factor authentication has been disabled. Visit the Preferences module to restore two-factor authentication and reconfigure your TOTP application."/> </div> |
|
New patch in the correct direction :) SOGoRootPage.wox-2.patch (6,239 bytes)
--- /usr/lib64/GNUstep/SOGo/Templates/MainUI/SOGoRootPage.wox 2023-01-25 17:22:22.000000000 -0500 +++ /var/lib/sogo/GNUstep/Library/SOGo/Templates/MainUI/SOGoRootPage.wox 2023-01-25 16:42:33.203025915 -0500 @@ -43,24 +43,24 @@ </var:if> <div ng-if="!app.loginState"> <md-input-container class="md-block"> - <label><var:string label:value="Username"/></label> - <md-icon>person</md-icon> - <input autocorrect="off" autocapitalize="off" type="text" ng-model="app.creds.username" ng-required="true" ng-change="app.usernameChanged()" ng-blur="app.retrievePasswordRecoveryEnabled()" /> + <label class="md-default-theme md-accent md-bg"><var:string label:value="Username"/></label> + <md-icon class="material-icons md-default-theme md-accent md-bg">person</md-icon> + <input class="md-default-theme md-accent md-bg" autocorrect="off" autocapitalize="off" type="text" ng-model="app.creds.username" ng-required="true" ng-change="app.usernameChanged()" ng-blur="app.retrievePasswordRecoveryEnabled()" /> </md-input-container> <md-input-container class="md-block"> - <label><var:string label:value="Password"/></label> - <md-icon>email</md-icon> - <input id="passwordField" type="password" ng-model="app.creds.password" ng-required="true"/> - <md-icon id="password-visibility-icon" ng-click="app.changePasswordVisibility()">visibility</md-icon> + <label class="md-default-theme md-accent md-bg"><var:string label:value="Password"/></label> + <md-icon class="material-icons md-default-theme md-accent md-bg">email</md-icon> + <input class="md-default-theme md-accent md-bg" id="passwordField" type="password" ng-model="app.creds.password" ng-required="true"/> + <md-icon class="material-icons md-default-theme md-accent md-bg" id="password-visibility-icon" ng-click="app.changePasswordVisibility()">visibility</md-icon> </md-input-container> <!-- LANGUAGES SELECT --> <div layout="row" layout-align="start end"> - <md-icon>language</md-icon> - <md-input-container class="md-flex"> - <label><var:string label:value="choose"/></label> - <md-select ng-model="app.creds.language" + <md-icon class="material-icons md-default-theme md-accent md-bg">language</md-icon> + <md-input-container class="md-default-theme md-accent md-bg md-flex"> + <label class="md-default-theme md-accent md-bg"><var:string label:value="choose"/></label> + <md-select md-container-class="md-default-theme md-accent md-bg" ng-model="app.creds.language" var:placeholder="localizedLanguage" ng-change="app.changeLanguage($event)"> <var:foreach list="languages" item="item"> @@ -75,7 +75,7 @@ <!-- DOMAINS SELECT --> <var:if condition="hasLoginDomains"> <div layout="row" layout-align="start end"> - <md-icon>domain</md-icon> + <md-icon class="material-icons md-default-theme md-accent md-bg">domain</md-icon> <md-input-container class="md-flex"> <md-select class="md-flex" ng-model="app.creds.domain" label:placeholder="choose" ng-change="app.retrievePasswordRecoveryEnabled()"> <var:foreach list="loginDomains" item="item"> @@ -109,7 +109,7 @@ <md-button class="md-icon-button" label:aria-label="About" ng-click="app.showAbout()"> - <md-icon>info</md-icon> + <md-icon class="material-icons md-default-theme md-accent md-bg">info</md-icon> </md-button> <div> <md-button class="md-fab md-accent md-hue-2" type="submit" @@ -146,7 +146,7 @@ <div flex="80" flex-sm="50" flex-gt-sm="40"> <md-input-container class="md-block"> <label><var:string label:value="Verification Code"/></label> - <md-icon>lock</md-icon> + <md-icon class="material-icons md-default-theme md-accent md-bg">lock</md-icon> <input type="text" ng-pattern="app.verificationCodePattern" ng-model="app.creds.verificationCode" @@ -159,14 +159,14 @@ label:aria-label="Cancel" ng-click="app.restoreLogin()" sg-ripple-click="loginContent"> - <md-icon>arrow_backward</md-icon> + <md-icon class="material-icons md-default-theme md-accent md-bg">arrow_backward</md-icon> </md-button> <md-button class="md-fab md-accent md-hue-2" type="submit" label:aria-label="Connect" ng-if="app.loginState == 'totpcode'" ng-disabled="loginForm.$invalid" ng-click="app.login()"> - <md-icon>arrow_forward</md-icon> + <md-icon class="material-icons md-default-theme md-accent md-bg">arrow_forward</md-icon> </md-button> </div> </div> @@ -180,7 +180,7 @@ <var:string label:value="Welcome"/> {{app.cn}} </div> <div class="md-padding" layout="row" layout-align="start center"> - <md-icon>priority_high</md-icon> + <md-icon class="material-icons md-default-theme md-accent md-bg">priority_high</md-icon> <div class="md-padding"> <var:string label:value="Two-factor authentication has been disabled. Visit the Preferences module to restore two-factor authentication and reconfigure your TOTP application."/> </div> |
|
Hi Alex, Could you do a PR on github following those guidelines : https://github.com/Alinto/sogo/blob/master/.github/CONTRIBUTING.md Thanks Sebastien |
|
Here you go https://github.com/Alinto/sogo/pull/341 |
|
Thanks for contributing ! Just a question, what is missing in your fix (you specified 'partially') ? |
|
The user/password hints and the drop-down menu are still in dark. This appears to be a particular AngularJS-related technology that I am not familiar with. |
|
The PR fixes a good portion of the described issue. It would be great to merge that PR and defer the remainder to someone that is more proficient in AngularJS than I am. Thanks. |
|
https://github.com/Alinto/sogo/pull/341 merged thanks |
|
Unfortunately, due to customers feedback, this merge has introduced some regressions. Code will be reverted.
[EDIT] : https://github.com/Alinto/sogo/commit/d802b92a131b26a220c05f90e0dc0cf621e8aef7 Sebastien |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2023-01-26 19:39 | Alex Vogt | New Issue | |
2023-01-26 19:45 | Alex Vogt | Note Added: 0016612 | |
2023-01-26 19:45 | Alex Vogt | File Added: SOGoRootPage.wox.patch | |
2023-01-26 19:47 | Alex Vogt | Note Added: 0016613 | |
2023-01-26 19:47 | Alex Vogt | File Added: SOGoRootPage.wox-2.patch | |
2023-01-30 08:47 | sebastien | Note Added: 0016623 | |
2023-01-30 08:47 | sebastien | Assigned To | => sebastien |
2023-01-30 08:47 | sebastien | Status | new => feedback |
2023-01-31 18:48 | Alex Vogt | Note Added: 0016631 | |
2023-01-31 18:48 | Alex Vogt | Status | feedback => assigned |
2023-02-01 08:31 | sebastien | Note Added: 0016632 | |
2023-02-01 18:30 | Alex Vogt | Note Added: 0016638 | |
2023-02-05 12:41 | Alex Vogt | Note Added: 0016646 | |
2023-02-13 09:53 | sebastien | Note Added: 0016655 | |
2023-05-03 12:32 | sebastien | Note Added: 0016941 | |
2023-05-03 13:40 | sebastien | Note Edited: 0016941 | |
2023-05-03 13:41 | sebastien | Assigned To | sebastien => |
2023-05-03 13:41 | sebastien | Status | assigned => new |