1
0
mirror of https://github.com/bitwarden/desktop.git synced 2024-10-31 08:10:29 +01:00
bitwarden-desktop/src/scss/vault.scss

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

457 lines
7.4 KiB
SCSS
Raw Normal View History

2018-01-27 19:12:06 +01:00
@import "variables.scss";
[Account Switching] [Feature] Add the ability to maintain state for up to 5 accounts at once (#1079) * [refactor] Remove references to deprecated services * [feature] Implement account switching * [bug] Fix state handling for authentication dependent system menu items * [bug] Enable the account switcher to fucntion properly when switching to a locked accounts * [feature] Enable locking any account from the menu * [bug] Ensure the avatar instance used in the account switcher updates on account change * [style] Fix lint complaints * [bug] Ensure the logout command callback can handle any user in state * [style] Fix lint complaints * rollup * [style] Fix lint complaints * [bug] Don't clean up state until everything else is done on logout * [bug] Navigate to vault on a succesful account switch * [bug] Init the state service on start * [feature] Limit account switching to 5 account maximum * [bug] Resolve app lock state with 5 logged out accounts * [chore] Update account refrences to match recent jslib restructuring * [bug] Add missing awaits * [bug] Update app menu on logout * [bug] Hide the switcher if there are no authed accounts * [bug] Move authenticationStatus display information out of jslib * [bug] Remove unused active style from scss * [refactor] Rewrite the menu bar * [style] Fix lint complaints * [bug] Clean state of loggout out user after redirect * [bug] Redirect on logout if not explicity provided a userId that isn't active * [bug] Relocated several settings items to persistant storage * [bug] Correct account switcher styles on all themes * [chore] Include state migration service in services * [bug] Swap to next account on logout * [bug] Correct DI service * [bug] fix loginGuard deps in services.module * [chore] update jslib * [bug] Remove badly merged scss * [chore] update jslib * [review] Code review cleanup * [review] Code review cleanup Co-authored-by: Hinton <oscar@oscarhinton.com>
2021-12-15 23:32:00 +01:00
app-root {
display: flex;
flex-flow: column;
height: 100%;
}
#container {
height: 100%;
min-height: 0;
}
2021-02-03 22:24:49 +01:00
.vault {
2018-01-31 22:51:59 +01:00
height: 100%;
2018-01-27 19:12:06 +01:00
display: flex;
2021-12-20 15:47:17 +01:00
2021-02-03 22:24:49 +01:00
> .groupings,
> .items,
> .details,
> .logo {
2018-01-27 19:12:06 +01:00
display: flex;
2018-02-01 03:04:04 +01:00
flex-direction: column;
2021-12-20 15:47:17 +01:00
2018-02-01 03:04:04 +01:00
.inner-content {
padding: 10px 15px;
2021-12-20 15:47:17 +01:00
}
}
2018-01-27 19:12:06 +01:00
2022-02-14 21:43:05 +01:00
> .items {
order: 2;
}
> .details {
order: 3;
}
> .logo {
order: 4;
}
2021-02-03 22:24:49 +01:00
> .groupings {
2022-02-14 21:43:05 +01:00
order: 1;
width: 22%;
2018-02-01 03:04:04 +01:00
min-width: 175px;
max-width: 600px;
2018-02-01 03:04:04 +01:00
border-right: 1px solid #000000;
2018-05-30 15:28:19 +02:00
@include themify($themes) {
background-color: themed("backgroundColorAlt");
2018-06-01 22:58:24 +02:00
border-right-color: themed("borderColor");
2021-12-20 15:47:17 +01:00
}
2021-02-05 18:34:01 +01:00
.content {
2021-02-03 22:24:49 +01:00
display: flex;
flex-direction: column;
flex-grow: 1;
justify-content: space-between;
2021-12-20 15:47:17 +01:00
2021-02-05 18:34:01 +01:00
.footer {
padding: 0;
2021-12-20 15:47:17 +01:00
}
2018-02-01 03:04:04 +01:00
.inner-content {
2021-02-05 18:34:01 +01:00
padding-bottom: 0;
2018-02-01 03:04:04 +01:00
padding-right: 5px;
2021-02-05 18:34:01 +01:00
user-select: none;
2021-12-20 15:47:17 +01:00
> ul,
2021-02-05 18:34:01 +01:00
> div > ul {
2018-02-01 03:04:04 +01:00
margin: 0 0 15px 0;
}
2021-12-20 15:47:17 +01:00
}
}
h2 {
2018-01-27 20:43:29 +01:00
text-transform: uppercase;
2018-01-27 19:12:06 +01:00
font-size: $font-size-base;
2018-01-27 20:43:29 +01:00
font-weight: normal;
2018-01-27 19:12:06 +01:00
margin-bottom: 5px;
2021-12-20 15:47:17 +01:00
2018-05-30 21:21:41 +02:00
@include themify($themes) {
color: themed("headingColor");
2021-12-20 15:47:17 +01:00
}
2018-02-01 03:04:04 +01:00
}
2021-02-03 22:24:49 +01:00
.heading {
2018-01-27 19:12:06 +01:00
display: flex;
2021-12-20 15:47:17 +01:00
button {
2018-01-27 20:43:29 +01:00
margin-left: auto;
background: none;
border: none;
2018-05-30 15:28:19 +02:00
@include themify($themes) {
2018-06-01 22:58:24 +02:00
color: themed("headingButtonColor");
2018-05-30 15:28:19 +02:00
}
2021-12-20 15:47:17 +01:00
&:hover,
2021-02-05 18:34:01 +01:00
&:focus {
2021-02-03 22:24:49 +01:00
cursor: pointer;
2018-10-26 05:04:14 +02:00
2021-02-05 18:34:01 +01:00
@include themify($themes) {
color: themed("headingButtonHoverColor");
2021-12-20 15:47:17 +01:00
}
}
2021-02-05 18:34:01 +01:00
}
2021-12-20 15:47:17 +01:00
}
2021-02-05 18:34:01 +01:00
ul:not(.bwi-ul) {
2021-02-05 18:34:01 +01:00
li {
margin: 0;
padding: 0;
list-style: none;
2021-12-20 15:47:17 +01:00
}
}
2021-02-05 18:34:01 +01:00
ul.bwi-ul {
2021-12-20 15:47:17 +01:00
li {
2018-09-12 19:18:22 +02:00
word-break: break-all;
2021-12-20 15:47:17 +01:00
.bwi-li {
2021-02-05 18:34:01 +01:00
top: 8px;
width: 1.1em;
2018-01-31 23:58:06 +01:00
}
2021-12-20 15:47:17 +01:00
}
}
2018-01-31 23:58:06 +01:00
2018-10-26 05:04:14 +02:00
// Nested indentions
ul.bwi-ul {
2018-10-26 05:04:14 +02:00
// Level 1
2018-01-27 19:12:06 +01:00
li {
2021-12-20 15:47:17 +01:00
> a {
2018-01-27 19:12:06 +01:00
padding-left: 12px;
2021-12-20 15:47:17 +01:00
}
2018-01-27 20:43:29 +01:00
.bwi-li {
2018-05-30 21:21:41 +02:00
left: -4px;
}
&.active > a .bwi-li {
left: 11px;
2021-12-20 15:47:17 +01:00
}
}
2018-05-30 21:21:41 +02:00
2018-10-26 05:04:14 +02:00
// Level 2
2018-01-27 20:43:29 +01:00
ul li {
> a {
padding-left: 23px;
2018-05-30 21:21:41 +02:00
}
2018-01-27 20:43:29 +01:00
.bwi-li {
2018-01-27 20:43:29 +01:00
left: 7px;
2021-12-20 15:47:17 +01:00
}
2018-05-30 21:21:41 +02:00
&.active > a .bwi-li {
2018-05-30 21:21:41 +02:00
left: 22px;
2018-01-27 19:12:06 +01:00
}
2021-12-20 15:47:17 +01:00
}
2018-01-27 19:12:06 +01:00
2018-10-26 05:04:14 +02:00
// Level 3
2018-01-27 19:12:06 +01:00
ul ul li {
2021-12-20 15:47:17 +01:00
> a {
2018-01-27 19:12:06 +01:00
padding-left: 34px;
}
.bwi-li {
2018-09-12 19:18:22 +02:00
left: 18px;
2021-12-20 15:47:17 +01:00
}
2018-09-12 19:18:22 +02:00
&.active > a .bwi-li {
2018-01-27 19:12:06 +01:00
left: 33px;
2018-10-26 05:04:14 +02:00
}
2021-12-20 15:47:17 +01:00
}
2018-01-27 19:12:06 +01:00
2018-10-26 05:04:14 +02:00
// Level 4
ul ul ul li {
> a {
2018-01-27 19:12:06 +01:00
padding-left: 45px;
}
2018-10-26 05:04:14 +02:00
.bwi-li {
2018-10-26 05:04:14 +02:00
left: 29px;
}
&.active > a .bwi-li {
2018-11-10 05:03:43 +01:00
left: 44px;
2021-12-20 15:47:17 +01:00
}
2018-10-26 05:04:14 +02:00
}
// Level 5
ul ul ul ul li {
> a {
2018-11-10 05:03:43 +01:00
padding-left: 56px;
2018-10-26 05:04:14 +02:00
}
.bwi-li {
2018-10-26 05:04:14 +02:00
left: 40px;
}
&.active > a .bwi-li {
2018-11-10 05:03:43 +01:00
left: 55px;
2021-12-20 15:47:17 +01:00
}
2018-10-26 05:04:14 +02:00
}
// Level 6
ul ul ul ul ul li {
> a {
2018-11-10 05:03:43 +01:00
padding-left: 67px;
2018-10-26 05:04:14 +02:00
}
.bwi-li {
2018-10-26 05:04:14 +02:00
left: 51px;
}
&.active > a .bwi-li {
2018-11-10 05:03:43 +01:00
left: 66px;
2021-12-20 15:47:17 +01:00
}
2018-10-26 05:04:14 +02:00
}
// Level 7
ul ul ul ul ul ul li {
> a {
2018-11-10 05:03:43 +01:00
padding-left: 78px;
2018-10-26 05:04:14 +02:00
}
.bwi-li {
2018-10-26 05:04:14 +02:00
left: 62px;
}
&.active > a .bwi-li {
2018-11-10 05:03:43 +01:00
left: 77px;
2021-12-20 15:47:17 +01:00
}
2018-10-26 05:04:14 +02:00
}
2021-12-20 15:47:17 +01:00
}
2018-10-26 05:04:14 +02:00
ul {
2018-11-10 05:03:43 +01:00
padding: 0;
2018-10-26 05:04:14 +02:00
margin: 0;
li {
a {
padding: 5px 0;
display: flex;
2018-01-27 20:43:29 +01:00
align-items: center;
2018-10-26 05:04:14 +02:00
@include themify($themes) {
2018-11-10 05:03:43 +01:00
color: themed("textColor");
2018-10-26 05:04:14 +02:00
}
span {
2018-11-10 05:03:43 +01:00
visibility: hidden;
2018-10-26 05:04:14 +02:00
margin-left: auto;
@include themify($themes) {
2018-11-10 05:03:43 +01:00
color: themed("headingButtonColor");
2018-10-26 05:04:14 +02:00
}
&:hover,
&:focus {
@include themify($themes) {
2018-11-10 05:03:43 +01:00
color: themed("headingButtonHoverColor");
2018-10-26 05:04:14 +02:00
}
}
2018-01-27 19:12:06 +01:00
}
2018-01-27 20:43:29 +01:00
&:hover,
2018-05-30 21:21:41 +02:00
&:focus {
2018-01-27 20:43:29 +01:00
span {
2018-10-26 05:04:14 +02:00
visibility: visible;
2018-01-27 19:12:06 +01:00
}
2021-12-20 15:47:17 +01:00
}
2018-01-27 19:12:06 +01:00
}
2021-02-03 22:24:49 +01:00
&.active {
margin-left: -15px;
2018-01-27 19:12:06 +01:00
margin-right: -5px;
padding-left: 15px;
2018-05-30 21:21:41 +02:00
padding-right: 5px;
2021-12-20 15:47:17 +01:00
2018-05-30 15:28:19 +02:00
@include themify($themes) {
background-color: themed("groupingsActiveColor");
}
2018-01-31 23:58:06 +01:00
ul {
2018-05-30 21:21:41 +02:00
@include themify($themes) {
background-color: themed("backgroundColorAlt");
2018-02-01 02:42:56 +01:00
}
2021-12-20 15:47:17 +01:00
2018-01-27 19:12:06 +01:00
margin-left: -15px;
2018-10-26 05:04:14 +02:00
margin-right: -5px;
padding-left: 15px;
padding-right: 5px;
2021-12-20 15:47:17 +01:00
}
2018-01-31 23:58:06 +01:00
}
2021-12-20 15:47:17 +01:00
}
2018-01-27 19:12:06 +01:00
}
2021-12-20 15:47:17 +01:00
}
2018-01-27 19:12:06 +01:00
2021-02-03 22:24:49 +01:00
> .items {
2018-01-27 19:12:06 +01:00
width: 28%;
min-width: 200px;
2018-05-30 15:28:19 +02:00
max-width: 350px;
border-right: 1px solid #000000;
@include themify($themes) {
2018-10-26 05:04:14 +02:00
background-color: themed("backgroundColor");
border-right-color: themed("borderColor");
}
2018-01-29 22:13:37 +01:00
.no-items {
display: flex;
2018-01-31 23:58:06 +01:00
height: 100%;
2018-01-29 22:13:37 +01:00
flex-direction: column;
2018-01-31 23:58:06 +01:00
justify-content: center;
2018-01-29 22:13:37 +01:00
align-items: center;
text-align: center;
padding: 0 10px;
.no-items-image {
@include themify($themes) {
content: url("../images/search-desktop" + themed("svgSuffix"));
}
}
.bwi {
2018-01-29 22:13:37 +01:00
margin-bottom: 10px;
@include themify($themes) {
color: themed("disabledIconColor");
}
2021-12-20 15:47:17 +01:00
}
}
}
2018-01-31 18:52:12 +01:00
> .details {
flex: 1;
min-width: 0;
2021-12-20 15:47:17 +01:00
2018-01-31 18:52:12 +01:00
@include themify($themes) {
background-color: themed("backgroundColorAlt2");
2018-01-27 19:12:06 +01:00
}
2021-02-03 22:24:49 +01:00
.inner-content {
min-width: 400px;
2021-12-20 15:47:17 +01:00
}
.box {
max-width: 550px;
margin: 30px auto 0 auto;
&:first-child {
margin-top: 10px;
}
&:last-child {
2018-05-31 04:28:04 +02:00
margin-bottom: 30px;
2021-12-20 15:47:17 +01:00
}
}
> form {
display: flex;
flex-direction: column;
height: 100%;
}
2021-12-20 15:47:17 +01:00
}
> .logo {
flex: 1;
min-width: 0;
2018-01-27 19:12:06 +01:00
.content {
overflow-y: hidden;
overflow-x: auto;
}
.inner-content {
2021-02-05 18:34:01 +01:00
min-width: 320px;
height: 100%;
2018-01-27 19:12:06 +01:00
display: flex;
flex-direction: column;
2018-01-27 19:12:06 +01:00
align-items: center;
justify-content: center;
2021-12-20 15:47:17 +01:00
}
2018-01-27 19:12:06 +01:00
2018-05-30 21:21:41 +02:00
img {
width: 284px;
opacity: 0.3;
transition: all 1s ease-in-out;
2018-01-27 19:12:06 +01:00
&:hover {
opacity: 1;
2021-12-20 15:47:17 +01:00
}
}
}
2018-01-27 19:12:06 +01:00
.content {
flex: 1 1 auto;
position: relative;
2021-12-20 15:47:17 +01:00
overflow: auto;
2018-01-27 19:12:06 +01:00
height: 100%;
}
2018-01-29 22:13:37 +01:00
.footer {
height: 55px;
flex: 0 0 auto;
2018-05-30 21:21:41 +02:00
border-top: 1px solid #000000;
2018-01-29 22:13:37 +01:00
display: flex;
align-items: center;
2018-01-27 19:12:06 +01:00
padding: 0 15px;
2021-12-20 15:47:17 +01:00
2021-02-05 18:34:01 +01:00
@include themify($themes) {
background-color: themed("backgroundColorAlt");
2018-06-01 22:58:24 +02:00
border-top-color: themed("borderColor");
2018-01-27 19:12:06 +01:00
}
2021-02-05 18:34:01 +01:00
button {
margin-right: 10px;
&:last-child {
2018-10-26 05:04:14 +02:00
margin-right: 0;
2021-12-20 15:47:17 +01:00
}
}
.right {
2018-01-27 20:43:29 +01:00
margin-left: auto;
2021-02-05 18:34:01 +01:00
display: flex;
2021-12-20 15:47:17 +01:00
}
}
.nav {
2021-02-05 18:34:01 +01:00
height: 100%;
width: 100%;
display: flex;
2021-12-20 15:47:17 +01:00
.btn {
2021-02-05 18:34:01 +01:00
width: 100%;
font-size: $font-size-base * 0.8;
2021-12-20 15:47:17 +01:00
flex: 1;
2021-02-05 18:34:01 +01:00
border: 0;
border-radius: 0;
padding-bottom: 4px;
2021-12-20 15:47:17 +01:00
2021-02-05 18:34:01 +01:00
&:not(.active) {
@include themify($themes) {
background-color: themed("backgroundColorAlt");
}
2021-12-20 15:47:17 +01:00
}
i {
2021-02-05 18:34:01 +01:00
font-size: $font-size-base * 1.5;
display: block;
2018-02-01 02:42:56 +01:00
margin-bottom: 2px;
2018-01-31 23:58:06 +01:00
text-align: center;
2021-12-20 15:47:17 +01:00
}
2021-02-05 18:34:01 +01:00
}
2021-12-20 15:47:17 +01:00
}
2018-01-27 19:12:06 +01:00
}