Merge branch 'dark-mode-improvements'

This commit is contained in:
Marcos Zuriaga 2023-01-18 17:37:33 +01:00
commit 038b0e0380
No known key found for this signature in database
GPG key ID: 7D15585354D072FF
12 changed files with 110 additions and 82 deletions

View file

@ -217,16 +217,10 @@
.pw-gen input {
width: calc(100% - 76px) !important;
float: left;
background: #fff;
color: #555;
cursor: text;
font-family: inherit;
border: 1px solid #ddd;
outline: none;
border-radius: 3px;
margin: 3px 3px 3px 0;
padding: 7px 6px 5px;
font-size: 13px;
-webkit-border-bottom-right-radius: 0;
border-bottom-right-radius: 0;
-webkit-border-top-right-radius: 0;
@ -241,8 +235,7 @@
padding: 5px;
display: inline-block;
font-size: 14px;
border: 1px solid #ddd;
background-color: #eaeaea;
border: 1px solid var(--color-border-maxcontrast);
cursor: pointer; }
.pw-gen .generate_pw .cell:hover {
color: #0066ff; }
@ -422,8 +415,8 @@
border-radius: 5px;
background-clip: padding-box;
/* stops bg color from leaking outside the border: */
box-shadow: 0 1px 1px #777;
background: #eee;
filter: drop-shadow(0 1px 3px var(--color-box-shadow));
background: var(--color-main-background);
display: block; }
.vault_wrapper .vaultlist {
z-index: 500; }
@ -438,7 +431,7 @@
border-bottom: 1px solid #8e8e8e;
padding: 16px; }
.vault_wrapper .vaultlist li:hover {
background-color: #f7f7f7; }
background-color: var(--color-background-hover); }
.vault_wrapper .login_form {
padding: 16px; }
.vault_wrapper .login_form .error {
@ -587,23 +580,21 @@
border-bottom-left-radius: 5px;
-webkit-border-top-left-radius: 5px;
border-top-left-radius: 5px;
background-clip: padding-box;
border: 1px solid rgba(240, 240, 240, 0.9); }
background-clip: padding-box; }
#app-content #app-content-wrapper .viewModes .view-mode:last-child {
-webkit-border-bottom-right-radius: 5px;
border-bottom-right-radius: 5px;
-webkit-border-top-right-radius: 5px;
border-top-right-radius: 5px;
background-clip: padding-box;
border: 1px solid rgba(240, 240, 240, 0.9); }
background-clip: padding-box; }
#app-content #app-content-wrapper .viewModes .view-mode {
display: inline-block;
padding: 7px;
background-color: rgba(240, 240, 240, 0.9); }
background-color: var(--color-background-dark); }
#app-content #app-content-wrapper .viewModes .view-mode.active {
display: inline-block;
padding: 7px;
background-color: rgba(226, 226, 226, 0.9); }
background-color: var(--color-background-darker); }
#app-content #app-content-wrapper .viewModes .view-mode {
cursor: pointer;
display: inline-block;
@ -628,11 +619,10 @@
#app-content #app-content-wrapper .searchboxContainer .searchOptions {
position: relative;
bottom: 5px;
background: #fff;
border: 1px solid #ddd;
background-color: var(--color-background-dark);
filter: drop-shadow(0 1px 3px var(--color-box-shadow));
padding: 5px;
/*width: calc(100% - 3px);*/
box-shadow: 3px 3px 5px #888888;
-webkit-border-bottom-right-radius: 3px;
border-bottom-right-radius: 3px;
-webkit-border-bottom-left-radius: 3px;
@ -643,9 +633,9 @@
#app-content #app-content-wrapper .credential-table {
width: 100%; }
#app-content #app-content-wrapper .credential-table tr:hover {
background-color: whitesmoke; }
background-color: var(--color-background-hover); }
#app-content #app-content-wrapper .credential-table tr.selected {
background-color: #f8f8f8; }
background-color: var(--color-background-hover); }
#app-content #app-content-wrapper .credential-table tr .compromised {
background-color: #f74040; }
#app-content #app-content-wrapper .credential-table tr .compromised:hover {
@ -661,7 +651,7 @@
#app-content #app-content-wrapper .credential-table tr td {
cursor: pointer;
padding: 5px;
border-bottom: 1px solid #eeeeee; }
border-bottom: 1px solid var(--color-border); }
#app-content #app-content-wrapper .credential-table tr td .icon {
font-size: 19px;
float: left;
@ -699,7 +689,7 @@
#app-content #app-content-wrapper .tags {
float: right; }
#app-content #app-content-wrapper .tags .tag {
background-color: rgba(240, 240, 240, 0.9);
background-color: var(--color-placeholder-dark);
padding: 4px;
font-size: 12px;
margin-right: 3px;
@ -780,7 +770,14 @@
padding: 4px;
font-size: 11px; }
#app-content #app-content-wrapper .edit_credential tags-input .tags {
width: 100%; }
width: 100%;
background-color: var(--color-main-background);
border: 2px solid var(--color-border-maxcontrast);
border-radius: var(--border-radius-large);
box-shadow: unset; }
#app-content #app-content-wrapper .edit_credential tags-input .tags .input {
background-color: var(--color-background-darker);
font-size: var(--default-font-size); }
#app-content #app-content-wrapper .edit_credential .credential_textarea {
width: 100%;
height: 100px; }
@ -910,7 +907,7 @@
margin-bottom: 15px;
float: none; }
#app-content #app-content-wrapper .app_sidebar .credential-data .tags .tag {
background-color: rgba(240, 240, 240, 0.9);
background-color: var(--color-placeholder-dark);
padding: 4px;
margin-right: 3px; }
@ -984,7 +981,7 @@
.inputfile + label {
font-size: 1.25em;
background-color: rgba(240, 240, 240, 0.9);
background-color: var(--color-background-darker);
margin-top: 4px;
padding: 5px;
margin-right: 4px;
@ -992,7 +989,7 @@
.inputfile:focus + label,
.inputfile + label:hover {
background-color: #c9c9c9; }
background-color: var(--color-background-dark); }
.inputfile + label {
cursor: pointer;
@ -1007,16 +1004,11 @@
display: flex; }
.icon-label input {
float: left;
background: #fff;
color: #555;
cursor: text;
font-family: inherit;
border: 1px solid #ddd;
outline: none;
border-radius: 3px;
margin: 3px 0 3px 0;
padding: 7px 6px 5px;
font-size: 13px;
-webkit-border-bottom-left-radius: 0;
border-bottom-left-radius: 0;
-webkit-border-top-left-radius: 0;
@ -1026,11 +1018,11 @@
float: left;
margin-top: 3px; }
.icon-label .icon-picker .cell {
height: 32px;
height: 92%;
padding: 7px 12px 2px 12px;
font-size: 14px;
border: 1px solid #ddd;
background-color: #eaeaea;
border: 2px solid var(--color-border-maxcontrast);
background-color: var(--color-background-dark);
cursor: pointer;
-webkit-border-bottom-left-radius: 6px;
border-bottom-left-radius: 6px;
@ -1077,8 +1069,7 @@
display: block; }
.nav-trashbin {
width: inherit !important;
border-right: 1px solid #eee; }
width: inherit !important; }
.nav-trashbin a {
opacity: 1 !important;
z-index: 140; }
@ -1190,9 +1181,15 @@
font-size: 11px; }
tags-input .tags {
width: 100%; }
width: 100%;
background-color: var(--color-main-background);
border: 2px solid var(--color-border-maxcontrast);
border-radius: var(--border-radius-large);
box-shadow: unset; }
tags-input .tags .input {
width: auto !important; }
width: auto !important;
background-color: var(--color-background-darker);
font-size: var(--default-font-size); }
tags-input .tags .tag-item {
color: var(--color-text-lighter); }

