aboutsummaryrefslogtreecommitdiff
path: root/src/App.scss
diff options
context:
space:
mode:
Diffstat (limited to 'src/App.scss')
-rw-r--r--src/App.scss246
1 files changed, 172 insertions, 74 deletions
diff --git a/src/App.scss b/src/App.scss
index 598735d9..2190f91a 100644
--- a/src/App.scss
+++ b/src/App.scss
@@ -10,13 +10,14 @@
position: fixed;
z-index: -1;
height: 100%;
- width: 100%;
+ left: 0;
+ right: -20px;
background-size: cover;
background-repeat: no-repeat;
background-position: 0 50%;
}
-i {
+i[class^='icon-'] {
user-select: none;
}
@@ -47,6 +48,12 @@ body {
color: var(--text, $fallback--text);
max-width: 100vw;
overflow-x: hidden;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+
+ &.hidden {
+ display: none;
+ }
}
a {
@@ -101,6 +108,14 @@ button {
background-color: $fallback--bg;
background-color: var(--bg, $fallback--bg)
}
+
+ &.danger {
+ // TODO: add better color variable
+ color: $fallback--text;
+ color: var(--alertErrorPanelText, $fallback--text);
+ background-color: $fallback--alertError;
+ background-color: var(--alertError, $fallback--alertError);
+ }
}
label.select {
@@ -121,6 +136,7 @@ input, textarea, .select {
font-family: sans-serif;
font-family: var(--inputFont, sans-serif);
font-size: 14px;
+ margin: 0;
padding: 8px .5em;
box-sizing: border-box;
display: inline-block;
@@ -154,7 +170,7 @@ input, textarea, .select {
background: transparent;
border: none;
color: $fallback--text;
- color: var(--text, $fallback--text);
+ color: var(--inputText, --text, $fallback--text);
margin: 0;
padding: 0 2em 0 .2em;
font-family: sans-serif;
@@ -174,7 +190,44 @@ input, textarea, .select {
flex: 1;
}
- &[type=radio],
+ &[type=radio] {
+ display: none;
+ &:checked + label::before {
+ box-shadow: 0px 0px 2px black inset, 0px 0px 0px 4px $fallback--fg inset;
+ box-shadow: var(--inputShadow), 0px 0px 0px 4px var(--fg, $fallback--fg) inset;
+ background-color: var(--link, $fallback--link);
+ }
+ &:disabled {
+ &,
+ & + label,
+ & + label::before {
+ opacity: .5;
+ }
+ }
+ + label::before {
+ flex-shrink: 0;
+ display: inline-block;
+ content: '';
+ transition: box-shadow 200ms;
+ width: 1.1em;
+ height: 1.1em;
+ border-radius: 100%; // Radio buttons should always be circle
+ box-shadow: 0px 0px 2px black inset;
+ box-shadow: var(--inputShadow);
+ margin-right: .5em;
+ background-color: $fallback--fg;
+ background-color: var(--input, $fallback--fg);
+ vertical-align: top;
+ text-align: center;
+ line-height: 1.1em;
+ font-size: 1.1em;
+ box-sizing: border-box;
+ color: transparent;
+ overflow: hidden;
+ box-sizing: border-box;
+ }
+ }
+
&[type=checkbox] {
display: none;
&:checked + label::before {
@@ -189,6 +242,7 @@ input, textarea, .select {
}
}
+ label::before {
+ flex-shrink: 0;
display: inline-block;
content: '✔';
transition: color 200ms;
@@ -220,11 +274,45 @@ option {
background-color: var(--bg, $fallback--bg);
}
+.hide-number-spinner {
+ -moz-appearance: textfield;
+ &[type=number]::-webkit-inner-spin-button,
+ &[type=number]::-webkit-outer-spin-button {
+ opacity: 0;
+ display: none;
+ }
+}
+
i[class*=icon-] {
color: $fallback--icon;
color: var(--icon, $fallback--icon)
}
+.btn-block {
+ display: block;
+ width: 100%;
+}
+
+.btn-group {
+ position: relative;
+ display: inline-flex;
+ vertical-align: middle;
+
+ button {
+ position: relative;
+ flex: 1 1 auto;
+
+ &:not(:last-child) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+
+ &:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ }
+}
.container {
display: flex;
@@ -260,6 +348,7 @@ i[class*=icon-] {
align-items: center;
position: fixed;
height: 50px;
+ box-sizing: border-box;
.logo {
display: flex;
@@ -299,6 +388,7 @@ i[class*=icon-] {
}
.inner-nav {
+ position: relative;
margin: auto;
box-sizing: border-box;
padding-left: 10px;
@@ -371,6 +461,7 @@ main-router {
.panel-heading {
display: flex;
+ flex: none;
border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;
border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;
background-size: cover;
@@ -465,41 +556,6 @@ nav {
color: var(--faint, $fallback--faint);
box-shadow: 0px 0px 4px rgba(0,0,0,.6);
box-shadow: var(--topBarShadow);
-
- .back-button {
- display: block;
- max-width: 99px;
- transition-property: opacity, max-width;
- transition-duration: 300ms;
- transition-timing-function: ease-out;
-
- i {
- margin: 0 1em;
- }
-
- &.hidden {
- opacity: 0;
- max-width: 5px;
- }
- }
-}
-
-.menu-button {
- display: none;
- position: relative;
-}
-
-.alert-dot {
- border-radius: 100%;
- height: 8px;
- width: 8px;
- position: absolute;
- left: calc(50% - 4px);
- top: calc(50% - 4px);
- margin-left: 6px;
- margin-top: -6px;
- background-color: $fallback--cRed;
- background-color: var(--badgeNotification, $fallback--cRed);
}
.fade-enter-active, .fade-leave-active {
@@ -530,31 +586,11 @@ nav {
display: none;
}
-.panel-switcher {
- display: none;
- width: 100%;
- height: 46px;
-
- button {
- display: block;
- flex: 1;
- max-height: 32px;
- margin: 0.5em;
- padding: 0.5em;
- }
-}
-
@media all and (min-width: 800px) {
body {
overflow-y: scroll;
}
- nav {
- .back-button {
- display: none;
- }
- }
-
.sidebar-bounds {
overflow: hidden;
max-height: 100vh;
@@ -648,21 +684,6 @@ nav {
text-align: right;
}
-.visibility-tray {
- font-size: 1.2em;
- padding: 3px;
- cursor: pointer;
-
- .selected {
- color: $fallback--lightText;
- color: var(--lightText, $fallback--lightText);
- }
-
- div {
- padding-top: 5px;
- }
-}
-
.visibility-notice {
padding: .5em;
border: 1px solid $fallback--faint;
@@ -671,6 +692,19 @@ nav {
border-radius: var(--inputRadius, $fallback--inputRadius);
}
+.notice-dismissible {
+ padding-right: 4rem;
+ position: relative;
+
+ .dismiss {
+ position: absolute;
+ top: 0;
+ right: 0;
+ padding: .5em;
+ color: inherit;
+ }
+}
+
@keyframes modal-background-fadein {
from {
background-color: rgba(0, 0, 0, 0);
@@ -750,6 +784,70 @@ nav {
}
}
+.setting-item {
+ border-bottom: 2px solid var(--fg, $fallback--fg);
+ margin: 1em 1em 1.4em;
+ padding-bottom: 1.4em;
+
+ > div {
+ margin-bottom: .5em;
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ &:last-child {
+ border-bottom: none;
+ padding-bottom: 0;
+ margin-bottom: 1em;
+ }
+
+ select {
+ min-width: 10em;
+ }
+
+
+ textarea {
+ width: 100%;
+ max-width: 100%;
+ height: 100px;
+ }
+
+ .unavailable,
+ .unavailable i {
+ color: var(--cRed, $fallback--cRed);
+ color: $fallback--cRed;
+ }
+
+ .btn {
+ min-height: 28px;
+ min-width: 10em;
+ padding: 0 2em;
+ }
+
+ .number-input {
+ max-width: 6em;
+ }
+}
+.select-multiple {
+ display: flex;
+ .option-list {
+ margin: 0;
+ padding-left: .5em;
+ }
+}
+.setting-list,
+.option-list{
+ list-style-type: none;
+ padding-left: 2em;
+ li {
+ margin-bottom: 0.5em;
+ }
+ .suboptions {
+ margin-top: 0.3em
+ }
+}
+
.login-hint {
text-align: center;