aboutsummaryrefslogtreecommitdiffstats
path: root/apps/settings/css/settings.scss
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings/css/settings.scss')
-rw-r--r--apps/settings/css/settings.scss1250
1 files changed, 182 insertions, 1068 deletions
diff --git a/apps/settings/css/settings.scss b/apps/settings/css/settings.scss
index e2b9099f5d3..782733a76a8 100644
--- a/apps/settings/css/settings.scss
+++ b/apps/settings/css/settings.scss
@@ -1,6 +1,11 @@
-/* Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
- This file is licensed under the Affero General Public License version 3 or later.
- See the COPYING-README file. */
+/*!
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2011 Jan-Christoph Borchardt, http://jancborchardt.net
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+@use 'variables';
+@use 'sass:math';
+@use 'functions';
input {
&#openid, &#webdav {
@@ -15,93 +20,23 @@ input {
/* icons for sidebar */
.nav-icon-personal-settings {
- @include icon-color('personal', 'settings', $color-black);
+ @include functions.icon-color('personal', 'settings', variables.$color-black);
}
.nav-icon-security {
- @include icon-color('toggle-filelist', 'settings', $color-black);
+ @include functions.icon-color('toggle-filelist', 'settings', variables.$color-black);
}
.nav-icon-clientsbox {
- @include icon-color('change', 'settings', $color-black);
+ @include functions.icon-color('change', 'settings', variables.$color-black);
}
.nav-icon-federated-cloud {
- @include icon-color('share', 'settings', $color-black);
+ @include functions.icon-color('share', 'settings', variables.$color-black);
}
.nav-icon-second-factor-backup-codes, .nav-icon-ssl-root-certificate {
- @include icon-color('password', 'settings', $color-black);
-}
-
-#avatarform {
- .avatardiv {
- margin: 10px auto;
- }
-
- .warning {
- width: 100%;
- }
-
- .jcrop-keymgr {
- display: none !important;
- }
-}
-
-#displayavatar {
- text-align: center;
-}
-
-#uploadavatarbutton, #selectavatar, #removeavatar {
- padding: 21px;
-}
-#selectavatar, #removeavatar {
- vertical-align: top;
-}
-
-.jcrop-holder {
- z-index: 500;
-}
-
-#cropper {
- float: left;
- z-index: 500;
- /* float cropper above settings page to prevent unexpected flowing from dynamically sized element */
- position: fixed;
- background-color: rgba(0, 0, 0, 0.2);
- box-sizing: border-box;
- top: 45px;
- left: 0;
- width: 100%;
- height: calc(100% - 45px);
-
- .inner-container {
- z-index: 2001;
- /* above the top bar if needed */
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- background: #fff;
- color: #333;
- border-radius: var(--border-radius-large);
- box-shadow: 0 0 10px var(--color-box-shadow);
- padding: 15px;
-
- .jcrop-holder,
- .jcrop-holder img,
- img.jcrop-preview {
- border-radius: var(--border-radius);
- }
-
- .button {
- margin-top: 15px;
- }
-
- .primary {
- float: right;
- }
- }
+ @include functions.icon-color('password', 'settings', variables.$color-black);
}
#personal-settings-avatar-container {
@@ -113,14 +48,7 @@ input {
.profile-settings-container {
display: inline-grid;
- grid-template-columns: 1fr;
- grid-template-rows: 1fr 1fr 1fr 2fr;
-
- #locale {
- h3 {
- height: 32px;
- }
- }
+ grid-template-columns: 1fr 1fr 1fr;
}
.personal-show-container {
@@ -130,8 +58,7 @@ input {
.personal-settings-setting-box {
.section {
padding: 10px 30px;
-
- h3 {
+ .headerbar-label {
margin-bottom: 0;
}
@@ -141,12 +68,21 @@ input {
}
}
}
+
+ &-profile {
+ grid-row: 3/5;
+ }
+
+ &-detail {
+ grid-row: 5;
+ }
+ &-detail--without-profile {
+ grid-row: 3;
+ }
}
select {
- &#timezone,
- &#languageinput,
- &#localeinput {
+ &#timezone {
width: 100%;
}
}
@@ -154,8 +90,9 @@ select {
#personal-settings {
display: grid;
padding: 20px;
- max-width: 1500px;
- grid-template-columns: 1fr 2fr 1fr;
+ max-width: 1700px;
+ grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
+ grid-column-gap: 10px;
.section {
padding: 10px 10px;
@@ -164,17 +101,23 @@ select {
h2 {
margin-bottom: 12px;
}
+
+ h3 {
+ > label {
+ font-weight: bold;
+ }
+ }
}
.personal-info {
- margin-right: 10%;
+ margin-inline-end: 10%;
margin-bottom: 12px;
margin-top: 12px;
}
.personal-info[class^='icon-'], .personal-info[class*=' icon-'] {
background-position: 0px 2px;
- padding-left: 30px;
+ padding-inline-start: 30px;
opacity: 0.7;
}
}
@@ -183,103 +126,44 @@ select {
// Button for 'Reasons to use Nextcloud in your organization'
.development-notice {
text-align: center;
+ a:not(.link-button) {
+ text-decoration: underline;
+ }
}
.link-button {
- display: inline-block;
- margin: 16px;
- padding: 14px 20px;
- background-color: var(--color-primary);
- color: #fff;
- border-radius: var(--border-radius-pill);
- border: 1px solid var(--color-primary);
+ display: inline-flex;
+ margin: calc(2 * var(--default-grid-baseline));
+ padding: calc(2 * var(--default-grid-baseline)) calc(4 * var(--default-grid-baseline));
+ background-color: var(--color-primary-element);
+ color: var(--color-primary-element-text);
+ border-radius: var(--border-radius-element);
+ border: 1px solid var(--color-primary-element);
box-shadow: 0 2px 9px var(--color-box-shadow);
+ align-items: center;
+ gap: calc(var(--default-grid-baseline) * 2);
- &:active,
&:hover,
&:focus {
- color: var(--color-primary);
- background-color: var(--color-primary-text);
- border-color: var(--color-primary) !important;
+ background-color: var(--color-primary-element-hover);
}
- &.icon-file {
- padding-left: 48px;
- background-position: 24px;
- }
-}
-
-
-
-@media (min-width: 1200px) and (max-width: 1400px) {
- #personal-settings {
- display: grid;
- grid-template-columns: 1fr 2fr;
-
- #personal-settings-avatar-container {
- grid-template-columns: 1fr;
- grid-template-rows: 1fr;
- }
-
- .personal-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr;
- }
-
- .profile-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr;
- grid-column: 2;
- }
- }
-}
-
-@media (max-width: 1200px) {
- #personal-settings {
- display: grid;
- grid-template-columns: 1fr;
-
- #personal-settings-avatar-container {
- grid-template-rows: 1fr;
- }
-
- .personal-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr;
- }
-
- .profile-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr;
- }
+ &:active,
+ &:focus-visible {
+ box-shadow: 0 0 0 4px var(--color-main-background) !important;
+ outline: 2px solid var(--color-main-text) !important;
}
-}
-
-@media (max-width: 560px) {
- #personal-settings {
- display: grid;
- grid-template-columns: 1fr;
-
- #personal-settings-avatar-container {
- grid-template-rows: 1fr;
- }
-
- .personal-settings-container {
- grid-template-columns: 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
- }
- .profile-settings-container {
- grid-template-columns: 1fr;
- grid-template-rows: 1fr 1fr;
- }
+ .icon-file-text {
+ filter: var(--primary-invert-if-dark);
+ width: 20px;
+ height: 20px;
}
}
.personal-settings-container {
display: inline-grid;
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
+ grid-template-columns: 1fr 1fr 1fr;
&:after {
clear: both;
@@ -292,6 +176,8 @@ select {
flex-wrap: nowrap;
justify-content: flex-start;
width: 100%;
+ align-items: center;
+ gap: 8px;
> label {
white-space: nowrap;
@@ -303,7 +189,7 @@ select {
> form span {
&[class^='icon-checkmark'], &[class^='icon-error'] {
position: relative;
- right: 8px;
+ inset-inline-end: 8px;
top: -28px;
pointer-events: none;
float: right;
@@ -313,7 +199,7 @@ select {
.verify {
position: relative;
- left: 100%;
+ inset-inline-start: 100%;
top: 0;
height: 0;
@@ -334,35 +220,11 @@ select {
}
}
-
-#body-settings #quota {
- cursor: default;
- position: relative;
-
- progress {
- height: 6px;
-
- &::-moz-progress-bar {
- border-radius: 3px 0 0 3px;
- }
-
- &::-webkit-progress-value {
- border-radius: 3px 0 0 3px;
- }
- }
-
- div {
- font-weight: normal;
- white-space: nowrap;
- }
-}
-
-
/* verify accounts */
/* only show pointer cursor when popup will be there */
.verification-dialog {
display: none;
- right: -9px;
+ inset-inline-end: -9px;
top: 40px;
width: 275px;
@@ -380,17 +242,17 @@ select {
.federation-menu {
position: relative;
cursor: pointer;
- width: 44px;
- height: 44px;
- padding: 10px;
- margin: -12px 0 0 8px;
+ width: var(--default-clickable-area);
+ height: var(--default-clickable-area);
+ padding: calc(2 * var(--default-grid-baseline));
+ margin: 0;
background: none;
border: none;
&:hover,
&:focus {
background-color: var(--color-background-hover);
- border-radius: var(--border-radius-pill);
+ border-radius: var(--border-radius-element);
.icon-federation-menu {
opacity: 0.8;
@@ -398,7 +260,7 @@ select {
}
.icon-federation-menu {
- padding-left: 16px;
+ padding-inline-start: 16px;
background-size: 16px;
background-position: left center;
opacity: .3;
@@ -412,7 +274,7 @@ select {
}
.federationScopeMenu {
- top: 44px;
+ top: var(--default-clickable-area);
&.popovermenu {
.menuitem {
@@ -425,7 +287,7 @@ select {
}
&.active {
- box-shadow: inset 2px 0 var(--color-primary);
+ box-shadow: inset 2px 0 var(--color-primary-element);
.menuitem-text {
font-weight: bold;
@@ -446,10 +308,6 @@ select {
}
}
-#groups-groups {
- padding-top: 5px;
-}
-
.clientsbox img {
height: 60px;
}
@@ -494,7 +352,7 @@ input#identity {
table.nostyle {
label {
- margin-right: 2em;
+ margin-inline-end: 2em;
}
td {
@@ -506,13 +364,37 @@ table.nostyle {
#passwordform {
display: flex;
flex-wrap: wrap;
+ flex-direction: column;
+ gap: 1rem;
+ .input-control {
+ display: flex;
+ flex-wrap: wrap;
+ flex-direction: column;
+ label {
+ margin-bottom: 0.5rem;
+ }
+ }
- #pass1, .personal-show-container, #passwordbutton {
+ #pass1, .personal-show-container {
flex-shrink: 1;
- width: 200px;
+ width: 300px;
min-width: 150px;
}
+ // Extremely fragile code, to be replaced by PasswordField component soon
+ .personal-show-container {
+ #pass2 {
+ position: relative;
+ top: 0.5rem;
+ }
+ .personal-show-label {
+ top: 34px !important;
+ margin-inline-end: 0;
+ margin-top: 0 !important;
+ inset-inline-end: 3px;
+ }
+ }
+
#pass2 {
width: 100%;
}
@@ -523,10 +405,10 @@ table.nostyle {
.strengthify-wrapper {
position: absolute;
- left: 0;
+ inset-inline-start: 0;
width: 100%;
border-radius: 0 0 2px 2px;
- margin-top: -6px;
+ margin-top: 5px;
overflow: hidden;
height: 3px;
}
@@ -541,22 +423,13 @@ table.nostyle {
}
li > div {
- margin-left: 20px;
+ margin-inline-start: 20px;
}
.two-factor-provider-settings-icon {
width: 16px;
height: 16px;
- vertical-align: sub;
- }
-}
-
-.social-button {
- padding-left: 0 !important;
- margin-left: -10px;
-
- img {
- padding: 10px;
+ filter: var(--background-invert-if-dark);
}
}
@@ -592,7 +465,7 @@ li.active {
#usersearchform {
position: absolute;
top: 2px;
- right: 0;
+ inset-inline-end: 0;
input {
width: 150px;
@@ -609,26 +482,25 @@ table.grid {
th {
height: 2em;
- color: #999;
+ padding: 0;
+ padding-inline-end: 1em;
border-bottom: 1px solid var(--color-border);
- padding: 0 .5em;
- padding-left: .8em;
- text-align: left;
+ text-align: start;
font-weight: normal;
}
td {
border-bottom: 1px solid var(--color-border);
- padding: 0 .5em;
- padding-left: .8em;
- text-align: left;
+ padding: 0;
+ padding-inline-end: 1em;
+ text-align: start;
font-weight: normal;
}
}
td, th {
&.name {
- padding-left: .8em;
+ padding-inline-start: .8em;
min-width: 5em;
max-width: 12em;
text-overflow: ellipsis;
@@ -636,7 +508,7 @@ td, th {
}
&.password {
- padding-left: .8em;
+ padding-inline-start: .8em;
> img {
visibility: hidden;
@@ -666,7 +538,7 @@ td, th {
}
&.password > span {
- margin-right: 1.2em;
+ margin-inline-end: 1.2em;
color: #C7C7C7;
}
}
@@ -675,31 +547,17 @@ span.usersLastLoginTooltip {
white-space: nowrap;
}
-/* APPS */
-#app-content > svg.app-filter {
- float: left;
- height: 0;
- width: 0;
-}
-
-#app-category-app-bundles {
- margin-bottom: 20px;
-}
-
-.appinfo {
- margin: 1em 40px;
-}
-
+/* SETTINGS NAVIGATION */
#app-navigation {
/* Navigation icons */
img {
margin-bottom: -3px;
- margin-right: 6px;
+ margin-inline-end: 6px;
width: 16px;
}
li span.no-icon {
- padding-left: 32px;
+ padding-inline-start: 32px;
}
ul li.active > span.utils {
@@ -707,246 +565,10 @@ span.usersLastLoginTooltip {
display: block;
}
}
-
- .appwarning {
- background: #fcc;
- }
-
- &.appwarning:hover {
- background: #fbb;
- }
-
- .app-external {
- color: var(--color-text-maxcontrast);
- }
-}
-
-span.version {
- margin-left: 1em;
- margin-right: 1em;
- color: var(--color-text-maxcontrast);
-}
-
-.app-version {
- color: var(--color-text-maxcontrast);
-}
-
-.app-level {
- span {
- color: var(--color-text-maxcontrast);
- background-color: transparent;
- border: 1px solid var(--color-text-maxcontrast);
- border-radius: var(--border-radius);
- padding: 3px 6px;
- }
-
- a {
- padding: 10px;
- margin: -6px;
- white-space: nowrap;
- }
-
- .official {
- background-position: left center;
- background-position: 5px center;
- padding-left: 25px;
- }
-
- .supported {
- border-color: var(--color-success);
- background-position: left center;
- background-position: 5px center;
- padding-left: 25px;
- color: var(--color-success);
- }
-}
-
-.app-score {
- position: relative;
- top: 4px;
- opacity: .5;
-}
-
-.app-settings-content {
- #searchresults {
- display: none;
- }
-
-}
-
-#apps-list.store {
- .section {
- border: 0;
- }
-
- .app-name {
- display: block;
- margin: 5px 0;
- }
-
- .app-name, .app-image * {
- cursor: pointer;
- }
-
- .app-summary {
- opacity: .7;
- }
-
- .app-image-icon .icon-settings-dark {
- width: 100%;
- height: 150px;
- background-size: 45px;
- opacity: 0.5;
- }
-
- .app-score-image {
- height: 14px;
- }
-
- .actions {
- margin-top: 10px;
- }
-}
-
-#app-sidebar #app-details-view {
- h2 {
- .icon-settings-dark,
- svg {
- display: inline-block;
- width: 16px;
- height: 16px;
- margin-right: 10px;
- opacity: .7;
- }
- }
-
- .app-level {
- clear: right;
- width: 100%;
-
- .supported,
- .official {
- vertical-align: top;
- }
-
- .app-score-image {
- float: right;
- }
- }
-
- .app-author, .app-licence {
- color: var(--color-text-maxcontrast);
- }
-
- .app-dependencies {
- margin: 10px 0;
- }
-
- .app-description p {
- margin: 10px 0;
- }
-
- .close {
- position: absolute;
- top: 0;
- right: 0;
- padding: 14px;
- opacity: 0.5;
- z-index: 1;
- width: 44px;
- height: 44px;
- }
-
- .actions {
- display: flex;
- align-items: center;
-
- .app-groups {
- padding: 5px;
- }
- }
-
- .appslink {
- text-decoration: underline;
- margin-right: 5px;
- }
-
- .app-level,
- .actions,
- .documentation,
- .app-dependencies,
- .app-description {
- margin: 20px 0;
- }
-}
-
-@media only screen and (min-width: 1601px) {
- .store .section {
- width: 25%;
- }
- .with-app-sidebar .store .section {
- width: 33%;
- }
-}
-
-@media only screen and (max-width: 1600px) {
- .store .section {
- width: 25%;
- }
- .with-app-sidebar .store .section {
- width: 33%;
- }
-}
-
-@media only screen and (max-width: 1400px) {
- .store .section {
- width: 33%;
- }
- .with-app-sidebar .store .section {
- width: 50%;
- }
-}
-
-@media only screen and (max-width: 900px) {
- .store .section {
- width: 50%;
- }
- .with-app-sidebar .store .section {
- width: 100%;
- }
-}
-
-@media only screen and (max-width: $breakpoint-mobile) {
- .store .section {
- width: 50%;
- }
-}
-
-@media only screen and (max-width: 480px) {
- .store .section {
- width: 100%;
- }
-}
-
-/* hide app version and level on narrower screens */
-@media only screen and (max-width: 900px) {
- .apps-list.installed {
- .app-version, .app-level {
- display: none !important;
- }
- }
-}
-
-@media only screen and (max-width: 500px) {
- .apps-list.installed .app-groups {
- display: none !important;
- }
-}
-
-#version.section {
- border-bottom: none;
}
+/* SETTINGS SECTIONS */
+// to match with NcSettingsSection component
.section {
margin-bottom: 0;
/* section divider lines, none needed for last one */
@@ -956,260 +578,32 @@ span.version {
/* correctly display help icons next to headings */
h2 {
- margin-bottom: 22px;
-
- .icon-info {
- padding: 6px 20px;
- vertical-align: text-bottom;
- display: inline-block;
- }
- }
-}
-
-.followupsection {
- display: block;
- padding: 0 30px 30px 30px;
- color: #555;
-}
-
-.app-image {
- position: relative;
- height: 150px;
- opacity: 1;
- overflow: hidden;
-}
-
-.app-name, .app-version, .app-score, .app-level {
- display: inline-block;
-}
-
-.app-description-toggle-show, .app-description-toggle-hide {
- clear: both;
- padding: 7px 0;
- cursor: pointer;
- opacity: .5;
-}
-
-.app-description-container {
- clear: both;
- position: relative;
- top: 7px;
-}
-
-.app-description {
- clear: both;
-}
-
-#app-category-1 {
- margin-bottom: 18px;
-}
-
-/* capitalize 'Other' category */
-
-#app-category-925 {
- text-transform: capitalize;
-}
-
-.app-dependencies {
- color: #ce3702;
-}
-
-.missing-dependencies {
- list-style: initial;
- list-style-type: initial;
- list-style-position: inside;
-}
-
-.apps-list {
- $toolbar-padding: 8px;
- $toolbar-height: 44px + $toolbar-padding * 2;
-
- .section {
- cursor: pointer;
- }
-
- .app-list-move {
- transition: transform 1s;
- }
-
- #app-list-update-all {
- margin-left: 10px;
- }
-
- .toolbar {
- height: $toolbar-height;
- padding: $toolbar-padding;
- // Leave room for app-navigation-toggle
- padding-left: $toolbar-height;
- width: 100%;
- background-color: var(--color-main-background);
- position: fixed;
- z-index: 1;
- display: flex;
+ display: inline-flex;
align-items: center;
- }
-
- &.installed {
- .apps-list-container {
- display: table;
- width: 100%;
- height: auto;
- margin-top: $toolbar-height;
- }
-
- margin-bottom: 100px;
-
- .section {
- display: table-row;
- padding: 0;
- margin: 0;
-
- > * {
- display: table-cell;
- height: initial;
- vertical-align: middle;
- float: none;
- border-bottom: 1px solid var(--color-border);
- padding: 6px;
- box-sizing: border-box;
- }
-
- &.selected {
- background-color: var(--color-background-dark);
- }
-
- }
-
- .groups-enable {
- margin-top: 0;
-
- label {
- margin-right: 3px;
- }
- }
-
- .app-image {
- width: 44px;
- height: auto;
- text-align: right;
- }
-
- .app-image-icon svg,
- .app-image-icon .icon-settings-dark {
- margin-top: 5px;
- width: 20px;
- height: 20px;
- opacity: .5;
- background-size: cover;
- display: inline-block;
- }
-
- .actions {
- text-align: right;
-
- .icon-loading-small {
- display: inline-block;
- top: 4px;
- margin-right: 10px;
- }
- }
- }
-
- &:not(.installed) .app-image-icon svg {
- position: absolute;
- bottom: 43px;
- /* position halfway vertically */
- width: 64px;
- height: 64px;
- opacity: .1;
- }
-
- display: flex;
- flex-wrap: wrap;
- align-content: flex-start;
-
- &.hidden {
- display: none;
- }
-
- .section {
- position: relative;
- flex: 0 0 auto;
-
- h2.app-name {
- display: block;
- margin: 8px 0;
- }
-
- &:hover {
- background-color: var(--color-background-dark);
- }
- }
-
- .app-description {
- p {
- margin: 10px 0;
- }
-
- ul {
- list-style: disc;
- }
-
- ol {
- list-style: decimal;
-
- ol, ul {
- padding-left: 15px;
- }
- }
-
- > {
- ul, ol {
- margin-left: 19px;
- }
- }
-
- ul {
- ol, ul {
- padding-left: 15px;
- }
- }
- }
-
- /* Bundle header */
- .apps-header {
- display: table-row;
- position: relative;
+ justify-content: center;
+ font-size: 20px;
+ font-weight: bold;
+ max-width: 900px;
+ margin-top: 0;
- div {
- display: table-cell;
- height: 70px;
+ .icon-info {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: var(--default-clickable-area);
+ height: var(--default-clickable-area);
+ margin: calc((var(--default-clickable-area) - 16px) / 2 * -1);
+ margin-inline-start: 0;
+ color: var(--color-text-maxcontrast);
}
- h2 {
- display: table-cell;
- position: absolute;
- padding-left: 6px;
- padding-top: 15px;
-
- .enable {
- position: relative;
- top: -1px;
- margin-left: 12px;
- }
-
- + .section {
- margin-top: 50px;
- }
- }
}
-}
-#apps-list-search {
- .section {
- h2 {
- margin-bottom: 0;
- }
+ p {
+ margin-top: -0.2em;
+ margin-bottom: 1em;
+ color: var(--color-text-maxcontrast);
+ max-width: 900px;
}
}
@@ -1265,29 +659,33 @@ table.grid td.date {
}
#shareAPI {
- p {
- padding-bottom: 0.8em;
+ &.loading > div {
+ display: none;
}
- input#shareapiExpireAfterNDays {
- width: 40px;
+ p {
+ padding-bottom: 0.8em;
}
.indent {
- padding-left: 28px;
+ padding-inline-start: 28px;
}
.double-indent {
- padding-left: 56px;
+ padding-inline-start: 56px;
}
.nocheckbox {
- padding-left: 20px;
+ padding-inline-start: 20px;
+ }
+
+ #s2id_linksExcludedGroups {
+ width: 200px !important;
}
}
#shareApiDefaultPermissionsSection label {
- margin-right: 20px;
+ margin-inline-end: 20px;
}
#fileSharingSettings h3 {
@@ -1299,7 +697,7 @@ table.grid td.date {
/* 20 px left margin, 3 px right margin */
max-width: 600px;
height: 150px;
- margin-left: 20px;
+ margin-inline-start: 20px;
box-sizing: border-box;
}
@@ -1313,22 +711,15 @@ table.grid td.date {
#two-factor-auth h2,
#shareAPI h2,
-#encryptionAPI h2,
#mail_general_settings h2 {
display: inline-block;
}
-#encryptionAPI li {
- list-style-type: initial;
- margin-left: 20px;
- padding: 5px 0;
-}
-
.mail_settings p {
label:first-child {
display: inline-block;
width: 300px;
- text-align: right;
+ text-align: end;
}
select:nth-child(2),
@@ -1337,12 +728,21 @@ table.grid td.date {
}
}
+@media (max-width: calc(variables.$breakpoint-mobile * 0.75)) {
+ .mail_settings p label:first-child {
+ width: unset;
+ text-align: start;
+ display: block;
+ margin-top: calc(var(--default-grid-baseline) * 2);
+ }
+}
+
#mail_smtpport {
- width: 40px;
+ width: 60px;
}
.cronlog {
- margin-left: 10px;
+ margin-inline-start: 10px;
}
.status {
@@ -1387,7 +787,7 @@ span {
/* OPERA hack for strengthify*/
doesnotexist:-o-prefocus, .strengthify-wrapper {
- left: 185px;
+ inset-inline-start: 185px;
width: 129px;
}
@@ -1401,7 +801,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
#postsetupchecks {
ul {
- margin-left: 44px;
+ margin-inline-start: 44px;
list-style: disc;
li {
@@ -1441,6 +841,22 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
}
}
+.security-warning__heading {
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: calc(var(--default-grid-baseline) * 8);
+
+ > h2 {
+ margin: 0;
+ font-size: 20px;
+ font-weight: bold;
+ }
+
+ > a {
+ width: 44px;
+ }
+}
+
#admin-tips li {
list-style: initial;
@@ -1450,15 +866,6 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
}
}
-#selectEncryptionModules {
- margin-left: 30px;
- padding: 10px;
-}
-
-#encryptionModules {
- padding: 10px;
-}
-
#warning {
color: red;
}
@@ -1469,299 +876,6 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
opacity: .7;
}
-
-/* USERS LIST -------------------------------------------------------------- */
-#body-settings {
- $grid-row-height: 60px;
- $grid-col-min-width: 160px;
- overflow-x: scroll;
- min-height: 100%;
- height: auto;
-
- #app-content.user-list-grid {
- display: grid;
- grid-column-gap: 20px;
- grid-auto-rows: minmax(60px, max-content);
-
- .row {
- // TODO replace with css4 subgrid when available
- // fallback for ie11 no grid
- display: flex;
- display: grid;
- min-height: $grid-row-height;
- grid-row-start: span 1;
- grid-gap: 3px;
- align-items: center;
- /* let's define the column until storage path,
- what follows will be manually defined */
- grid-template-columns:
- 44px
- minmax($grid-col-min-width + 30px, 1fr) // username, displayname
- minmax($grid-col-min-width, 1fr) // password
- minmax($grid-col-min-width, 1fr) // email
- minmax(1.5*$grid-col-min-width, 1fr) // groups
- minmax(1.5*$grid-col-min-width, 1fr) // group admins
- repeat(auto-fit, minmax($grid-col-min-width, 1fr));
- border-bottom: var(--color-border) 1px solid;
-
- &.disabled {
- opacity: .5;
- }
-
- /* grid col width */
- .name,
- .password,
- .mailAddress,
- .languages,
- .storageLocation,
- .userBackend,
- .lastLogin {
- min-width: $grid-col-min-width;
-
- doesnotexist:-o-prefocus, .strengthify-wrapper {
- color: var(--color-text-dark);
- vertical-align: baseline;
- text-overflow: ellipsis;
- }
- }
- &:not(.row--editable) {
- &.name,
- &.password,
- &.displayName,
- &.mailAddress,
- &.userBackend,
- &.languages {
- overflow: hidden;
- }
- }
-
- .groups,
- .subadmins,
- .quota {
- min-width: $grid-col-min-width;
-
- .multiselect {
- width: 100%;
- color: var(--color-text-dark);
- vertical-align: baseline;
- }
- }
-
- .obfuscated {
- width: 400px;
- opacity: .7;
- }
-
- .userActions {
- display: flex;
- justify-content: flex-end;
- position: sticky;
- right: 0px;
- min-width: 88px;
- background-color: var(--color-main-background);
- }
-
- .subtitle {
- color: var(--color-text-maxcontrast);
- vertical-align: baseline;
- }
-
- /* various */
- &#grid-header {
- position: sticky;
- align-self: normal;
- background-color: var(--color-main-background);
- z-index: 100; /* above multiselect */
- top: $header-height;
-
- &.sticky {
- box-shadow: 0 -2px 10px 1px var(--color-box-shadow);
- }
- }
-
- &#grid-header {
- color: var(--color-text-maxcontrast);
- border-bottom-width: thin;
-
- #headerDisplayName,
- #headerPassword,
- #headerAddress,
- #headerGroups,
- #headerSubAdmins,
- #theHeaderUserBackend,
- #theHeaderLastLogin,
- #headerQuota,
- #theHeaderStorageLocation,
- #headerLanguages {
- /* Line up header text with column content for when there’s inputs */
- padding-left: 7px;
- text-transform: none;
- color: var(--color-text-maxcontrast);
- vertical-align: baseline;
- }
- }
-
- &:hover {
- input:not([type='submit']):not(:focus):not(:active) {
- border-color: var(--color-border) !important;
- }
-
- &:not(#grid-header) {
- box-shadow: 5px 0 0 var(--color-primary-element) inset;
- }
- }
-
- > form {
- width: 100%;
- }
-
- > div,
- > .displayName > form,
- > form {
- grid-row: 1;
- display: inline-flex;
- color: var(--color-text-lighter);
- flex-grow: 1;
-
- > input:not(:focus):not(:active) {
- border-color: transparent;
- cursor: pointer;
- }
-
- > input:focus, > input:active {
- + .icon-confirm {
- display: block !important;
- }
- }
-
- /* inputs like mail, username, password */
- &:not(.userActions) > input:not([type='submit']) {
- width: 100%;
- min-width: 0;
- }
-
- &.name {
- word-break: break-all;
- }
-
- &.displayName,
- &.mailAddress {
- > input {
- text-overflow: ellipsis;
- flex-grow: 1;
- }
- }
-
- &.name,
- &.userBackend {
- /* better multi-line visual */
- line-height: 1.3em;
- max-height: 100%;
- overflow: hidden;
- /* not supported by all browsers
- so we keep the overflow hidden
- as a fallback */
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical;
- }
-
- &.quota {
- display: flex;;
- justify-content: left;
- white-space: nowrap;
- position: relative;
-
- progress {
- width: 150px;
- margin-top: 35px;
- height: 3px;
- }
- }
-
- .icon-confirm {
- flex: 0 0 auto;
- cursor: pointer;
-
- &:not(:active) {
- display: none;
- }
- }
-
- &.avatar {
- height: 32px;
- width: 32px;
- margin: 6px;
-
- img {
- display: block;
- }
- }
-
- &.userActions {
- display: flex;
- justify-content: flex-end;
-
- #newsubmit {
- width: 100%;
- }
-
- .toggleUserActions {
- position: relative;
- display: flex;
- align-items: center;
- background-color: var(--color-main-background);
-
- .icon-more {
- width: 44px;
- height: 44px;
- opacity: .5;
- cursor: pointer;
-
- &:focus,
- &:hover,
- &:active {
- opacity: .7;
- background-color: var(--color-background-dark)
- }
- }
- }
-
- .feedback {
- display: flex;
- align-items: center;
- white-space: nowrap;
- transition: opacity 200ms ease-in-out;
-
- .icon-checkmark {
- opacity: .5;
- margin-right: 5px;
- }
- }
- }
-
- /* Fill the grid cell */
- .multiselect.multiselect-vue {
- width: 100%;
- }
- }
- }
-
- .infinite-loading-container {
- display: flex;
- align-items: center;
- justify-content: center;
- grid-row-start: span 4;
- }
-
- .users-list-end {
- opacity: .5;
- user-select: none;
- }
- }
-}
-
.animated {
animation: blink-animation 1s steps(5, start) 4;
}