File diff suppressed because one or more lines are too long

View file

@ -79,8 +79,8 @@ header {
margin-top: 20px;
margin-bottom: 20px;
padding: 20px;
background: #f8f8f8;
border: 1px solid #c9c9c9;
filter: drop-shadow(0 1px 3px var(--color-box-shadow));
background: var(--color-main-background);
-webkit-border-radius: 5px;
border-radius: 5px;
background-clip: padding-box;

View file

@ -1,6 +1,6 @@
{
"version": 3,
"mappings": "AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;ACpBH;;;;;;;;;;;;;;;;;;;;GAoBG;ACpBH;;;;;;;;;;;;;;;;;;;;GAoBG;AFIH,MAAO;EACL,OAAO,EAAE,IAAI;;AAGf,gBAAiB;EACf,WAAW,EAAE,CAAC;;AAGhB,iBAAiB;EACf,KAAK,EAAE,IAAI;EACX,kCAAgB;IACd,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,GAAG;;AAId,qBAAqB;EACnB,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,IAAI;EACnB,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,OAAO;EACnB,MAAM,EAAE,iBAAiB;EEdzB,qBAAqB,EFeE,GAAG;EEd1B,aAAa,EFcU,GAAG;EEb1B,eAAe,EAAE,WAAW;EAAG,qDAAqD;EFcpF,2BAAK;IACJ,UAAU,EAAE,MAAM;EAEnB,wBAAE;IACA,WAAW,EAAE,IAAI;EAEnB,yDAAa;IACX,MAAM,EAAE,MAAM;IACd,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,KAAK;IACd,6DAAC;MACC,YAAY,EAAE,GAAG;;AAKvB,iBAAkB;EAChB,QAAQ,EAAE,MAAM;EAChB,iDAAc;IACZ,KAAK,EAAE,IAAI;EAEb,wBAAO;IACL,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,IAAI;IACX,8BAAM;MACJ,MAAM,EAAE,OAAO;MACf,YAAY,EAAE,GAAG;;AAIvB,KAAK;EACF,WAAW,EAAE,MAAM;EAClB,oBAAc;IACZ,SAAS,EAAE,KAAK;EAElB,QAAE;IACA,cAAc,EAAE,GAAG;IACnB,cAAc,EAAE,GAAG;;AAKvB,UAAK;EACH,gBAAgB,EAAE,wBAAuB;EACzC,OAAO,EAAE,GAAG;EACZ,SAAS,EAAE,IAAI;EACf,YAAY,EAAE,GAAG;EE/DnB,qBAAqB,EFgEI,GAAG;EE/D5B,aAAa,EF+DY,GAAG;EE9D5B,eAAe,EAAE,WAAW;EAAG,qDAAqD;AFgEpF,qBAAgB;EACd,YAAY,EAAE,GAAG;;AAGrB,OAAO;EACL,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,QAAQ;EAClB,MAAM,EAAE,KAAK;EACb,UAAU,EAAE,MAAM",
"mappings": "AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;ACpBH;;;;;;;;;;;;;;;;;;;;GAoBG;ACpBH;;;;;;;;;;;;;;;;;;;;GAoBG;AFIH,MAAO;EACL,OAAO,EAAE,IAAI;;AAGf,gBAAiB;EACf,WAAW,EAAE,CAAC;;AAGhB,iBAAiB;EACf,KAAK,EAAE,IAAI;EACX,kCAAgB;IACd,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,GAAG;;AAId,qBAAqB;EACnB,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,IAAI;EACnB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,8CAA8C;EACtD,UAAU,EAAE,4BAA4B;EEdxC,qBAAqB,EFgBE,GAAG;EEf1B,aAAa,EFeU,GAAG;EEd1B,eAAe,EAAE,WAAW;EAAG,qDAAqD;EFepF,2BAAK;IACJ,UAAU,EAAE,MAAM;EAEnB,wBAAE;IACA,WAAW,EAAE,IAAI;EAEnB,yDAAa;IACX,MAAM,EAAE,MAAM;IACd,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,KAAK;IACd,6DAAC;MACC,YAAY,EAAE,GAAG;;AAKvB,iBAAkB;EAChB,QAAQ,EAAE,MAAM;EAChB,iDAAc;IACZ,KAAK,EAAE,IAAI;EAEb,wBAAO;IACL,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,IAAI;IACX,8BAAM;MACJ,MAAM,EAAE,OAAO;MACf,YAAY,EAAE,GAAG;;AAIvB,KAAK;EACF,WAAW,EAAE,MAAM;EAClB,oBAAc;IACZ,SAAS,EAAE,KAAK;EAElB,QAAE;IACA,cAAc,EAAE,GAAG;IACnB,cAAc,EAAE,GAAG;;AAKvB,UAAK;EACH,gBAAgB,EAAE,wBAAuB;EACzC,OAAO,EAAE,GAAG;EACZ,SAAS,EAAE,IAAI;EACf,YAAY,EAAE,GAAG;EEhEnB,qBAAqB,EFiEI,GAAG;EEhE5B,aAAa,EFgEY,GAAG;EE/D5B,eAAe,EAAE,WAAW;EAAG,qDAAqD;AFiEpF,qBAAgB;EACd,YAAY,EAAE,GAAG;;AAGrB,OAAO;EACL,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,QAAQ;EAClB,MAAM,EAAE,KAAK;EACb,UAAU,EAAE,MAAM",
"sources": ["../sass/public-page.scss","../sass/variables.scss","../sass/mixins.scss"],
"names": [],
"file": "public-page.css"

View file

@ -109,6 +109,12 @@
$scope.selectVault = function (vault) {
$scope.list_selected_vault = vault;
if(!$scope.vault_tries[vault.guid]) {
$scope.vault_tries[vault.guid] = {
tries: 0,
timeout: 0
};
}
};
$scope.sharing_keys = {};
$scope.newVault = function () {
@ -138,6 +144,16 @@
};
var tickLockTimer = function (guid) {
$scope.vault_tries[guid].timeout = $scope.vault_tries[guid].timeout - 1;
if($scope.vault_tries[guid].timeout <= 0){
$interval.cancel($scope.vault_tries[guid].timer);
$scope.vault_tries[guid].timeout = 0;
}
};
$scope.vault_tries = {};
$scope.vaultDecryptionKey = '';
$scope.loginToVault = function (vault, vault_key) {
$scope.error = false;
@ -154,6 +170,21 @@
} catch (e) {
$scope.error = $translate.instant('invalid.vault.key');
$scope.vault_tries[vault.guid].tries = $scope.vault_tries[vault.guid].tries + 1;
if($scope.vault_tries[vault.guid].tries >= 3){
var duration = (Math.pow(2, 1 / 7) * Math.pow(15, 4 / 7)) * Math.pow((Math.pow(2, 2 / 7) * Math.pow(15, 1 / 7)), $scope.vault_tries[vault.guid].tries);
$scope.vault_tries[vault.guid].timeout = duration;
if($scope.vault_tries[vault.guid].hasOwnProperty('timer')){
$interval.cancel($scope.vault_tries[vault.guid].timer);
}
$scope.vault_tries[vault.guid].timer = $interval(function () {
tickLockTimer(vault.guid);
} ,1000);
}
}
};

View file

@ -151,21 +151,19 @@
margin-top: 3px;
.view-mode:first-child {
@include border-left-radius(5px);
border: 1px solid rgba(240, 240, 240, .9);
}
.view-mode:last-child {
@include border-right-radius(5px);
border: 1px solid rgba(240, 240, 240, .9);
}
.view-mode {
display: inline-block;
padding: 7px;
background-color: rgba(240, 240, 240, .9);
background-color: var(--color-background-dark);
}
.view-mode.active {
display: inline-block;
padding: 7px;
background-color: rgba(226, 226, 226, 0.9);
background-color: var(--color-background-darker);
}
.view-mode {
cursor: pointer;
@ -196,11 +194,10 @@
.searchOptions {
position: relative;
bottom: 5px;
background: #fff;
border: 1px solid #ddd;
background-color: var(--color-background-dark);
filter: drop-shadow(0 1px 3px var(--color-box-shadow));
padding: 5px;
/*width: calc(100% - 3px);*/
box-shadow: 3px 3px 5px #888888;
@include border-bottom-radius(3px);
input {
cursor: pointer;
@ -211,11 +208,11 @@
.credential-table {
width: 100%;
tr:hover {
background-color: darken(#fff, 4%);
background-color: var(--color-background-hover);
}
tr {
&.selected {
background-color: #f8f8f8;
background-color: var(--color-background-hover);
}
.compromised {
@ -239,7 +236,7 @@
td {
cursor: pointer;
padding: 5px;
border-bottom: 1px solid #eeeeee;
border-bottom: 1px solid var(--color-border);
.icon {
font-size: 19px;
float: left;
@ -290,7 +287,7 @@
.tags {
float: right;
.tag {
background-color: rgba(240, 240, 240, .9);
background-color: var(--color-placeholder-dark);
padding: 4px;
font-size: 12px;
margin-right: 3px;
@ -401,7 +398,14 @@
tags-input {
.tags {
width: 100%;
background-color: var(--color-main-background);
border: 2px solid var(--color-border-maxcontrast);
border-radius: var(--border-radius-large);
box-shadow: unset;
.input {
background-color: var(--color-background-darker);
font-size: var(--default-font-size);
}
}
}
@ -582,7 +586,7 @@
margin-bottom: 15px;
float: none;
.tag {
background-color: rgba(240, 240, 240, .9);
background-color: var(--color-placeholder-dark);
padding: 4px;
margin-right: 3px;
}
@ -681,7 +685,7 @@
.inputfile + label {
font-size: 1.25em;
background-color: rgba(240, 240, 240, .9);
background-color: var(--color-background-darker);
margin-top: 4px;
padding: 5px;
margin-right: 4px;
@ -690,7 +694,7 @@
.inputfile:focus + label,
.inputfile + label:hover {
background-color: #c9c9c9;
background-color: var(--color-background-dark);
}
.inputfile + label {
@ -710,27 +714,22 @@
//width: 100% !important;
//width: inherit !important;
float: left;
background: #fff;
color: #555;
cursor: text;
font-family: inherit;
border: 1px solid #ddd;
outline: none;
border-radius: 3px;
margin: 3px 0 3px 0;
padding: 7px 6px 5px;
font-size: 13px;
@include border-left-radius(0)
}
.icon-picker {
float: left;
margin-top: 3px;
.cell {
height: 32px;
height: 92%;
padding: 7px 12px 2px 12px;
font-size: 14px;
border: 1px solid #ddd;
background-color: lighten(#ddd, 5%);
border: 2px solid var(--color-border-maxcontrast);
background-color: var(--color-background-dark);
cursor: pointer;
@include border-left-radius(6px);
}

View file

@ -49,7 +49,6 @@
//bottom: 44px;
width: inherit !important;
border-right: 1px solid #eee;
a {
&.active{
//border-left: 3px solid #0082c9;

View file

@ -25,16 +25,10 @@
input{
width: calc(100% - 76px) !important;
float: left;
background: #fff;
color: #555;
cursor: text;
font-family: inherit;
border: 1px solid #ddd;
outline: none;
border-radius: 3px;
margin: 3px 3px 3px 0;
padding: 7px 6px 5px;
font-size: 13px;
@include border-right-radius(0)
}
.generate_pw{
@ -46,8 +40,7 @@
padding: 5px;
display: inline-block;
font-size: 14px;
border: 1px solid #ddd;
background-color: lighten(#ddd, 5%);
border: 1px solid var(--color-border-maxcontrast);
cursor: pointer;
}
.cell:hover{
@ -57,4 +50,4 @@
@include border-right-radius(3px);
}
}
}
}

View file

@ -44,8 +44,9 @@ header {
margin-top: 20px;
margin-bottom: 20px;
padding: 20px;
background: #f8f8f8;
border: 1px solid #c9c9c9;
filter: drop-shadow(0 1px 3px var(--color-box-shadow));
background: var(--color-main-background);
@include border-radius(5px);
.text{
text-align: center;
@ -106,4 +107,4 @@ table{
position: relative;
bottom: -20px;
text-align: center;
}
}

View file

@ -79,8 +79,15 @@
tags-input {
.tags {
width: 100%;
background-color: var(--color-main-background);
border: 2px solid var(--color-border-maxcontrast);
border-radius: var(--border-radius-large);
box-shadow: unset;
.input {
width: auto!important;
background-color: var(--color-background-darker);
font-size: var(--default-font-size);
}
.tag-item {
color: var(--color-text-lighter);

View file

@ -40,8 +40,8 @@
max-width: 450px;
@include border-radius(5px);
box-shadow: 0 1px 1px #777;
background: #eee;
filter: drop-shadow(0 1px 3px var(--color-box-shadow));
background: var(--color-main-background);
display: block;
.vaultlist{
@ -61,7 +61,7 @@
padding: 16px;
}
li:hover{
background-color: #f7f7f7;
background-color: var(--color-background-hover);
}
}
.login_form{

View file

@ -42,6 +42,7 @@ script('passman', 'app/filters/byte');
script('passman', 'app/filters/tagfilter');
script('passman', 'app/filters/escapeHTML');
script('passman', 'app/filters/as');
script('passman', 'app/filters/toHHMMSS');
script('passman', 'app/services/vaultservice');
script('passman', 'app/services/credentialservice');
script('passman', 'app/services/settingsservice');