diff options
author | binsky <timo@binsky.org> | 2022-10-21 16:05:31 +0300 |
---|---|---|
committer | binsky <timo@binsky.org> | 2022-10-21 16:05:31 +0300 |
commit | 5318a774366b8b0877cd8625a3fbd3c4ccfc2b77 (patch) | |
tree | 89400578b500c2818060ec0a0cddddf46b78f92c | |
parent | d5b95be22349f87bfa59f5f868917c554fcae771 (diff) |
Revert "update main style to support nc 25"
This reverts commit 3ab5b1cd
Signed-off-by: binsky <timo@binsky.org>
-rw-r--r-- | css/app.css | 637 | ||||
-rw-r--r-- | css/app.css.map | 2 | ||||
-rw-r--r-- | js/templates.js | 26 | ||||
-rw-r--r-- | sass/app.scss | 30 | ||||
-rw-r--r-- | sass/credentials.scss | 483 | ||||
-rw-r--r-- | sass/vaults.scss | 4 | ||||
-rw-r--r-- | templates/main.php | 8 | ||||
-rw-r--r-- | templates/views/show_vault.html | 5 | ||||
-rw-r--r-- | templates/views/vaults.html | 29 |
9 files changed, 596 insertions, 628 deletions
diff --git a/css/app.css b/css/app.css index dd2dad88..0b84286c 100644 --- a/css/app.css +++ b/css/app.css @@ -502,410 +502,396 @@ .link span { cursor: pointer; } +#app-sidebar { + height: auto; } + #app-sidebar .sidebar { + display: inline-block; } + #app-sidebar .sidebar .sidebar-icon { + margin-right: 15px; } + #app-sidebar .sidebar .sidebar-icon .icon-image-size { + width: 44px; } + #app-sidebar .sidebar .sidebar-icon i { + width: 44px; } + #app-sidebar .sidebar .sidebar-label { + float: right; + line-height: 44px; } + .vaultlist_sidebar_hidden { width: 100vw !important; margin-left: 0px !important; } #app-content { overflow-x: hidden; } - #app-content .ng-app-frame { - min-height: 100%; - display: flex; } - @media only screen and (max-width: 1024px) { + @media only screen and (max-width: 769px) { #app-content { width: 100vw; } } - @media only screen and (min-width: 1025px) { + @media only screen and (min-width: 770px) { #app-content { width: calc(100vw - 300px); } } - #app-content .edit_credential { + #app-content .main_list #passman-controls { + text-align: center; + border-bottom: 1px solid #c9c9c9; } + @media screen and (max-width: 765px) { + #app-content .main_list #passman-controls.sidebar-shown .title { + display: none; } } + @media screen and (min-width: 769px) and (max-width: 1120px) { + #app-content .main_list #passman-controls.sidebar-shown .title { + display: none; } } + #app-content .main_list .title { + text-align: center; + display: inline-flex; + font-weight: bold; + margin-top: 10px; } + @media screen and (max-width: 820px) { + #app-content .main_list .title { + display: none; } } + #app-content .main_list .breadcrumb { + float: left; } + #app-content .main_list .actions.creatable { + float: left; + overflow: hidden; } + #app-content .main_list .actions.creatable .bubble { + position: relative; + width: 185px; + -webkit-border-radius: 5px; + border-radius: 5px; + background-clip: padding-box; + /* stops bg color from leaking outside the border: */ + box-shadow: 0 1px 10px rgba(50, 50, 50, 0.7); } + #app-content .main_list .actions.creatable .bubble ul li { + padding-left: 10px; } + #app-content .main_list .actions.creatable .bubble ul .menuitem { + font-size: 12px; + display: inline; } + #app-content .main_list .actions.creatable .bubble:after { + right: inherit; + left: 10px; + top: -19px; } + #app-content .main_list .viewModes { + float: right; + margin-right: 5px; + margin-top: 3px; } + #app-content .main_list .viewModes .view-mode:first-child { + -webkit-border-bottom-left-radius: 5px; + 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); } + #app-content .main_list .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); } + #app-content .main_list .viewModes .view-mode { + display: inline-block; + padding: 7px; + background-color: rgba(240, 240, 240, 0.9); } + #app-content .main_list .viewModes .view-mode.active { + display: inline-block; + padding: 7px; + background-color: rgba(226, 226, 226, 0.9); } + #app-content .main_list .viewModes .view-mode { + cursor: pointer; + display: inline-block; + padding: 7px; } + #app-content .main_list .searchboxContainer { + display: inline-block; + visibility: visible; + float: right; } + #app-content .main_list .searchboxContainer .searchbox { + display: inline-block; + width: calc(100% - 3px); } + #app-content .main_list .searchboxContainer .searchclear { + color: #ccc; + cursor: pointer; + font-size: 18px; + height: 14px; + margin: auto; + position: absolute !important; + right: 10px; + top: 12px; + z-index: 99999999; } + #app-content .main_list .searchboxContainer .searchOptions { + position: relative; + bottom: 5px; + background: #fff; + border: 1px solid #ddd; + 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; + border-bottom-left-radius: 3px; + background-clip: padding-box; } + #app-content .main_list .searchboxContainer .searchOptions input { + cursor: pointer; } + #app-content .main_list .credential-table { + width: 100%; } + #app-content .main_list .credential-table tr:hover { + background-color: whitesmoke; } + #app-content .main_list .credential-table tr.selected { + background-color: #f8f8f8; } + #app-content .main_list .credential-table tr .compromised { + background-color: #f74040; } + #app-content .main_list .credential-table tr .compromised:hover { + background-color: #e10909; } + #app-content .main_list .credential-table tr .compromised-list { + display: inline-block; + margin-left: 50px; } + #app-content .main_list .credential-table tr .compromised-list .icon { + height: 18px; } + #app-content .main_list .credential-table tr .compromised-list .text { + font-style: italic; + font-weight: bold; } + #app-content .main_list .credential-table tr td { + cursor: pointer; + padding: 5px; + border-bottom: 1px solid #eeeeee; } + #app-content .main_list .credential-table tr td .icon { + font-size: 19px; + float: left; + margin-right: 5px; + margin-left: 3px; } + #app-content .main_list .credential-table tr td .icon-more { + display: inline-block; + float: right; + margin-left: 5px; + margin-top: 1px; + opacity: 0.4; + height: 20px; + width: 32px; + cursor: pointer; } + #app-content .main_list .credential-table tr td .icon-more:hover { + opacity: 1; } + #app-content .main_list .credential-table tr td .popovermenu { + margin-top: 25px; + height: 100px; + width: 100px; + right: -2px !important; + box-shadow: 0 1px 10px rgba(50, 50, 50, 0.7); } + #app-content .main_list .credential-table tr td .popovermenu ul { + display: block; + width: 100px; + height: 75px; } + #app-content .main_list .credential-table tr td .popovermenu ul li { + padding: 0px; } + #app-content .main_list .credential-table tr td .popovermenu ul .menuitem { + font-size: 12px; + display: inline; } + #app-content .main_list .credential-table tr td .popovermenu .action { + padding: 10px; + margin: -10px; } + #app-content .main_list .tags { + float: right; } + #app-content .main_list .tags .tag { + background-color: rgba(240, 240, 240, 0.9); + padding: 4px; + font-size: 12px; + margin-right: 3px; + -webkit-border-radius: 5px; + border-radius: 5px; + background-clip: padding-box; + /* stops bg color from leaking outside the border: */ } + #app-content .main_list .tags .tag:last-child { + margin-right: 8px; } + #app-content .main_list .grid-view { + width: 100%; + height: 100%; + display: flex; + flex-wrap: wrap; } + #app-content .main_list .grid-view .credential { + display: flex; + width: 100%; + border: 2px solid rgba(240, 240, 240, 0.9); + margin: 25px; + -webkit-border-radius: 10px; + border-radius: 10px; + background-clip: padding-box; + /* stops bg color from leaking outside the border: */ } + #app-content .main_list .grid-view .credential .credential_content { + display: flex; + padding: 2px; + flex-direction: column; + width: 100%; + cursor: pointer; + font-size: 1.75em; } + #app-content .main_list .grid-view .credential .credential_content .label { + padding-top: 0.5em; + padding-right: 1em; + line-height: 1.3em; + word-wrap: break-word; + float: right; } + #app-content .main_list .grid-view .credential .credential_content .tags { + margin: 0 0 auto; + text-align: right; } + #app-content .main_list .grid-view .credential .credential_content .tags .tag { + color: #000 !important; + margin-top: 5px; + display: inline-block; + left: 0; } + @media all and (min-width: 40em) { + #app-content .main_list .grid-view .credential { + width: 40%; } } + @media all and (min-width: 58em) { + #app-content .main_list .grid-view .credential { + width: 26%; } } + @media all and (min-width: 78em) { + #app-content .main_list .grid-view .credential { + width: 20%; } } + #app-content .main_list .edit_credential { padding-top: 10px; } - #app-content .edit_credential label { + #app-content .main_list .edit_credential label { display: block; } - #app-content .edit_credential input[type="text"], #app-content .edit_credential input[type="password"] { + #app-content .main_list .edit_credential input[type="text"], #app-content .main_list .edit_credential input[type="password"] { width: 100%; } - #app-content .edit_credential .compromised-button { + #app-content .main_list .edit_credential .compromised-button { margin-top: 15px; background-color: #e60000; color: black; } - #app-content .edit_credential .compromised-details { + #app-content .main_list .edit_credential .compromised-details { margin-top: 15px; display: flex; } - #app-content .edit_credential .compromised-details .icon { + #app-content .main_list .edit_credential .compromised-details .icon { float: left; height: 20px; } - #app-content .edit_credential .compromised-details .text { + #app-content .main_list .edit_credential .compromised-details .text { padding-left: 5px; padding-right: 30px; color: #e9322d; } - #app-content .edit_credential .tags { + #app-content .main_list .edit_credential .tags { float: left; } - #app-content .edit_credential .tags .tag { + #app-content .main_list .edit_credential .tags .tag { background-color: rgba(240, 240, 240, 0.9); padding: 4px; font-size: 11px; } - #app-content .edit_credential tags-input .tags { + #app-content .main_list .edit_credential tags-input .tags { width: 100%; } - #app-content .edit_credential tags-input .tags .input { - width: auto !important; } - #app-content .edit_credential tags-input .tags .tag-item { - color: var(--color-text-lighter); } - #app-content .edit_credential .credential_textarea { + #app-content .main_list .edit_credential .credential_textarea { width: 100%; height: 100px; } - #app-content .edit_credential .password_settings label { + #app-content .main_list .edit_credential .password_settings label { overflow: hidden; } - #app-content .edit_credential .password_settings label input[type="checkbox"] { + #app-content .main_list .edit_credential .password_settings label input[type="checkbox"] { width: auto !important; float: left; } - #app-content .edit_credential .password_settings label .label { + #app-content .main_list .edit_credential .password_settings label .label { float: left; } - #app-content .edit_credential .password_settings label .label.sm { + #app-content .main_list .edit_credential .password_settings label .label.sm { font-size: 12px; } - #app-content .edit_credential .password_settings .password-settings-padding-left-fix { + #app-content .main_list .edit_credential .password_settings .password-settings-padding-left-fix { padding-left: 0 !important; } - #app-content .edit_credential .field-value .valueInput { + #app-content .main_list .edit_credential .field-value .valueInput { padding-right: 0; } - #app-content .edit_credential .field-value .valueInput input { + #app-content .main_list .edit_credential .field-value .valueInput input { -webkit-border-bottom-right-radius: 0; border-bottom-right-radius: 0; -webkit-border-top-right-radius: 0; border-top-right-radius: 0; background-clip: padding-box; } - #app-content .edit_credential .field-value .valueInput .pw-gen .generate_pw .cell:last-child { + #app-content .main_list .edit_credential .field-value .valueInput .pw-gen .generate_pw .cell:last-child { -webkit-border-bottom-right-radius: 0; border-bottom-right-radius: 0; -webkit-border-top-right-radius: 0; border-top-right-radius: 0; background-clip: padding-box; } - #app-content .edit_credential .field-value .selectType { + #app-content .main_list .edit_credential .field-value .selectType { padding-left: 0; margin-left: 0px; } - #app-content .edit_credential .field-value .selectType select { + #app-content .main_list .edit_credential .field-value .selectType select { -webkit-border-bottom-left-radius: 0; border-bottom-left-radius: 0; -webkit-border-top-left-radius: 0; border-top-left-radius: 0; background-clip: padding-box; } - #app-content .edit_credential .custom_fields, #app-content .edit_credential .files { + #app-content .main_list .edit_credential .custom_fields, #app-content .main_list .edit_credential .files { margin-top: 10px; } - #app-content .edit_credential .custom_fields table, #app-content .edit_credential .files table { + #app-content .main_list .edit_credential .custom_fields table, #app-content .main_list .edit_credential .files table { width: 100%; } - #app-content .edit_credential .custom_fields table thead, #app-content .edit_credential .files table thead { - background-color: var(--color-background-plain); - color: var(--color-primary-text); } - #app-content .edit_credential .custom_fields table thead th.dragger, #app-content .edit_credential .files table thead th.dragger { - width: 3%; } - #app-content .edit_credential .custom_fields table thead th, #app-content .edit_credential .files table thead th { - color: #fff; } - #app-content .edit_credential .custom_fields table thead th.field_actions, #app-content .edit_credential .files table thead th.field_actions { - width: 15%; } - #app-content .edit_credential .custom_fields table tr:hover, #app-content .edit_credential .files table tr:hover { + #app-content .main_list .edit_credential .custom_fields table thead th.dragger, #app-content .main_list .edit_credential .files table thead th.dragger { + width: 3%; } + #app-content .main_list .edit_credential .custom_fields table thead th, #app-content .main_list .edit_credential .files table thead th { + color: #fff; } + #app-content .main_list .edit_credential .custom_fields table thead th.field_actions, #app-content .main_list .edit_credential .files table thead th.field_actions { + width: 15%; } + #app-content .main_list .edit_credential .custom_fields table tr:hover, #app-content .main_list .edit_credential .files table tr:hover { background-color: transparent; } - #app-content .edit_credential .custom_fields table tr td.dragger, #app-content .edit_credential .files table tr td.dragger { + #app-content .main_list .edit_credential .custom_fields table tr td.dragger, #app-content .main_list .edit_credential .files table tr td.dragger { width: 3%; text-align: center; cursor: move; cursor: -webkit-grab; cursor: -moz-grab; cursor: grab; } - #app-content .edit_credential .custom_fields table tr td.field_actions, #app-content .edit_credential .files table tr td.field_actions { + #app-content .main_list .edit_credential .custom_fields table tr td.field_actions, #app-content .main_list .edit_credential .files table tr td.field_actions { font-size: 13px; width: 15%; } - #app-content .edit_credential .custom_fields table tr td.field_actions i, #app-content .edit_credential .files table tr td.field_actions i { + #app-content .main_list .edit_credential .custom_fields table tr td.field_actions i, #app-content .main_list .edit_credential .files table tr td.field_actions i { cursor: pointer; } - #app-content .edit_credential .custom_fields table tr td, #app-content .edit_credential .custom_fields table tr th, #app-content .edit_credential .files table tr td, #app-content .edit_credential .files table tr th { + #app-content .main_list .edit_credential .custom_fields table tr td, #app-content .main_list .edit_credential .custom_fields table tr th, #app-content .main_list .edit_credential .files table tr td, #app-content .main_list .edit_credential .files table tr th { width: 20%; padding: 5px; } - #app-content .edit_credential .custom_fields table tr td .editable-has-buttons.editable-input, #app-content .edit_credential .custom_fields table tr th .editable-has-buttons.editable-input, #app-content .edit_credential .files table tr td .editable-has-buttons.editable-input, #app-content .edit_credential .files table tr th .editable-has-buttons.editable-input { + #app-content .main_list .edit_credential .custom_fields table tr td .editable-has-buttons.editable-input, #app-content .main_list .edit_credential .custom_fields table tr th .editable-has-buttons.editable-input, #app-content .main_list .edit_credential .files table tr td .editable-has-buttons.editable-input, #app-content .main_list .edit_credential .files table tr th .editable-has-buttons.editable-input { width: 55%; } - #app-content .edit_credential .custom_fields table tr td, #app-content .edit_credential .files table tr td { + #app-content .main_list .edit_credential .custom_fields table tr td, #app-content .main_list .edit_credential .files table tr td { height: 50px; vertical-align: middle; } - #app-content .edit_credential .otpText { + #app-content .main_list .edit_credential .otpText { padding-right: 10px; } - #app-content .edit_credential .import-selection select { + #app-content .main_list .edit_credential .import-selection select { margin-left: 15px; } - #app-content .main_list { - width: 100%; - display: flow-root; - padding-right: 15px; } - #app-content .main_list #passman-controls { - text-align: center; - border-bottom: 1px solid #c9c9c9; } - @media screen and (max-width: 765px) { - #app-content .main_list #passman-controls.sidebar-shown .title { - display: none; } } - @media screen and (min-width: 769px) and (max-width: 1120px) { - #app-content .main_list #passman-controls.sidebar-shown .title { - display: none; } } - #app-content .main_list .title { - text-align: center; - display: inline-flex; - font-weight: bold; - margin-top: 10px; } - @media screen and (max-width: 820px) { - #app-content .main_list .title { - display: none; } } - #app-content .main_list .breadcrumb { - float: left; } - #app-content .main_list .actions.creatable { - float: left; - overflow: hidden; } - #app-content .main_list .actions.creatable .bubble { - position: relative; - width: 185px; - -webkit-border-radius: 5px; - border-radius: 5px; - background-clip: padding-box; - /* stops bg color from leaking outside the border: */ - box-shadow: 0 1px 10px rgba(50, 50, 50, 0.7); } - #app-content .main_list .actions.creatable .bubble ul li { - padding-left: 10px; } - #app-content .main_list .actions.creatable .bubble ul .menuitem { - font-size: 12px; - display: inline; } - #app-content .main_list .actions.creatable .bubble:after { - right: inherit; - left: 10px; - top: -19px; } - #app-content .main_list .viewModes { - float: right; - margin-right: 5px; - margin-top: 3px; } - #app-content .main_list .viewModes .view-mode:first-child { - -webkit-border-bottom-left-radius: 5px; - 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); } - #app-content .main_list .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); } - #app-content .main_list .viewModes .view-mode { - display: inline-block; - padding: 7px; - background-color: rgba(240, 240, 240, 0.9); } - #app-content .main_list .viewModes .view-mode.active { - display: inline-block; - padding: 7px; - background-color: rgba(226, 226, 226, 0.9); } - #app-content .main_list .viewModes .view-mode { - cursor: pointer; - display: inline-block; - padding: 7px; } - #app-content .main_list .searchboxContainer { - display: inline-block; - visibility: visible; - float: right; } - #app-content .main_list .searchboxContainer .searchbox { - display: inline-block; - width: calc(100% - 3px); } - #app-content .main_list .searchboxContainer .searchclear { - color: #ccc; - cursor: pointer; - font-size: 18px; - height: 14px; - margin: auto; - position: absolute !important; - right: 10px; - top: 12px; - z-index: 99999999; } - #app-content .main_list .searchboxContainer .searchOptions { - position: relative; - bottom: 5px; - background: #fff; - border: 1px solid #ddd; - 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; - border-bottom-left-radius: 3px; - background-clip: padding-box; } - #app-content .main_list .searchboxContainer .searchOptions input { - cursor: pointer; } - #app-content .main_list .credential-list { - display: flex; - height: 100%; } - #app-content .main_list .credential-table-wrapper { - flex: 1; - float: left; - height: auto; - overflow: auto; - width: 100%; - margin-top: 55px; } - #app-content .main_list .credential-table { - width: 100%; } - #app-content .main_list .credential-table tr:hover { - background-color: whitesmoke; } - #app-content .main_list .credential-table tr.selected { - background-color: #f8f8f8; } - #app-content .main_list .credential-table tr .compromised { - background-color: #f74040; } - #app-content .main_list .credential-table tr .compromised:hover { - background-color: #e10909; } - #app-content .main_list .credential-table tr .compromised-list { - display: inline-block; - margin-left: 50px; } - #app-content .main_list .credential-table tr .compromised-list .icon { - height: 18px; } - #app-content .main_list .credential-table tr .compromised-list .text { - font-style: italic; - font-weight: bold; } - #app-content .main_list .credential-table tr td { - cursor: pointer; - padding: 5px; - border-bottom: 1px solid #eeeeee; } - #app-content .main_list .credential-table tr td .icon { - font-size: 19px; - float: left; - margin-right: 5px; - margin-left: 3px; } - #app-content .main_list .credential-table tr td .icon-more { - display: inline-block; - float: right; - margin-left: 5px; - margin-top: 1px; - opacity: 0.4; - height: 20px; - width: 32px; - cursor: pointer; } - #app-content .main_list .credential-table tr td .icon-more:hover { - opacity: 1; } - #app-content .main_list .credential-table tr td .popovermenu { - margin-top: 25px; - height: 100px; - width: 100px; - right: -2px !important; - box-shadow: 0 1px 10px rgba(50, 50, 50, 0.7); } - #app-content .main_list .credential-table tr td .popovermenu ul { - display: block; - width: 100px; - height: 75px; } - #app-content .main_list .credential-table tr td .popovermenu ul li { - padding: 0px; } - #app-content .main_list .credential-table tr td .popovermenu ul .menuitem { - font-size: 12px; - display: inline; } - #app-content .main_list .credential-table tr td .popovermenu .action { - padding: 10px; - margin: -10px; } - #app-content .main_list .tags { - float: right; } - #app-content .main_list .tags .tag { - background-color: rgba(240, 240, 240, 0.9); - padding: 4px; - font-size: 12px; - margin-right: 3px; - -webkit-border-radius: 5px; - border-radius: 5px; - background-clip: padding-box; - /* stops bg color from leaking outside the border: */ } - #app-content .main_list .tags .tag:last-child { - margin-right: 8px; } - #app-content .main_list .grid-view { - width: 100%; - height: 100%; - display: flex; - flex-wrap: wrap; } - #app-content .main_list .grid-view li { - height: fit-content; } - #app-content .main_list .grid-view .credential { - display: flex; - width: 100%; - border: 2px solid var(--color-primary); - margin: 25px; - -webkit-border-radius: 10px; - border-radius: 10px; - background-clip: padding-box; - /* stops bg color from leaking outside the border: */ } - #app-content .main_list .grid-view .credential .credential_content { - display: flex; - padding: 2px; - flex-direction: column; - width: 100%; - cursor: pointer; - font-size: 1.75em; } - #app-content .main_list .grid-view .credential .credential_content .label { - padding-top: 0.5em; - padding-right: 1em; - line-height: 1.3em; - word-wrap: break-word; - float: right; } - #app-content .main_list .grid-view .credential .credential_content .tags { - margin: 0 0 auto; - text-align: right; } - #app-content .main_list .grid-view .credential .credential_content .tags .tag { - color: #000 !important; - margin-top: 5px; - display: inline-block; - left: 0; } - @media all and (min-width: 40em) { - #app-content .main_list .grid-view .credential { - width: 40%; } } - @media all and (min-width: 58em) { - #app-content .main_list .grid-view .credential { - width: 26%; } } - @media all and (min-width: 78em) { - #app-content .main_list .grid-view .credential { - width: 20%; } } - #app-content .main_list .share { - overflow: hidden; } - #app-content .main_list .nopasswords { - margin-right: auto; - margin-left: auto; - margin-top: 10%; - text-align: center; } - #app-content .main_list .belowList { - margin-right: auto; - margin-left: auto; - margin-top: 1%; - text-align: center; } - #app-content .app_sidebar { - height: fit-content; - top: 55px; + #app-content .main_list .share { + overflow: hidden; } + #app-content .main_list .nopasswords { + margin-right: auto; + margin-left: auto; + margin-top: 10%; + text-align: center; } + #app-content .main_list .belowList { + margin-right: auto; + margin-left: auto; + margin-top: 1%; + text-align: center; } + #app-content .main_list .app_sidebar { float: right; padding: 10px; overflow-y: auto; } - #app-content .app_sidebar h2 { + #app-content .main_list .app_sidebar h2 { margin-bottom: 10px; font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 90%; } - #app-content .app_sidebar .close.icon-close { + #app-content .main_list .app_sidebar .close.icon-close { position: absolute; top: 10px; right: 10px; cursor: pointer; } - #app-content .app_sidebar.item_selected { + #app-content .main_list .app_sidebar.item_selected { height: 25%; display: inline-block; } - #app-content .app_sidebar .credential-data .compromised-details { + #app-content .main_list .app_sidebar .credential-data .compromised-details { margin-top: 15px; margin-bottom: 15px; display: flex; } - #app-content .app_sidebar .credential-data .compromised-details .icon { + #app-content .main_list .app_sidebar .credential-data .compromised-details .icon { float: left; height: 20px; } - #app-content .app_sidebar .credential-data .compromised-details .text { + #app-content .main_list .app_sidebar .credential-data .compromised-details .text { padding-left: 5px; padding-right: 30px; color: #e9322d; } - #app-content .app_sidebar .credential-data .row { + #app-content .main_list .app_sidebar .credential-data .row { margin-bottom: 11px; } - #app-content .app_sidebar .credential-data .tags { + #app-content .main_list .app_sidebar .credential-data .tags { margin-top: 15px; margin-bottom: 15px; float: none; } - #app-content .app_sidebar .credential-data .tags .tag { + #app-content .main_list .app_sidebar .credential-data .tags .tag { background-color: rgba(240, 240, 240, 0.9); padding: 4px; margin-right: 3px; } @@ -1079,7 +1065,7 @@ opacity: 1 !important; z-index: 140; } .nav-trashbin a.active { - background-image: var(--icon-delete-color-red); } + background-image: var(--icon-delete-e9322d); } .nav-trashbin a .fa { margin-right: 15px; } @@ -1178,20 +1164,6 @@ .shared_table .fa-trash:hover { color: #ce3702; } -.tags { - float: left; } - .tags .tag { - background-color: rgba(240, 240, 240, 0.9); - padding: 4px; - font-size: 11px; } - -tags-input .tags { - width: 100%; } - tags-input .tags .input { - width: auto !important; } - tags-input .tags .tag-item { - color: var(--color-text-lighter); } - /** * Nextcloud - passman * @@ -1213,9 +1185,6 @@ tags-input .tags { * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -.ng-app-frame { - display: block !important; } - .spacer-top-30 { margin-top: 30px; } @@ -1270,17 +1239,6 @@ tags-input .tags { h3 { font-weight: bold; } -.setting-group label, .setting-group input { - display: block; } -.setting-group input[type="text"], .setting-group input[type="password"], .setting-group textarea { - width: 100%; } - -.display-grid { - display: grid; } - -.password-settings-padding-left-fix { - padding-left: 0 !important; } - /** * Nextcloud - passman * @@ -1431,10 +1389,13 @@ h3 { margin-left: 0 !important; margin-right: 0 !important; } +#app-content #app-content-wrapper #passman-controls { + border-bottom: 1px solid #c9c9c9; } + #passman-controls { display: flow-root; - position: absolute; - width: calc(100vw - 300px); + position: sticky; + width: 100%; box-sizing: border-box; border-bottom: 1px solid #c9c9c9; background-color: rgba(255, 255, 255, 0.95); @@ -1443,8 +1404,7 @@ h3 { -moz-user-select: none; -ms-user-select: none; user-select: none; - min-height: 54px !important; - height: auto !important; + height: 54px !important; padding-right: 20px !important; } @media only screen and (max-width: 769px) { #passman-controls .breadcrumb { @@ -1482,9 +1442,6 @@ input[type="checkbox"] { background-color: #f2dede; border-color: #ebccd1; } -.btn-danger { - background-color: var(--color-error) !important; } - .ui-button.ui-widget { min-height: unset !important; } diff --git a/css/app.css.map b/css/app.css.map index d6c628b5..535e4391 100644 --- a/css/app.css.map +++ b/css/app.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "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", +"mappings": "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", "sources": ["../sass/app.scss","../sass/variables.scss","../sass/mixins.scss","../sass/partials/button.scss","../sass/partials/popovermenu.scss","../sass/partials/tabs.scss","../sass/partials/pwgen.scss","../sass/partials/icon-picker.scss","../sass/partials/share-incoming.scss","../sass/vaults.scss","../sass/credentials.scss","../sass/menu.scss","../sass/share_credential.scss","../sass/settings.scss","../sass/searchboxexpander.scss","../sass/toastify.scss"], "names": [], "file": "app.css" diff --git a/js/templates.js b/js/templates.js index 90d75e21..11b12ada 100644 --- a/js/templates.js +++ b/js/templates.js @@ -3,13 +3,13 @@ angular.module('templates-main', ['views/credential_revisions.html', 'views/edit angular.module('views/credential_revisions.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/credential_revisions.html', - '<div class="main_list" off-click-filter="\'.download-js-link, .sidebar-shown, #app-sidebar\'"><div id="passman-controls"><div class="actions creatable"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></div><div class="crumb svg"><a ng-click="cancelRevision()">{{active_vault.name}}</a></div><div class="crumb svg last"><a ng-if="storedCredential.credential_id">{{ \'showing.revisions\' | translate}} "{{revision.credential_data.label}}"</a></div></div></div></div><div class="credential-list"><div class="credential-table-wrapper"><table class="credential-table" ng-init="menuOpen = false;"><tr ng-repeat="revision in revisions | orderBy:\'-created\'" ng-click="selectRevision(revision)" ng-class="{\'selected\': selectedRevision.revision_id == revision.revision_id}"><td><span class="icon"><i class="fa fa-lock"></i> </span><span class="label">{{ \'revision.of\' | translate}} {{revision.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}} ({{revision.credential_data.label}}) <span ng-if="revision.edited_by">{{ \'revision.edited.by\' | translate}} {{revision.edited_by}}</span></span></td></tr><tr ng-show="revisions.length == 0"><td>{{ \'no.revisions\' | translate}}</td></tr></table></div><div id="app-sidebar" class="detailsView scroll-container app_sidebar" off-click="closeSelected()" ng-show="selectedRevision"><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span> <b ng-show="selectedRevision">{{ \'revision.of\' | translate}} {{selectedRevision.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</b><div class="credential-data"><div class="row" ng-show="selectedRevision.credential_data.label"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'label\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.label"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.username"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'account\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.username"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.password"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'password\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.password" secret="\'true\'"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.otp.secret"><div class="col-xs-4 col-md-3 col-lg-3">{{\'otp\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span otp-generator secret="selectedRevision.credential_data.otp.secret"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.email"><div class="col-xs-4 col-md-3 col-lg-3">{{\'email\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.email"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.url"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'url\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.url"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.description"><div class="col-xs-4 col-md-3 col-lg-3">{{\'notes\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.description_html"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.files.length > 0"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'files\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><div ng-repeat="file in selectedRevision.credential_data.files" class="link" ng-click="downloadFile(selectedRevision.credential_data, file)">{{file.filename}} ({{file.size | bytes}})</div></div></div><div class="row" ng-repeat="field in selectedRevision.credential_data.custom_fields"><div class="col-xs-4 col-md-3 col-lg-3">{{field.label}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="field.value" secret="field.secret" ng-if="field.field_type !== \'file\' || !field.field_type"></span> <span ng-if="field.field_type === \'file\'" class="link" ng-click="downloadFile(selectedCredential, field.value)">{{field.value.filename}} ({{field.value.size | bytes}})</span></div></div><div class="row" ng-show="selectedRevision.credential_data.expire_time > 0"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'expire.time\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.expire_time * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row" ng-show="selectedRevision.credential_data.changed"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'changed\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.changed * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row" ng-show="selectedRevision.credential_data.created"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'created\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row"><div class="col-xs-12"><div class="tags"><span class="tag" ng-repeat="tag in selectedRevision.credential_data.tags">{{tag.text}}</span></div></div></div></div><div ng-show="selectedRevision"><button class="button" ng-click="restoreRevision(selectedRevision)"><span class="fa fa-edit"></span> {{ \'restore.revision\' | translate}}</button> <button class="button" ng-click="deleteRevision(selectedRevision)"><span class="fa fa-trash"></span> {{ \'delete.revision\' | translate}}</button></div></div></div></div>'); + '<div class="main_list" off-click-filter="\'.download-js-link, .sidebar-shown, #app-sidebar\'"><div id="passman-controls"><div class="actions creatable"><div class="breadcrumb"><div class="crumb svg ui-droppable"><a ng-click="logout()"><i class="fa fa-home"></i></a></div><div class="crumb svg"><a ng-click="cancelRevision()">{{active_vault.name}}</a></div><div class="crumb svg last"><a ng-if="storedCredential.credential_id">{{ \'showing.revisions\' | translate}} "{{revision.credential_data.label}}"</a></div></div></div></div><table class="credential-table" ng-init="menuOpen = false;"><tr ng-repeat="revision in revisions | orderBy:\'-created\'" ng-click="selectRevision(revision)" ng-class="{\'selected\': selectedRevision.revision_id == revision.revision_id}"><td><span class="icon"><i class="fa fa-lock"></i> </span><span class="label">{{ \'revision.of\' | translate}} {{revision.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}} ({{revision.credential_data.label}}) <span ng-if="revision.edited_by">{{ \'revision.edited.by\' | translate}} {{revision.edited_by}}</span></span></td></tr><tr ng-show="revisions.length == 0"><td>{{ \'no.revisions\' | translate}}</td></tr></table></div><div id="app-sidebar" class="detailsView scroll-container app_sidebar" off-click="closeSelected()" ng-show="selectedRevision"><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span> <b ng-show="selectedRevision">{{ \'revision.of\' | translate}} {{selectedRevision.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</b><div class="credential-data"><div class="row" ng-show="selectedRevision.credential_data.label"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'label\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.label"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.username"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'account\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.username"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.password"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'password\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.password" secret="\'true\'"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.otp.secret"><div class="col-xs-4 col-md-3 col-lg-3">{{\'otp\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span otp-generator secret="selectedRevision.credential_data.otp.secret"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.email"><div class="col-xs-4 col-md-3 col-lg-3">{{\'email\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.email"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.url"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'url\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.url"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.description"><div class="col-xs-4 col-md-3 col-lg-3">{{\'notes\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.description_html"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.files.length > 0"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'files\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><div ng-repeat="file in selectedRevision.credential_data.files" class="link" ng-click="downloadFile(selectedRevision.credential_data, file)">{{file.filename}} ({{file.size | bytes}})</div></div></div><div class="row" ng-repeat="field in selectedRevision.credential_data.custom_fields"><div class="col-xs-4 col-md-3 col-lg-3">{{field.label}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="field.value" secret="field.secret" ng-if="field.field_type !== \'file\' || !field.field_type"></span> <span ng-if="field.field_type === \'file\'" class="link" ng-click="downloadFile(selectedCredential, field.value)">{{field.value.filename}} ({{field.value.size | bytes}})</span></div></div><div class="row" ng-show="selectedRevision.credential_data.expire_time > 0"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'expire.time\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.expire_time * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row" ng-show="selectedRevision.credential_data.changed"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'changed\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.changed * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row" ng-show="selectedRevision.credential_data.created"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'created\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row"><div class="col-xs-12"><div class="tags"><span class="tag" ng-repeat="tag in selectedRevision.credential_data.tags">{{tag.text}}</span></div></div></div></div><div ng-show="selectedRevision"><button class="button" ng-click="restoreRevision(selectedRevision)"><span class="fa fa-edit"></span> {{ \'restore.revision\' | translate}}</button> <button class="button" ng-click="deleteRevision(selectedRevision)"><span class="fa fa-trash"></span> {{ \'delete.revision\' | translate}}</button></div></div>'); }]); angular.module('views/edit_credential.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/edit_credential.html', - '<div id="passman-controls"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></div><div class="crumb svg" data-dir="/Test"><a ng-click="cancel()">{{ active_vault.name }}</a></div><div class="crumb svg last" data-dir="/Test"><a ng-if="storedCredential.credential_id">{{ \'edit.credential\' | translate }} "{{ storedCredential.label }}"</a> <a ng-if="!storedCredential.credential_id">{{ \'create.credential\' | translate }}</a></div></div></div></div><div class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title }}</li></ul></nav><div class="tab_container edit_credential" use-theme type="\'border-top-color\'"><div ng-include="currentTab.url"></div><button ng-click="saveCredential()" ng-disabled="saving"><i class="fa fa-spinner fa-spin" ng-show="saving"></i> {{ \'save\' | translate }}</button> <button ng-click="cancel()">{{ \'cancel\' | translate }}</button></div></div>'); + '<div id="passman-controls"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg ui-droppable" data-dir="/"><a ng-click="logout()"><i class="fa fa-home"></i></a></div><div class="crumb svg" data-dir="/Test"><a ng-click="cancel()">{{ active_vault.name }}</a></div><div class="crumb svg last" data-dir="/Test"><a ng-if="storedCredential.credential_id">{{ \'edit.credential\' | translate }} "{{ storedCredential.label }}"</a> <a ng-if="!storedCredential.credential_id">{{ \'create.credential\' | translate }}</a></div></div></div></div><div class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title }}</li></ul></nav><div class="tab_container edit_credential" use-theme type="\'border-top-color\'"><div ng-include="currentTab.url"></div><button ng-click="saveCredential()" ng-disabled="saving"><i class="fa fa-spinner fa-spin" ng-show="saving"></i> {{ \'save\' | translate }}</button> <button ng-click="cancel()">{{ \'cancel\' | translate }}</button></div></div>'); }]); angular.module('views/partials/credential_template.html', []).run(['$templateCache', function($templateCache) { @@ -21,7 +21,7 @@ angular.module('views/partials/credential_template.html', []).run(['$templateCac angular.module('views/partials/forms/edit_credential/basics.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/partials/forms/edit_credential/basics.html', - '<div class="row"><div class="col-xs-12 col-md-6"><div class="setting-group"><label>{{ \'label\' | translate}}</label><div class="icon-label"><div class="icon-picker" icon-picker="storedCredential"></div><input type="text" class="form-control" ng-model="storedCredential.label"></div></div><div class="setting-group"><label>{{ \'username\' | translate}}</label> <input type="text" ng-model="storedCredential.username"></div><div class="setting-group"><label>{{ \'email\' | translate}}</label> <input type="text" ng-model="storedCredential.email"></div><div class="setting-group"><label>{{ \'password\' | translate}}</label><div><password-gen ng-model="storedCredential.password" settings="pwSettings" callback="pwGenerated"></password-gen><ng-password-meter password="storedCredential.password"></ng-password-meter></div></div><div class="setting-group"><label>{{ \'password.r\' | translate}}</label> <input type="password" ng-model="storedCredential.password_repeat"></div><div class="setting-group"><label>{{ \'url\' | translate}}</label> <input type="text" ng-model="storedCredential.url"></div></div><div class="col-xs-12 col-md-6"><div class="setting-group"><label>{{ \'notes\' | translate}}</label> <textarea class="credential_textarea" ng-model="storedCredential.description"></textarea></div><label>{{ \'add.tag\' | translate}}</label><div class="tags_input"><tags-input ng-model="storedCredential.tags" replace-spaces-with-dashes="false"><auto-complete source="getTags($query)" min-length="0"></auto-complete></tags-input></div></div><div class="col-xs-12 col-md-6"><button class="btn-danger compromised-button" ng-click="compromise()">{{ \'compromised.label\' | translate}}</button><div class="compromised-details" ng-show="storedCredential.compromised"><div class="icon-error-color icon"></div><div class="text">{{ \'compromised.warning\' | translate }}</div></div></div></div>'); + '<div class="row"><div class="col-xs-12 col-md-6"><label>{{ \'label\' | translate}}</label><div class="icon-label"><div class="icon-picker" icon-picker="storedCredential"></div><input type="text" class="form-control" ng-model="storedCredential.label"></div><label>{{ \'username\' | translate}}</label><div><input type="text" ng-model="storedCredential.username"></div><label>{{ \'email\' | translate}}</label><div><input type="text" ng-model="storedCredential.email"></div><label>{{ \'password\' | translate}}</label><div><password-gen ng-model="storedCredential.password" settings="pwSettings" callback="pwGenerated"></password-gen><ng-password-meter password="storedCredential.password"></ng-password-meter></div><div><label>{{ \'password.r\' | translate}}</label> <input type="password" ng-model="storedCredential.password_repeat"></div><label>{{ \'url\' | translate}}</label><div><input type="text" ng-model="storedCredential.url"></div></div><div class="col-xs-12 col-md-6"><label>{{ \'notes\' | translate}}</label><div><textarea class="credential_textarea" ng-model="storedCredential.description"></textarea></div><label>{{ \'add.tag\' | translate}}</label><div class="tags_input"><tags-input ng-model="storedCredential.tags" replace-spaces-with-dashes="false"><auto-complete source="getTags($query)" min-length="0"></auto-complete></tags-input></div></div><div class="col-xs-12 col-md-6"><button class="compromised-button" ng-click="compromise()">{{ \'compromised.label\' | translate}}</button><div class="compromised-details" ng-show="storedCredential.compromised"><div class="icon-error-color icon"></div><div class="text">{{ \'compromised.warning\' | translate }}</div></div></div></div>'); }]); angular.module('views/partials/forms/edit_credential/custom_fields.html', []).run(['$templateCache', function($templateCache) { @@ -33,7 +33,7 @@ angular.module('views/partials/forms/edit_credential/custom_fields.html', []).ru angular.module('views/partials/forms/edit_credential/files.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/partials/forms/edit_credential/files.html', - '<div class="row file_tab"><div class="col-xs-12 col-md-6"><input class="inputfile" id="file" type="file" file-select success="fileLoaded" error="fileLoadError" progress="fileSelectProgress"> <label for="file"><i class="fa fa-upload" aria-hidden="true"></i> {{\'select.file\' | translate}}</label> <span ng-if="fileprogress.file_percent > 0"><div progress-bar="fileprogress.file_percent"></div></span></div></div><div class="row files" ng-if="storedCredential.files.length > 0"><div class="col-xs-12 table"><table><thead><tr><th class="field_label">{{ \'file.name\' | translate }}</th><th class="field_value">{{ \'upload.date\' | translate}}</th><th class="field_secret">{{ \'size\' | translate}}</th><th class="field_actions">{{ \'actions\' | translate}}</th></tr></thead><tr ng-repeat="file in storedCredential.files"><td><a href="#" editable-text="file.filename">{{ file.filename || "empty" }}</a></td><td>{{file.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td><td>{{file.size | bytes}}</td><td class="field_actions"><i class="fa fa-trash" ng-click="deleteFile(file)"></i></td></tr></table></div></div>'); + '<div class="row file_tab"><div class="col-xs-12 col-md-6"><input class="inputfile" id="file" type="file" file-select success="fileLoaded" error="fileLoadError" progress="fileSelectProgress"> <label for="file"><i class="fa fa-upload" aria-hidden="true"></i> {{\'select.file\' | translate}}</label> <span ng-if="fileprogress.file_percent > 0"><div progress-bar="fileprogress.file_percent"></div></span></div></div><div class="row files" ng-if="storedCredential.files.length > 0"><div class="col-xs-12 table"><table><thead use-theme><tr><th class="field_label">{{ \'file.name\' | translate }}</th><th class="field_value">{{ \'upload.date\' | translate}}</th><th class="field_secret">{{ \'size\' | translate}}</th><th class="field_actions">{{ \'actions\' | translate}}</th></tr></thead><tr ng-repeat="file in storedCredential.files"><td><a href="#" editable-text="file.filename">{{ file.filename || "empty" }}</a></td><td>{{file.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td><td>{{file.size | bytes}}</td><td class="field_actions"><i class="fa fa-trash" ng-click="deleteFile(file)"></i></td></tr></table></div></div>'); }]); angular.module('views/partials/forms/edit_credential/otp.html', []).run(['$templateCache', function($templateCache) { @@ -45,19 +45,19 @@ angular.module('views/partials/forms/edit_credential/otp.html', []).run(['$templ angular.module('views/partials/forms/edit_credential/password.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/partials/forms/edit_credential/password.html', - '<div class="row"><div class="col-xs-12 col-md-5 col-lg-5"><div class="setting-group"><label>{{ \'password\' | translate}}</label><div><password-gen ng-model="storedCredential.password" settings="pwSettings" callback="pwGenerated"></password-gen><ng-password-meter password="storedCredential.password"></ng-password-meter></div></div><div class="setting-group"><label>{{ \'password.r\' | translate}}</label> <input type="password" ng-model="storedCredential.password_repeat"></div><label>{{ \'expire.date\' | translate}}</label><div><span datetime-picker ng-model="storedCredential.expire_time" class="link" future-only ng-show="storedCredential.expire_time == 0" close-on-select="false">{{\'no.expire.date\' | translate}}</span> <span datetime-picker ng-model="storedCredential.expire_time" class="link" future-only ng-show="storedCredential.expire_time != 0" close-on-select="false">{{ storedCredential.expire_time | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</span></div><label>{{ \'renew.interval\' | translate}}</label><div><input type="number" ng-model="renewIntervalValue" min="0" ng-change="updateInterval(renewIntervalValue, renewIntervalModifier)"> <select ng-model="renewIntervalModifier" ng-change="updateInterval(renewIntervalValue, renewIntervalModifier)"><option value="0">{{ \'disabled\' | translate}}</option><option value="86400">{{ \'days\' | translate }}</option><option value="604800">{{ \'weeks\' | translate}}</option><option value="2592000">{{ \'months\' | translate}}</option><option value="31622400">{{ \'years\' | translate}}</option></select></div></div><div class="col-xs-12 col-md-7 col-lg-7"><b>{{ \'generation.settings\' | translate}}</b><div class="row"><div class="password_settings"><div class="col-xs-12 col-sm-5 col-lg-4"><label><span class="label">{{ \'password.generation.length\' | translate}}</span><br><input type="number" ng-model="pwSettings.length" min="1"></label><br><label><span class="label">{{\'password.generation.min_digits\' | translate}}</span><br><input type="number" ng-model="pwSettings.minimumDigitCount" min="0"></label></div><div class="col-xs-12 col-sm-6 col-lg-6 display-grid"><input id="pwSettings.useUppercase" class="checkbox" type="checkbox" ng-model="pwSettings.useUppercase"> <label for="pwSettings.useUppercase">{{\'password.generation.uppercase\' | translate}}</label> <input id="pwSettings.useLowercase" class="checkbox" type="checkbox" ng-model="pwSettings.useLowercase"> <label for="pwSettings.useLowercase">{{\'password.generation.lowercase\' | translate}}</label> <input id="pwSettings.useDigits" class="checkbox" type="checkbox" ng-model="pwSettings.useDigits"> <label for="pwSettings.useDigits">{{\'password.generation.digits\' | translate}}</label> <input id="pwSettings.useSpecialChars" class="checkbox" type="checkbox" ng-model="pwSettings.useSpecialChars"> <label for="pwSettings.useSpecialChars">{{\'password.generation.special\' | translate}}</label> <input id="pwSettings.avoidAmbiguousCharacters" class="checkbox" type="checkbox" ng-model="pwSettings.avoidAmbiguousCharacters"> <label for="pwSettings.avoidAmbiguousCharacters">{{\'password.generation.ambiguous\' | translate}}</label> <input id="pwSettings.requireEveryCharType" class="checkbox" type="checkbox" ng-model="pwSettings.requireEveryCharType"> <label for="pwSettings.requireEveryCharType">{{\'password.generation.require_same\' | translate}}</label></div></div></div></div></div>'); + '<div class="row"><div class="col-xs-12 col-md-5 col-lg-5"><label>{{ \'password\' | translate}}</label><div><password-gen ng-model="storedCredential.password" settings="pwSettings" callback="pwGenerated"></password-gen><ng-password-meter password="storedCredential.password"></ng-password-meter></div><label>{{ \'password.r\' | translate}}</label><div><input type="password" ng-model="storedCredential.password_repeat"></div><label>{{ \'expire.date\' | translate}}</label><div><span datetime-picker ng-model="storedCredential.expire_time" class="link" future-only ng-show="storedCredential.expire_time == 0" close-on-select="false">{{\'no.expire.date\' | translate}}</span> <span datetime-picker ng-model="storedCredential.expire_time" class="link" future-only ng-show="storedCredential.expire_time != 0" close-on-select="false">{{ storedCredential.expire_time | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</span></div><label>{{ \'renew.interval\' | translate}}</label><div><input type="number" ng-model="renewIntervalValue" min="0" ng-change="updateInterval(renewIntervalValue, renewIntervalModifier)"> <select ng-model="renewIntervalModifier" ng-change="updateInterval(renewIntervalValue, renewIntervalModifier)"><option value="0">{{ \'disabled\' | translate}}</option><option value="86400">{{ \'days\' | translate }}</option><option value="604800">{{ \'weeks\' | translate}}</option><option value="2592000">{{ \'months\' | translate}}</option><option value="31622400">{{ \'years\' | translate}}</option></select></div></div><div class="col-xs-12 col-md-7 col-lg-7"><b>{{ \'generation.settings\' | translate}}</b><div class="row"><div class="password_settings"><div class="col-xs-12 col-sm-5 col-lg-4"><label><span class="label">{{ \'password.generation.length\' | translate}}</span><br><input type="number" ng-model="pwSettings.length" min="1"></label> <label><span class="label">{{\'password.generation.min_digits\' | translate}}</span><br><input type="number" ng-model="pwSettings.minimumDigitCount" min="0"></label></div><div class="col-xs-12 col-sm-6 col-lg-6"><label><input type="checkbox" ng-model="pwSettings.useUppercase"> <span class="label sm">{{ \'password.generation.uppercase\' | translate}}</span></label> <label><input ng-model="pwSettings.useLowercase" type="checkbox" id="lower"> <span class="label sm">{{ \'password.generation.lowercase\' | translate}}</span></label> <label><input ng-model="pwSettings.useDigits" type="checkbox" id="digits"> <span class="label sm">{{ \'password.generation.digits\' | translate}}</span></label> <label><input type="checkbox" id="special" ng-model="pwSettings.useSpecialChars"> <span class="label sm">{{ \'password.generation.special\' | translate}}</span></label> <label><input type="checkbox" id="ambig" ng-model="pwSettings.avoidAmbiguousCharacters"> <span class="label sm">{{ \'password.generation.ambiguous\' | translate}}</span></label> <label><input type="checkbox" ng-model="pwSettings.requireEveryCharType" id="reqevery"> <span class="label sm">{{ \'password.generation.require_same\' | translate}}</span></label></div></div></div></div></div>'); }]); angular.module('views/partials/forms/settings/export.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/partials/forms/settings/export.html', - '<div ng-controller="ExportCtrl"><div class="row"><div class="col-xs-6"><label>{{ \'export.type\' | translate}} <select ng-init="raw" ng-model="raw" ng-change="setExporter(raw)"><option ng-repeat="exporter in available_exporters" value="{{exporter}}">{{exporter.name}}</option></select></label><div><b>{{selectedExporter.description}}</b></div><div ng-show="selectedExporter" class="nopadding setting-group"><label>{{ \'export.confirm.text\' | translate }}</label> <input type="password" ng-model="confirm_key"><br><div class="alert alert-warning" ng-show="error">{{error}}</div></div><div class="clearfix"><button class="button" ng-click="startExport()" ng-if="selectedExporter">{{ \'export\' | translate}}</button></div></div><div class="col-xs-6"><div ng-if="log" class="import_log"><textarea id="import_log" auto-scroll="log">{{log.join(\'\\n\')}}</textarea></div></div></div></div>'); + '<div ng-controller="ExportCtrl"><div class="row"><div class="col-xs-6"><label>{{ \'export.type\' | translate}} <select ng-init="raw" ng-model="raw" ng-change="setExporter(raw)"><option ng-repeat="exporter in available_exporters" value="{{exporter}}">{{exporter.name}}</option></select></label><div><b>{{selectedExporter.description}}</b></div><div ng-show="selectedExporter" class="nopadding"><label>{{ \'export.confirm.text\' | translate }}</label> <input type="password" ng-model="confirm_key"><br><div class="alert alert-warning" ng-show="error">{{error}}</div></div><div class="clearfix"><button class="button" ng-click="startExport()" ng-if="selectedExporter">{{ \'export\' | translate}}</button></div></div><div class="col-xs-6"><div ng-if="log" class="import_log"><textarea id="import_log" auto-scroll="log">{{log.join(\'\\n\')}}</textarea></div></div></div></div>'); }]); angular.module('views/partials/forms/settings/general_settings.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/partials/forms/settings/general_settings.html', - '<div class="row"><div class="col-xs-12 col-md-6"><div class="setting-group"><h3>{{ \'rename.vault\' | translate}}</h3><label>{{ \'rename.vault.name\' | translate}}</label> <input type="text" ng-model="$parent.new_vault_name"> <button ng-click="saveVaultSettings()">{{ \'change\' | translate}}</button></div><div class="setting-group"><h3>{{ \'change.vault.key\' | translate}}</h3><label>{{ \'old.vault.password\' | translate}}</label> <input type="password" ng-model="oldVaultPass"> <label>{{ \'new.vault.password\' | translate}}</label> <input type="password" ng-model="newVaultPass"><ng-password-meter password="newVaultPass" score="vault_key_score"></ng-password-meter><label>{{ \'new.vault.pw.r\' | translate}}</label> <input type="password" ng-model="newVaultPass2"><div ng-show="error || vault_key_score.score < minimal_value_key_strength" class="error"><ul><li>{{error}}</li><li ng-show="vault_key_score.score < minimal_value_key_strength">{{\'min.vault.key.strength\' | translate:required_score}}</li></ul></div><button ng-click="changeVaultPassword(oldVaultPass,newVaultPass,newVaultPass2)" ng-disabled="vault_key_score.score < minimal_value_key_strength">{{ \'change\' | translate}}</button><div ng-show="change_pw.total > 0">{{\'warning.leave\' | translate}}<br>{{ \'processing\' | translate}} {{cur_state.process}}<div progress-bar="cur_state.calculated" index="cur_state.current" total="cur_state.total"></div>{{ \'total.progress\' | translate}}<div progress-bar="change_pw.percent" index="change_pw.done" total="change_pw.total"></div></div></div><div class="setting-group"><h3>{{\'delete.vault\' | translate}}</h3><b>{{ \'vault.remove.notice\' | translate }}</b> <label>{{\'vault.password\' | translate}}</label> <input type="password" ng-model="$parent.delete_vault_password"> <input id="confirmVaultDelete" class="checkbox" type="checkbox" ng-model="$parent.confirm_vault_delete"> <label for="confirmVaultDelete">{{\'delete.vault.checkbox\' | translate}}</label> <button class="btn btn-danger" ng-click="delete_vault()">{{\'delete.vault.confirm\' | translate}}</button><div ng-show="remove_pw">{{\'deleting.pw\' | translate:translationData}}<div progress-bar="remove_pw.percent" index="remove_pw.done" total="remove_pw.total"></div></div></div></div><div class="col-xs-12 col-md-6"><h3>{{ \'about.passman\' | translate}}</h3><p>{{ \'version\' | translate}}: <b>{{passman_version}}</b><br><br><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6YS8F97PETVU2" target="_blank" class="link">{{ \'donate.support\' | translate}}</a><br></p><h3>{{ \'bookmarklet\' | translate}}</h3><div><p>{{ \'bookmarklet.info1\' | translate}}<br>{{ \'bookmarklet.info2\' | translate}}<br></p></div><div><p ng-bind-html="bookmarklet" style="margin-top: 5px"></p></div></div></div>'); + '<div class="row"><div class="col-xs-12 col-md-6"><h3>{{ \'rename.vault\' | translate}}</h3><label>{{ \'rename.vault.name\' | translate}}</label> <input type="text" ng-model="$parent.new_vault_name"> <button ng-click="saveVaultSettings()">{{ \'change\' | translate}}</button><h3>{{ \'change.vault.key\' | translate}}</h3><label>{{ \'old.vault.password\' | translate}}</label> <input type="password" ng-model="oldVaultPass"> <label>{{ \'new.vault.password\' | translate}}</label> <input type="password" ng-model="newVaultPass"><ng-password-meter password="newVaultPass" score="vault_key_score"></ng-password-meter><label>{{ \'new.vault.pw.r\' | translate}}</label> <input type="password" ng-model="newVaultPass2"><div ng-show="error || vault_key_score.score < minimal_value_key_strength" class="error"><ul><li>{{error}}</li><li ng-show="vault_key_score.score < minimal_value_key_strength">{{\'min.vault.key.strength\' | translate:required_score}}</li></ul></div><button ng-click="changeVaultPassword(oldVaultPass,newVaultPass,newVaultPass2)" ng-disabled="vault_key_score.score < minimal_value_key_strength">{{ \'change\' | translate}}</button><div ng-show="change_pw.total > 0">{{\'warning.leave\' | translate}}<br>{{ \'processing\' | translate}} {{cur_state.process}}<div progress-bar="cur_state.calculated" index="cur_state.current" total="cur_state.total"></div>{{ \'total.progress\' | translate}}<div progress-bar="change_pw.percent" index="change_pw.done" total="change_pw.total"></div></div><h3>{{\'delete.vault\' | translate}}</h3><b>{{ \'vault.remove.notice\' | translate }}</b> <label>{{\'vault.password\' | translate}}</label> <input type="password" ng-model="$parent.delete_vault_password"> <input type="checkbox" ng-model="$parent.confirm_vault_delete"> {{\'delete.vault.checkbox\' | translate}}<br><button class="btn btn-danger" ng-click="delete_vault()">{{\'delete.vault.confirm\' | translate}}</button><div ng-show="remove_pw">{{\'deleting.pw\' | translate:translationData}}<div progress-bar="remove_pw.percent" index="remove_pw.done" total="remove_pw.total"></div></div></div><div class="col-xs-12 col-md-6"><h3>{{ \'about.passman\' | translate}}</h3><p>{{ \'version\' | translate}}: <b>{{passman_version}}</b><br><br><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6YS8F97PETVU2" target="_blank" class="link">{{ \'donate.support\' | translate}}</a><br></p><h3>{{ \'bookmarklet\' | translate}}</h3><div><p>{{ \'bookmarklet.info1\' | translate}}<br>{{ \'bookmarklet.info2\' | translate}}<br></p></div><div><p ng-bind-html="bookmarklet" style="margin-top: 5px"></p></div></div></div>'); }]); angular.module('views/partials/forms/settings/generic_csv_import.html', []).run(['$templateCache', function($templateCache) { @@ -75,7 +75,7 @@ angular.module('views/partials/forms/settings/import.html', []).run(['$templateC angular.module('views/partials/forms/settings/password_settings.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/partials/forms/settings/password_settings.html', - '<div class="password_settings"><div class="col-xs-12 col-sm-5 col-lg-4 password-settings-padding-left-fix"><div class="setting-group"><label><span class="label">{{ \'password.generation.length\' | translate}}</span><br><input type="number" ng-model="vault_settings.pwSettings.length" min="1"></label></div><div class="setting-group"><label><span class="label">{{ \'password.generation.min_digits\' | translate}}</span><br><input type="number" ng-model="vault_settings.pwSettings.minimumDigitCount" min="0"></label></div><input id="pwSettings.generateOnCreate" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.generateOnCreate"> <label for="pwSettings.generateOnCreate">{{\'password.generation.on_create\' | translate}}</label></div><div class="col-xs-12 col-sm-6 col-lg-6 display-grid"><input id="pwSettings.useUppercase" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.useUppercase"> <label for="pwSettings.useUppercase">{{\'password.generation.uppercase\' | translate}}</label> <input id="pwSettings.useLowercase" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.useLowercase"> <label for="pwSettings.useLowercase">{{\'password.generation.lowercase\' | translate}}</label> <input id="pwSettings.useDigits" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.useDigits"> <label for="pwSettings.useDigits">{{\'password.generation.digits\' | translate}}</label> <input id="pwSettings.useSpecialChars" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.useSpecialChars"> <label for="pwSettings.useSpecialChars">{{\'password.generation.special\' | translate}}</label> <input id="pwSettings.avoidAmbiguousCharacters" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.avoidAmbiguousCharacters"> <label for="pwSettings.avoidAmbiguousCharacters">{{\'password.generation.ambiguous\' | translate}}</label> <input id="pwSettings.requireEveryCharType" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.requireEveryCharType"> <label for="pwSettings.requireEveryCharType">{{\'password.generation.require_same\' | translate}}</label></div></div><div class="row"><div class="col-xs-12"><button class="button" ng-click="saveVaultSettings()">{{ \'save\' | translate}}</button></div></div>'); + '<div class="password_settings"><div class="col-xs-12 col-sm-5 col-lg-4 password-settings-padding-left-fix"><label><span class="label">{{ \'password.generation.length\' | translate}}</span><br><input type="number" ng-model="vault_settings.pwSettings.length" min="1"></label> <label><span class="label">{{ \'password.generation.min_digits\' | translate}}</span><br><input type="number" ng-model="vault_settings.pwSettings.minimumDigitCount" min="0"></label> <label><span class="label">Generate password on creation</span><br><input type="checkbox" ng-model="vault_settings.pwSettings.generateOnCreate" min="0"></label></div><div class="col-xs-12 col-sm-6 col-lg-6"><label><input type="checkbox" ng-model="vault_settings.pwSettings.useUppercase"> <span class="label sm">{{ \'password.generation.uppercase\' | translate}}</span></label> <label><input ng-model="vault_settings.pwSettings.useLowercase" type="checkbox" id="lower"> <span class="label sm">{{ \'password.generation.lowercase\' | translate}}</span></label> <label><input ng-model="vault_settings.pwSettings.useDigits" type="checkbox" id="digits"> <span class="label sm">{{ \'password.generation.digits\' | translate}}</span></label> <label><input type="checkbox" id="special" ng-model="vault_settings.pwSettings.useSpecialChars"> <span class="label sm">{{ \'password.generation.special\' | translate}}</span></label> <label><input type="checkbox" id="ambig" ng-model="vault_settings.pwSettings.avoidAmbiguousCharacters"> <span class="label sm">{{ \'password.generation.ambiguous\' | translate}}</span></label> <label><input type="checkbox" ng-model="vault_settings.pwSettings.requireEveryCharType" id="reqevery"> <span class="label sm">{{ \'password.generation.require_same\' | translate}}</span></label></div></div><div class="row"><div class="col-xs-12"><button class="button" ng-click="saveVaultSettings()">{{ \'save\' | translate}}</button></div></div>'); }]); angular.module('views/partials/forms/settings/sharing.html', []).run(['$templateCache', function($templateCache) { @@ -101,7 +101,7 @@ angular.module('views/partials/forms/share_credential/basics.html', []).run(['$t angular.module('views/partials/forms/share_credential/link_sharing.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/partials/forms/share_credential/link_sharing.html', - '<div class="row"><div class="col-xs-12 col-md-6"><input id="linkSharing.enabled" class="checkbox" type="checkbox" ng-model="share_settings.linkSharing.enabled"> <label for="linkSharing.enabled">{{\'enable.link.sharing\' | translate}}</label><br><div class="pull-left col-xs-6 nopadding"><span credential-field value="share_link" secret="false" use-input="true" input-placeholder="\'click.share\' | translate"></span></div><div ng-show="share_settings.linkSharing.enabled" class="clearfix">{{ \'share.until.date\' | translate}} <span datetime-picker ng-model="share_settings.linkSharing.settings.expire_time" class="link" future-only close-on-select="false" timestamp="true">{{ share_settings.linkSharing.settings.expire_time | date:\'dd-MM-yyyy @ HH:mm:ss\' }}</span></div><div ng-show="share_settings.linkSharing.enabled">{{ \'expire.views\' | translate}}<br><input type="number" ng-model="share_settings.linkSharing.settings.expire_views"></div><div ng-if="share_settings.linkSharing.enabled"><table><tr><td><input type="checkbox" ng-click="setPermission(share_settings.linkSharing.settings.acl, default_permissions.permissions.FILES)" ng-checked="hasPermission(share_settings.linkSharing.settings.acl, default_permissions.permissions.FILES)"></td><td>{{ \'show.files\' | translate}}</td></tr></table></div></div></div>'); + '<div class="row"><div class="col-xs-12 col-md-6"><label><input type="checkbox" ng-model="share_settings.linkSharing.enabled"> {{ \'enable.link.sharing\' | translate}}.</label><br><div class="pull-left col-xs-6 nopadding"><span credential-field value="share_link" secret="false" use-input="true" input-placeholder="\'click.share\' | translate"></span></div><div ng-show="share_settings.linkSharing.enabled" class="clearfix">{{ \'share.until.date\' | translate}} <span datetime-picker ng-model="share_settings.linkSharing.settings.expire_time" class="link" future-only close-on-select="false" timestamp="true">{{ share_settings.linkSharing.settings.expire_time | date:\'dd-MM-yyyy @ HH:mm:ss\' }}</span></div><div ng-show="share_settings.linkSharing.enabled">{{ \'expire.views\' | translate}}<br><input type="number" ng-model="share_settings.linkSharing.settings.expire_views"></div><div ng-if="share_settings.linkSharing.enabled"><table><tr><td><input type="checkbox" ng-click="setPermission(share_settings.linkSharing.settings.acl, default_permissions.permissions.FILES)" ng-checked="hasPermission(share_settings.linkSharing.settings.acl, default_permissions.permissions.FILES)"></td><td>{{ \'show.files\' | translate}}</td></tr></table></div></div></div>'); }]); angular.module('views/partials/icon-picker.html', []).run(['$templateCache', function($templateCache) { @@ -119,20 +119,20 @@ angular.module('views/partials/password-meter.html', []).run(['$templateCache', angular.module('views/settings.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/settings.html', - '<div id="passman-controls"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></div><div class="crumb svg"><a ng-click="cancel()">{{ active_vault.name }}</a></div><div class="crumb svg last"><a>{{ \'settings\' | translate }}</a></div></div></div></div><div class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title | translate }}</li></ul></nav><div class="tab_container settings edit_credential" use-theme type="\'border-top-color\'"><div ng-include="currentTab.url"></div></div></div>'); + '<div id="passman-controls"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg ui-droppable" data-dir="/"><a ng-click="logout()"><i class="fa fa-home"></i></a></div><div class="crumb svg"><a ng-click="cancel()">{{ active_vault.name }}</a></div><div class="crumb svg last"><a>{{ \'settings\' | translate }}</a></div></div></div></div><div class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title | translate }}</li></ul></nav><div class="tab_container settings edit_credential" use-theme type="\'border-top-color\'"><div ng-include="currentTab.url"></div></div></div>'); }]); angular.module('views/share_credential.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/share_credential.html', - '<div id="passman-controls"><div class="actions creatable"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></div><div class="crumb svg" data-dir="/Test"><a ng-click="cancel()">{{ active_vault.name }}</a></div><div class="crumb svg last" data-dir="/Test"><a ng-if="storedCredential.credential_id">{{ \'share.credential\' | translate }} {{ storedCredential.label }}</a></div></div></div></div><div class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title | translate }}</li></ul></nav><div class="tab_container share_credential" ng-show="currentTab"><div ng-include="currentTab.url"></div><button ng-click="applyShare()" ng-disabled="share_settings.linkSharing.enabled === false && share_settings.credentialSharedWithUserAndGroup.length === 0">{{ \'share\' | translate }}</button> <button ng-click="cancel()">{{ \'cancel\' | translate }}</button> <button class="btn btn-danger" ng-disabled="!storedCredential.shared_key" ng-click="unshareCredential(storedCredential)">{{ \'unshare\' | translate }}</button></div></div>'); + '<div id="passman-controls"><div class="actions creatable"><div class="breadcrumb"><div class="crumb svg ui-droppable" data-dir="/"><a ng-click="logout()"><i class="fa fa-home"></i></a></div><div class="crumb svg" data-dir="/Test"><a ng-click="cancel()">{{ active_vault.name }}</a></div><div class="crumb svg last" data-dir="/Test"><a ng-if="storedCredential.credential_id">{{ \'share.credential\' | translate }} {{ storedCredential.label }}</a></div></div></div></div><div class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title | translate }}</li></ul></nav><div class="tab_container share_credential" ng-show="currentTab"><div ng-include="currentTab.url"></div><button ng-click="applyShare()" ng-disabled="share_settings.linkSharing.enabled === false && share_settings.credentialSharedWithUserAndGroup.length === 0">{{ \'share\' | translate }}</button> <button ng-click="cancel()">{{ \'cancel\' | translate }}</button> <button class="btn btn-danger" ng-disabled="!storedCredential.shared_key" ng-click="unshareCredential(storedCredential)">{{ \'unshare\' | translate }}</button></div></div>'); }]); angular.module('views/show_vault.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/show_vault.html', - '<div class="main_list" off-click-filter="\'.download-js-link, .sidebar-shown, #app-sidebar\'"><div id="passman-controls" ng-class="{ \'sidebar-shown\': selectedCredential }"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></div><div class="crumb svg" ng-click="clearState()"><a>{{active_vault.name}}</a></div></div><div class="addCredential" ng-hide="delete_time>0"><button ng-click="addCredential()"><i class="fa fa-plus"></i></button></div><div class="addCredential" ng-hide="delete_time>0"><button ng-click="refresh()"><i class="fa fa-refresh"></i></button></div></div><div class="title" credential-counter="filtered_credentials" vault="active_vault" delete-time="delete_time" filters="filterOptions"></div><div class="searchboxContainer" ng-init="filterOptionShown = false;" off-click="filterOptionShown = false;"><input type="text" ng-model="filterOptions.filterText" class="searchbox" id="searchBox" placeholder="{{\'search.credential\' | translate}}" select-on-click clear-btn ng-click="filterOptionShown = true;"><div class="searchOptions" ng-show="filterOptionShown"><input type="checkbox" ng-model="filterOptions.useRegex"> {{ \'use.regex\' | translate }}</div></div><div class="viewModes"><div class="view-mode" ng-class="{\'active\': view_mode === \'list\' }" ng-click="switchViewMode(\'list\')"><i class="fa fa-list"></i></div><div class="view-mode" ng-class="{\'active\': view_mode === \'grid\' }" ng-click="switchViewMode(\'grid\')"><i class="fa fa-th-large"></i></div></div></div><div class="loaderContainer" ng-if="show_spinner"><div class="loader" use-theme type="\'border-bottom-color\'"></div></div><div class="credential-list"><div class="credential-table-wrapper" ng-init="menuOpen = false;"><table class="credential-table" ng-if="view_mode === \'list\'"><tr ng-repeat="credential in filtered_credentials | orderBy:\'label\'" ng-if="showCredentialRow(credential)" ng-click="selectCredential(credential)" ng-dblclick="editCredential(credential)" ng-class="{\'selected\': selectedCredential.credential_id == credential.credential_id}"><td ng-class="{\'compromised\': credential.compromised }"><span class="tags"><span class="tag" ng-repeat="tag in credential.tags_raw">{{ ::tag.text}}</span> </span><span class="icon" ng-if="credential.url || (credential.icon && credential.icon.type !== false)"><credential-icon credential="credential"></credential-icon></span><span class="icon" ng-if="!credential.url && (!credential.icon || (credential.icon && !credential.icon.type))"><i class="fa fa-lock" ng-if="!credential.acl && !credential.shared_key"></i> <i class="fa fa-share-alt" ng-if="credential.acl"></i> <i class="fa fa-share-alt-square" ng-if="credential.shared_key"></i> </span><a class="label">{{ ::credential.label}}</a> <span ng-if="credential.compromised" class="compromised-list"><i class="icon-error icon"></i> <span class="text">{{ \'compromised.warning.list\' | translate}}</span></span></td></tr></table><ul class="grid-view" ng-if="view_mode === \'grid\'"><li class="credential" ng-repeat="credential in filtered_credentials | orderBy:\'label\'" ng-if="credential.hidden == 0 && showCredentialRow(credential)" ng-click="selectCredential(credential)"><div class="credential_content"><div><span class="icon" ng-if="credential.url"><credential-icon credential="credential"></credential-icon></span><span class="icon" ng-if="!credential.url"><i class="fa fa-lock" ng-if="!credential.acl && !credential.shared_key"></i> <i class="fa fa-share-alt" ng-if="credential.acl"></i> <i class="fa fa-share-alt-square" ng-if="credential.shared_key"></i></span><div class="label">{{ ::credential.label}}</div></div><div class="tags"><div class="tag" ng-repeat="tag in credential.tags_raw">{{ ::tag.text}}</div></div></div></li></ul><div ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length==0 && filterOptions.filterText==\'\'" class="nopasswords" ng-hide="delete_time>0"><b>{{\'vault.hint.hello\' | translate}}</b><br><div>{{\'vault.hint.hello.add\' | translate}}</div><div class=""><button ng-click="addCredential()">+</button></div></div><div ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length>0" class="nopasswords" ng-hide="delete_time>0"><div>{{ \'vault.hint.list.notags\' | translate}}</div></div><div ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length==0 && filterOptions.filterText!=\'\'" class="nopasswords" ng-hide="delete_time>0"><div>{{ \'vault.hint.list.nosearch\' | translate}} <b>\'{{filterOptions.filterText}}\'</b></div></div><div class="nopasswords" ng-if="no_credentials_label.s_good" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nogood\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.s_medium" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nomedium\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.s_low" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nobad\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.expired" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.noexpired\' | translate}}</div></div><div class="nopasswords" ng-if="getListSizes().listsize_deleted==0" ng-hide="delete_time==0"><div>{{ \'vault.hint.list.nodeleted\' | translate}}</div></div></div><div id="app-sidebar" class="app_sidebar" ng-show="selectedCredential" off-click="closeSelected()"><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span><div class="sidebar"><span class="icon sidebar-icon" ng-if="selectedCredential.url || (selectedCredential.icon && selectedCredential.icon.type !== false)"><credential-icon credential="selectedCredential"></credential-icon></span><span class="icon sidebar-icon" ng-if="!selectedCredential.url && (!selectedCredential.icon || (selectedCredential.icon && !selectedCredential.icon.type))"><i class="fa fa-lock fa-3x icon-image-size"></i></span><h2 class="sidebar-label">{{selectedCredential.label}}</h2></div><div credential-template="selectedCredential"></div><div ng-show="selectedCredential"><div><button class="button" ng-click="editCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-edit"></span> {{ \'edit\' | translate}}</button> <button class="button" ng-click="deleteCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-trash"></span> {{ \'delete\' | translate}}</button> <button class="button" ng-click="shareCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && selectedCredential.acl === undefined &&\n' + - ' (settings.user_sharing_enabled === 1 || settings.user_sharing_enabled === \'1\' || settings.link_sharing_enabled === 1 || settings.link_sharing_enabled === \'1\')"><span class="fa fa-share"></span> {{ \'share\' | translate}}</button> <button class="button" ng-click="getRevisions(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.HISTORY)"><span class="fa fa-undo"></span> {{ \'revisions\' | translate}}</button> <button class="button" ng-if="selectedCredential.delete_time > 0" ng-click="recoverCredential(selectedCredential) && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-recycle"></span> {{\'recover\' | translate}}</button> <button class="button" ng-if="selectedCredential.delete_time > 0" ng-click="destroyCredential(selectedCredential)"><span class="fa fa-bomb"></span> {{\'destroy\' | translate}}</button></div></div></div></div></div><div class="share_popup" style="display: none" title="{{ \'sharereq.title\' | translate }}"><p>{{ \'sharereq.line1\' | translate}} {{ \'sharereq.line2\' | translate}}</p><br><table class="table"><thead><tr><td><b>{{ \'label\' | translate}}</b></td><td><b>{{ \'permissions\' | translate}}</b></td><td><b>{{ \'received.from\' | translate}}</b></td><td><b>{{ \'date\' | translate}}</b></td></tr></thead><tr ng-repeat="share_request in incoming_share_requests" ng-if="share_request.target_vault_id == active_vault.vault_id"><td>{{share_request.credential_label}}</td><td>{{share_request.permissions}}</td><td>{{share_request.from_user_id}}</td><td>{{share_request.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td><td><span class="link" ng-click="acceptShareRequest(share_request)"><b>{{ \'accept\' | translate}}</b></span> | <span class="link" ng-click="declineShareRequest(share_request)">{{ \'decline\' | translate}}</span></td></tr></table></div>'); + '<div class="main_list" off-click-filter="\'.download-js-link, .sidebar-shown, #app-sidebar\'"><div id="passman-controls" ng-class="{ \'sidebar-shown\': selectedCredential }"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></div><div class="crumb svg" ng-click="clearState()"><a>{{active_vault.name}}</a></div></div><div class="addCredential" ng-hide="delete_time>0"><button ng-click="addCredential()"><i class="fa fa-plus"></i></button></div><div class="addCredential" ng-hide="delete_time>0"><button ng-click="refresh()"><i class="fa fa-refresh"></i></button></div></div><div class="title" credential-counter="filtered_credentials" vault="active_vault" delete-time="delete_time" filters="filterOptions"></div><div class="searchboxContainer" ng-init="filterOptionShown = false;" off-click="filterOptionShown = false;"><input type="text" ng-model="filterOptions.filterText" class="searchbox" id="searchBox" placeholder="{{\'search.credential\' | translate}}" select-on-click clear-btn ng-click="filterOptionShown = true;"><div class="searchOptions" ng-show="filterOptionShown"><input type="checkbox" ng-model="filterOptions.useRegex"> {{ \'use.regex\' | translate }}</div></div><div class="viewModes"><div class="view-mode" ng-class="{\'active\': view_mode === \'list\' }" ng-click="switchViewMode(\'list\')"><i class="fa fa-list"></i></div><div class="view-mode" ng-class="{\'active\': view_mode === \'grid\' }" ng-click="switchViewMode(\'grid\')"><i class="fa fa-th-large"></i></div></div></div><div class="loaderContainer" ng-if="show_spinner"><div class="loader" use-theme type="\'border-bottom-color\'"></div></div><div ng-init="menuOpen = false;"><table class="credential-table" ng-if="view_mode === \'list\'"><tr ng-repeat="credential in filtered_credentials | orderBy:\'label\'" ng-if="showCredentialRow(credential)" ng-click="selectCredential(credential)" ng-dblclick="editCredential(credential)" ng-class="{\'selected\': selectedCredential.credential_id == credential.credential_id}"><td ng-class="{\'compromised\': credential.compromised }"><span class="tags"><span class="tag" ng-repeat="tag in credential.tags_raw">{{ ::tag.text}}</span> </span><span class="icon" ng-if="credential.url || (credential.icon && credential.icon.type !== false)"><credential-icon credential="credential"></credential-icon></span><span class="icon" ng-if="!credential.url && (!credential.icon || (credential.icon && !credential.icon.type))"><i class="fa fa-lock" ng-if="!credential.acl && !credential.shared_key"></i> <i class="fa fa-share-alt" ng-if="credential.acl"></i> <i class="fa fa-share-alt-square" ng-if="credential.shared_key"></i> </span><a class="label">{{ ::credential.label}}</a> <span ng-if="credential.compromised" class="compromised-list"><i class="icon-error icon"></i> <span class="text">{{ \'compromised.warning.list\' | translate}}</span></span></td></tr></table><ul class="grid-view" ng-if="view_mode === \'grid\'"><li class="credential" ng-repeat="credential in filtered_credentials | orderBy:\'label\'" ng-if="credential.hidden == 0 && showCredentialRow(credential)" ng-click="selectCredential(credential)" use-theme type="\'border-color\'"><div class="credential_content"><div><span class="icon" ng-if="credential.url"><credential-icon credential="credential"></credential-icon></span><span class="icon" ng-if="!credential.url"><i class="fa fa-lock" ng-if="!credential.acl && !credential.shared_key"></i> <i class="fa fa-share-alt" ng-if="credential.acl"></i> <i class="fa fa-share-alt-square" ng-if="credential.shared_key"></i></span><div class="label">{{ ::credential.label}}</div></div><div class="tags"><div class="tag" ng-repeat="tag in credential.tags_raw">{{ ::tag.text}}</div></div></div></li></ul><div ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length==0 && filterOptions.filterText==\'\'" class="nopasswords" ng-hide="delete_time>0"><b>{{\'vault.hint.hello\' | translate}}</b><br><div>{{\'vault.hint.hello.add\' | translate}}</div><div class=""><button ng-click="addCredential()">+</button></div></div><div ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length>0" class="nopasswords" ng-hide="delete_time>0"><div>{{ \'vault.hint.list.notags\' | translate}}</div></div><div ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length==0 && filterOptions.filterText!=\'\'" class="nopasswords" ng-hide="delete_time>0"><div>{{ \'vault.hint.list.nosearch\' | translate}} <b>\'{{filterOptions.filterText}}\'</b></div></div><div class="nopasswords" ng-if="no_credentials_label.s_good" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nogood\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.s_medium" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nomedium\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.s_low" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nobad\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.expired" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.noexpired\' | translate}}</div></div><div class="nopasswords" ng-if="getListSizes().listsize_deleted==0" ng-hide="delete_time==0"><div>{{ \'vault.hint.list.nodeleted\' | translate}}</div></div></div></div><div id="app-sidebar" class="app_sidebar" ng-show="selectedCredential" off-click="closeSelected()"><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span><div class="sidebar"><span class="icon sidebar-icon" ng-if="selectedCredential.url || (selectedCredential.icon && selectedCredential.icon.type !== false)"><credential-icon credential="selectedCredential"></credential-icon></span><span class="icon sidebar-icon" ng-if="!selectedCredential.url && (!selectedCredential.icon || (selectedCredential.icon && !selectedCredential.icon.type))"><i class="fa fa-lock fa-3x icon-image-size"></i></span><h2 class="sidebar-label">{{selectedCredential.label}}</h2></div><div credential-template="selectedCredential"></div><div ng-show="selectedCredential"><div><button class="button" ng-click="editCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-edit"></span> {{ \'edit\' | translate}}</button> <button class="button" ng-click="deleteCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-trash"></span> {{ \'delete\' | translate}}</button> <button class="button" ng-click="shareCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && selectedCredential.acl === undefined &&\n' + + ' (settings.user_sharing_enabled === 1 || settings.user_sharing_enabled === \'1\' || settings.link_sharing_enabled === 1 || settings.link_sharing_enabled === \'1\')"><span class="fa fa-share"></span> {{ \'share\' | translate}}</button> <button class="button" ng-click="getRevisions(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.HISTORY)"><span class="fa fa-undo"></span> {{ \'revisions\' | translate}}</button> <button class="button" ng-if="selectedCredential.delete_time > 0" ng-click="recoverCredential(selectedCredential) && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-recycle"></span> {{\'recover\' | translate}}</button> <button class="button" ng-if="selectedCredential.delete_time > 0" ng-click="destroyCredential(selectedCredential)"><span class="fa fa-bomb"></span> {{\'destroy\' | translate}}</button></div></div></div><div class="share_popup" style="display: none" title="{{ \'sharereq.title\' | translate }}"><p>{{ \'sharereq.line1\' | translate}} {{ \'sharereq.line2\' | translate}}</p><br><table class="table"><thead><tr><td><b>{{ \'label\' | translate}}</b></td><td><b>{{ \'permissions\' | translate}}</b></td><td><b>{{ \'received.from\' | translate}}</b></td><td><b>{{ \'date\' | translate}}</b></td></tr></thead><tr ng-repeat="share_request in incoming_share_requests" ng-if="share_request.target_vault_id == active_vault.vault_id"><td>{{share_request.credential_label}}</td><td>{{share_request.permissions}}</td><td>{{share_request.from_user_id}}</td><td>{{share_request.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td><td><span class="link" ng-click="acceptShareRequest(share_request)"><b>{{ \'accept\' | translate}}</b></span> | <span class="link" ng-click="declineShareRequest(share_request)">{{ \'decline\' | translate}}</span></td></tr></table></div>'); }]); angular.module('views/vault_req_deletion.html', []).run(['$templateCache', function($templateCache) { diff --git a/sass/app.scss b/sass/app.scss index 61f8b3d5..5e543704 100644 --- a/sass/app.scss +++ b/sass/app.scss @@ -63,22 +63,26 @@ } } +#app-content #app-content-wrapper #passman-controls { + border-bottom: 1px solid #c9c9c9; +} + #passman-controls { - display: flow-root; - position: absolute; - width: calc(100vw - 300px); box-sizing: border-box; + position: fixed; + margin: -45px 0 0; + right: 0; + left: 0; border-bottom: 1px solid #c9c9c9; + padding: 0 !important; background-color: rgba(255, 255, 255, .95); z-index: 50; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; - min-height: 54px !important; - height: auto!important; - padding-right: 20px !important; + height: 44px !important; .breadcrumb{ //Move Homeicon to the right to prevent overlap with burgermenu @media only screen and (max-width: 769px) { @@ -94,12 +98,17 @@ width: 100%; } } - +@media only screen and (min-width: 1024px){ + #app-navigation+#app-content #passman-controls { + left: 300px; + width: calc( 100% - 300px ) !important; + } +} #passman-controls .button, #passman-controls, #passman-controls input[type='submit'], #passman-controls input[type='text'], #passman-controls input[type='password'], #passman-controls select { box-sizing: border-box; - //display: inline-block; + display: inline-block; height: 36px; - padding: 5px 10px; + padding: 7px 10px; } .nopadding{ padding-right: 0; @@ -124,9 +133,6 @@ input[type="checkbox"]{ background-color: #f2dede; border-color: #ebccd1; } -.btn-danger { - background-color: var(--color-error) !important; -} .ui-button.ui-widget{ min-height: unset !important; diff --git a/sass/credentials.scss b/sass/credentials.scss index 5f21f10a..b1ea62a4 100644 --- a/sass/credentials.scss +++ b/sass/credentials.scss @@ -20,6 +20,13 @@ * */ +//override nc style to fix wrong offset +#content { + padding-top: 47px !important; // 45px but +2 because of borders + height: 100%; + width: 100%; +} + //fix for different heights of passwordicon .icon-image-size{ width: 16px; @@ -39,190 +46,50 @@ } +//this fixes the scrollbars, because passman-contols are shown above the sidebar. +#app-sidebar{ + height: auto; + .sidebar{ + display: inline-block; + .sidebar-icon { + margin-right: 15px; + .icon-image-size{ + width: 44px; + } + i { + width: 44px; + } + } + .sidebar-label{ + float:right; + line-height: 44px; + } + } +} + .vaultlist_sidebar_hidden{ width: 100vw !important; margin-left: 0px !important; } #app-content { - .ng-app-frame { - min-height: 100%; - display: flex; - } + margin-left: 300px; - @media only screen and (max-width: 1024px) { + @media only screen and (max-width: 769px) { width: 100vw; } - @media only screen and (min-width: 1025px) { + @media only screen and (min-width: 770px) { width: calc(100vw - 300px); } overflow-x: hidden; - .edit_credential { - padding-top: 10px; - label { - display: block; - } - input[type="text"], input[type="password"] { - width: 100%; - } - .compromised-button{ - margin-top: 15px; - background-color: #e60000; - color: black; - } - - .compromised-details{ - margin-top: 15px; - display: flex; - .icon{ - float: left; - height: 20px; - } - .text{ - padding-left: 5px; - padding-right: 30px; - color: #e9322d; - } - } - - .tags { - float: left; - .tag { - background-color: rgba(240, 240, 240, .9); - padding: 4px; - font-size: 11px; - } - } - tags-input { - .tags { - width: 100%; - .input { - width: auto!important; - } - .tag-item { - color: var(--color-text-lighter); - } - } - } - - .credential_textarea { - width: 100%; - height: 100px; - } - .password_settings { - label { - overflow: hidden; - input[type="checkbox"] { - width: auto !important; - float: left; - } - .label { - &.sm { - font-size: 12px; - } - float: left; - } - } - .password-settings-padding-left-fix{ - padding-left: 0 !important; - } - } - .field-value { - .valueInput { - padding-right: 0; - input { - @include border-right-radius(0); - } - .pw-gen .generate_pw .cell:last-child { - @include border-right-radius(0); - } - } - .selectType { - padding-left: 0; - margin-left: 0px; - select { - @include border-left-radius(0); - } - } - } - .custom_fields, .files { - margin-top: 10px; - table { - width: 100%; - thead { - background-color: var(--color-background-plain); - color: var(--color-primary-text); - - th.dragger { - width: 3%; - } - th { - color: #fff; - } - th.field_actions { - width: 15%; - } - } - tr:hover { - background-color: transparent; - } - tr { - td.dragger { - width: 3%; - text-align: center; - cursor: move; - cursor: -webkit-grab; - cursor: -moz-grab; - cursor: grab; - } - td.field_actions { - font-size: 13px; - width: 15%; - i { - cursor: pointer; - } - } - td, th { - width: 20%; - padding: 5px; - .editable-has-buttons.editable-input { - width: 55%; - } - } - td { - height: 50px; - vertical-align: middle; - } - } - } - } - .file_tab { - - } - .otpText { - padding-right: 10px; - } - - .import-selection{ - select{ - margin-left: 15px; - } - } - - } - //width: 100%; - .main_list { - width: 100%; - display: flow-root; - padding-right: 15px; - - //min-height: 95%; - //display:flex; + #app-content-wrapper { + min-height: 95%; + display:flex; //hack for missing separatorbar when app-sidebar is opened - //height: calc(100vh - 49px); + height: calc(100vh - 49px); #passman-controls { text-align: center; @@ -238,22 +105,21 @@ } } border-bottom: 1px solid #c9c9c9; + } .title { text-align: center; - display: inline-flex; + display: inline-block; font-weight: bold; margin-top: 10px; @media screen and (max-width: 820px) { display: none; } } - .breadcrumb { float: left; } - .actions.creatable { float: left; overflow: hidden; @@ -342,20 +208,6 @@ } } - .credential-list { - display: flex; - height: 100%; - } - - .credential-table-wrapper { - flex: 1; - float: left; - height: auto; - overflow: auto; - width: 100%; - margin-top: 55px; - } - .credential-table { width: 100%; tr:hover { @@ -455,15 +307,10 @@ //margin-top: 44px; display: flex; flex-wrap: wrap; - - li { - height: fit-content; - } - .credential { display: flex; width: 100%; - border: 2px solid var(--color-primary); + border: 2px solid rgba(240, 240, 240, .9); margin: 25px; @include border-radius(10px); .credential_content { @@ -515,55 +362,22 @@ } - .share{ - overflow:hidden; - } - .nopasswords{ - margin-right: auto; - margin-left: auto; - margin-top: 10%; - text-align: center; - } - .belowList{ - margin-right: auto; - margin-left: auto; - margin-top: 1%; - text-align: center; - } - } - - .app_sidebar { - - height: fit-content; - top: 55px; - float:right; - padding: 10px; - overflow-y: auto; - - - h2 { - margin-bottom: 10px; - font-weight: 400; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 90%; - } - .close.icon-close { - position: absolute; - top: 10px; - right: 10px; - cursor: pointer; - } - &.item_selected { - height: 25%; - display: inline-block; - } + .edit_credential { + padding-top: 10px; + label { + display: block; + } + input[type="text"], input[type="password"] { + width: 100%; + } + .compromised-button{ + margin-top: 15px; + background-color: #e60000; + color: black; + } - .credential-data { .compromised-details{ margin-top: 15px; - margin-bottom: 15px; display: flex; .icon{ float: left; @@ -575,17 +389,198 @@ color: #e9322d; } } - .row { - margin-bottom: 11px; - } + .tags { - margin-top: 15px; - margin-bottom: 15px; - float: none; + float: left; .tag { background-color: rgba(240, 240, 240, .9); padding: 4px; - margin-right: 3px; + font-size: 11px; + } + } + tags-input { + .tags { + width: 100%; + .input { + } + } + } + .credential_textarea { + width: 100%; + height: 100px; + } + .password_settings { + label { + overflow: hidden; + input[type="checkbox"] { + width: auto !important; + float: left; + } + .label { + &.sm { + font-size: 12px; + } + float: left; + } + } + .password-settings-padding-left-fix{ + padding-left: 0 !important; + } + } + .field-value { + .valueInput { + padding-right: 0; + input { + @include border-right-radius(0); + } + .pw-gen .generate_pw .cell:last-child { + @include border-right-radius(0); + } + } + .selectType { + padding-left: 0; + margin-left: 0px; + select { + @include border-left-radius(0); + } + } + } + .custom_fields, .files { + margin-top: 10px; + table { + width: 100%; + thead { + th.dragger { + width: 3%; + } + th { + color: #fff; + } + th.field_actions { + width: 15%; + } + } + tr:hover { + background-color: transparent; + } + tr { + td.dragger { + width: 3%; + text-align: center; + cursor: move; + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; + } + td.field_actions { + font-size: 13px; + width: 15%; + i { + cursor: pointer; + } + } + td, th { + width: 20%; + padding: 5px; + .editable-has-buttons.editable-input { + width: 55%; + } + } + td { + height: 50px; + vertical-align: middle; + } + } + } + } + .file_tab { + + } + .otpText { + padding-right: 10px; + } + + .import-selection{ + select{ + margin-left: 15px; + } + } + + } + + .main_list{ + flex:1; + float:left; + height:auto; + overflow:auto; + width:100%; + .share{ + overflow:hidden; + } + .nopasswords{ + margin-right: auto; + margin-left: auto; + margin-top: 10%; + text-align: center; + } + .belowList{ + margin-right: auto; + margin-left: auto; + margin-top: 1%; + text-align: center; + } + } + + .app_sidebar { + float:right; + h2 { + margin-bottom: 10px; + font-weight: 400; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 90%; + } + .close.icon-close { + position: absolute; + top: 10px; + right: 10px; + cursor: pointer; + } + padding: 10px; + &.item_selected { + height: 25%; + display: inline-block; + } + overflow-y: auto; + + .credential-data { + .compromised-details{ + margin-top: 15px; + margin-bottom: 15px; + display: flex; + .icon{ + float: left; + height: 20px; + } + .text{ + padding-left: 5px; + padding-right: 30px; + color: #e9322d; + } + } + .row { + margin-bottom: 11px; + } + .tags { + margin-top: 15px; + margin-bottom: 15px; + float: none; + .tag { + background-color: rgba(240, 240, 240, .9); + padding: 4px; + margin-right: 3px; + } } } } diff --git a/sass/vaults.scss b/sass/vaults.scss index d9e7dc34..25242c8a 100644 --- a/sass/vaults.scss +++ b/sass/vaults.scss @@ -36,7 +36,7 @@ } } .vault_wrapper{ - margin: 5em auto auto auto; + margin:0 auto auto auto; max-width: 420px; @include border-radius(5px); @@ -110,4 +110,4 @@ .vault_wrapper{ width: 90%; } -} +}
\ No newline at end of file diff --git a/templates/main.php b/templates/main.php index 7e9b5eb0..b81d0a71 100644 --- a/templates/main.php +++ b/templates/main.php @@ -119,7 +119,7 @@ style('passman', 'app'); /*build-css-end*/ ?> -<div ng-app="passmanApp" ng-controller="MainCtrl" style="display: flex"> +<div id="app" ng-app="passmanApp" ng-controller="MainCtrl"> <div id="logoutTimer"></div> <div id="warning_bar" class="warning_bar template-hidden" ng-if="using_http && http_warning_hidden == false" ng-init="removeHiddenStyles()"> {{ 'http.warning' | translate }} @@ -231,6 +231,10 @@ style('passman', 'app'); </div> <div id="app-content" ng-class="{'vaultlist_sidebar_hidden': !selectedVault}"> - <div ng-view="" class="ng-app-frame"></div> + <div id="app-content-wrapper"> + <div id="content" ng-view=""> + + </div> + </div> </div> </div> diff --git a/templates/views/show_vault.html b/templates/views/show_vault.html index b2855b89..f5a5a084 100644 --- a/templates/views/show_vault.html +++ b/templates/views/show_vault.html @@ -2,9 +2,8 @@ <div id="passman-controls" ng-class="{ 'sidebar-shown': selectedCredential }"> <div class="breadcrumb"> <div class="breadcrumb"> - <div class="crumb svg crumbhome"> - <a ng-click="logout()" class="icon-home">Home</a> - <span style="display: none;"></span> + <div class="crumb svg ui-droppable" data-dir="/"> + <a ng-click="logout()"><i class="fa fa-home"></i></a> </div> <div class="crumb svg" ng-click="clearState()"> <a>{{active_vault.name}}</a> diff --git a/templates/views/vaults.html b/templates/views/vaults.html index a7c2221b..d1b0e5fb 100644 --- a/templates/views/vaults.html +++ b/templates/views/vaults.html @@ -96,20 +96,27 @@ </div> <div class="login_opts"> <div> - <input id="selectVaultAsDefault" class="checkbox" type="checkbox" - ng-checked="default_vault" ng-click="toggleDefaultVault()"> - <label for="selectVaultAsDefault">{{ 'vault.default' | translate}}</label> + <label> + <input type="checkbox" ng-checked="default_vault" + ng-click="toggleDefaultVault()"> + {{ 'vault.default' | translate}} + </label> </div> <div> - <input id="rememberVaultPassword" class="checkbox" type="checkbox" - ng-checked="remember_vault_password" ng-click="toggleRememberPassword()"> - <label for="rememberVaultPassword">{{ 'vault.auto.login' | translate}}</label> + <label> + <input type="checkbox" + ng-checked="remember_vault_password" + ng-click="toggleRememberPassword()"> + {{ 'vault.auto.login' | translate}} + </label> </div> <div> - <input id="enableAutoLogoutTimer" class="checkbox" type="checkbox" - ng-checked="auto_logout_timer" ng-click="toggleAutoLogout()"> - <label for="enableAutoLogoutTimer">{{ 'auto.logout' | translate}}</label> - + <label> + <input type="checkbox" + ng-checked="auto_logout_timer" + ng-click="toggleAutoLogout()"> + {{ 'auto.logout' | translate}} + </label> <select ng-model="logout_timer" ng-change="selectLogoutTimer(logout_timer)"> <option value="0">Never</option> <option value="30">30 minutes</option> @@ -134,4 +141,4 @@ </div> </div> -</div> +</div>
\ No newline at end of file |