stremio-web/src/routes/Settings/styles.less
2023-07-04 16:31:05 +02:00

437 lines
No EOL
15 KiB
Text

// Copyright (C) 2017-2022 Smart code 203358507
@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';
@import (reference) '~stremio/common/screen-sizes.less';
:import('~stremio/common/Checkbox/styles.less') {
checkbox-icon: icon;
}
:import('~stremio/common/Multiselect/styles.less') {
multiselect-menu-container: menu-container;
multiselect-label: label;
}
:import('~stremio/common/ModalDialog/styles.less') {
configure-server-url-modal-content: modal-dialog-content;
cancel-button-label: label;
}
.settings-container {
width: 100%;
height: 100%;
background-color: transparent;
.settings-content {
width: 100%;
height: 100%;
display: flex;
flex-direction: row;
.side-menu-container {
flex: none;
align-self: stretch;
display: flex;
flex-direction: column;
width: 20rem;
padding: 3rem;
.side-menu-button {
flex: none;
align-self: stretch;
display: flex;
align-items: center;
height: 4rem;
border-radius: 4rem;
padding: 2rem;
margin-bottom: 0.5rem;
font-size: 1.1rem;
font-weight: 500;
color: var(--primary-foreground-color);
opacity: 0.4;
&.selected {
font-weight: 600;
color: var(--primary-foreground-color);
background-color: var(--primary-overlay-color);
opacity: 1;
}
&:hover {
background-color: var(--primary-overlay-color);
}
}
.spacing {
flex: 1;
}
.version-info-label {
flex: 0 1 auto;
margin: 0.5rem 0;
color: var(--primary-overlay-color);
}
}
.sections-container {
flex: 1;
align-self: stretch;
padding: 0 2rem;
overflow-y: auto;
.section-container {
display: flex;
flex-direction: column;
padding: 3rem 0;
overflow: visible;
&:not(:last-child) {
border-bottom: thin solid var(--primary-overlay-color);
}
.section-title {
flex: none;
align-self: stretch;
font-size: 1.8rem;
line-height: 3.4rem;
margin-bottom: 1rem;
color: var(--primary-foreground-color);
}
.option-container {
flex: none;
align-self: stretch;
display: flex;
flex-direction: row;
align-items: center;
max-width: 35rem;
margin-bottom: 2rem;
overflow: visible;
&:last-child {
margin-bottom: 0;
}
&.user-info-option-container {
height: 5.5rem;
.avatar-container {
flex: none;
align-self: stretch;
width: 5.5rem;
margin-right: 1rem;
border-radius: 50%;
background-size: cover;
background-repeat: no-repeat;
background-position: center;
background-origin: content-box;
background-clip: content-box;
opacity: 0.9;
background-color: var(--primary-overlay-color);
}
.email-logout-container {
flex: 1;
align-self: stretch;
display: flex;
flex-direction: column;
padding: 1rem 0;
.email-label-container, .logout-button-container {
display: flex;
flex-direction: row;
align-items: center;
}
.email-label-container {
flex: 1 0 auto;
.email-label {
flex: 1;
font-size: 1.1rem;
color: var(--primary-foreground-color);
opacity: 0.7;
}
}
.logout-button-container {
flex: 0 1 50%;
&:hover, &:focus {
outline: none;
.logout-label {
text-decoration: underline;
}
}
.logout-label {
flex: 1;
color: var(--primary-accent-color);
}
}
}
.user-panel-container {
flex: none;
display: flex;
flex-direction: row;
align-items: center;
width: 10rem;
height: 3.5rem;
border-radius: 3.5rem;
margin-left: 1rem;
background-color: var(--secondary-accent-color);
&:hover {
box-shadow: 0 0 0 0.15rem var(--secondary-accent-color) inset;
background-color: transparent;
}
.user-panel-label {
flex: 1;
max-height: 2.4em;
padding: 0 0.5rem;
font-weight: 500;
text-align: center;
color: var(--primary-foreground-color);
}
}
}
.option-name-container, .option-input-container {
flex: 1 1 50%;
display: flex;
flex-direction: row;
align-items: center;
.icon {
flex: none;
width: 1.5rem;
height: 1.5rem;
margin-right: 0.5rem;
color: var(--primary-foreground-color);
}
.label {
flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;
line-height: 1.5rem;
color: var(--primary-foreground-color);
}
}
.option-name-container {
justify-content: flex-start;
padding: 1rem 1rem 1rem 0;
margin-right: 2rem;
}
.option-input-container {
padding: 1rem 1.5rem;
&.button-container {
justify-content: center;
height: 3.5rem;
border-radius: 3.5rem;
background-color: var(--secondary-accent-color);
&:hover {
box-shadow: 0 0 0 0.15rem var(--secondary-accent-color) inset;
background-color: transparent;
}
.label {
font-weight: 500;
}
}
&.multiselect-container {
>.multiselect-label {
line-height: 1.5rem;
max-height: 1.5rem;
}
.multiselect-menu-container {
max-height: calc(3.2rem * 7);
overflow: auto;
}
}
&.link-container {
flex: 0 1 auto;
padding: 1rem 0;
.label {
color: var(--primary-accent-color);
}
&:hover {
.label {
text-decoration: underline;
}
}
}
&.checkbox-container {
justify-content: center;
.checkbox-icon {
width: 1.5rem;
height: 1.5rem;
}
}
&.color-input-container {
padding: 1.75rem 1rem;
}
&.info-container {
justify-content: center;
&.selectable {
user-select: text;
.label {
user-select: text;
}
}
}
&.configure-input-container {
padding: 0;
.label {
flex-grow: 1;
white-space: pre;
text-overflow: ellipsis;
padding: 0 1rem;
}
.configure-button-container {
flex: none;
width: 3rem;
height: 3rem;
border-radius: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
background-color: var(--secondary-accent-color);
&:hover {
box-shadow: 0 0 0 0.15rem var(--secondary-accent-color) inset;
background-color: transparent;
}
.icon {
flex: none;
width: 1rem;
height: 1rem;
margin: 0;
color: var(--primary-foreground-color);
}
}
}
&.shortcut-container {
justify-content: center;
padding: 0;
overflow: visible;
kbd {
flex: 0 1 auto;
height: 2.5rem;
min-width: 2.5rem;
line-height: 2.5rem;
padding: 0 1rem;
font-weight: 500;
color: var(--primary-foreground-color);
border-radius: 0.25em;
box-shadow: 0 4px 0 1px var(--tertiary-background-color);
background-color: var(--primary-overlay-color);
}
.label {
margin: 0 1rem;
white-space: nowrap;
color: var(--primary-foreground-color);
}
}
}
}
}
}
}
}
.configure-server-url-modal-container {
.configure-server-url-modal-content {
width: 30rem;
.server-url-input {
width: 100%;
padding: 1rem;
color: var(--primary-foreground-color);
border-radius: var(--border-radius);
background-color: var(--primary-overlay-color);
outline: var(--focus-outline-size) solid var(--primary-overlay-color);
outline-offset: calc(-1 * var(--focus-outline-size));
&:hover {
outline-color: var(--primary-foreground-color);
}
&:focus {
outline-color: var(--primary-foreground-color);
}
}
}
.cancel-button {
background-color: transparent;
opacity: 0.3;
&:hover {
box-shadow: 0 0 0 0.15rem var(--primary-foreground-color) inset;
opacity: 1;
}
&:focus {
outline-color: var(--primary-foreground-color);
}
.cancel-button-label {
color: var(--primary-foreground-color);
}
}
}
@media only screen and (max-width: @minimum) {
.settings-container {
.settings-content {
flex-direction: column-reverse;
.side-menu-container {
width: 100%;
padding: 0 1rem;
.side-menu-button {
display: none;
}
.version-info-label {
width: 100%;
text-align: end;
}
}
}
}
.configure-server-url-modal-container {
.configure-server-url-modal-content {
width: auto;
}
}
}