diff --git a/app/javascript/flavours/glitch/styles/accounts.scss b/app/javascript/flavours/glitch/styles/accounts.scss
index ac19898328c..9568581ec3d 100644
--- a/app/javascript/flavours/glitch/styles/accounts.scss
+++ b/app/javascript/flavours/glitch/styles/accounts.scss
@@ -267,6 +267,20 @@
}
}
+ .verified {
+ border: 1px solid rgba($valid-value-color, 0.5);
+ background: rgba($valid-value-color, 0.25);
+
+ a {
+ color: $valid-value-color;
+ font-weight: 500;
+ }
+
+ &__mark {
+ color: $valid-value-color;
+ }
+ }
+
dl:last-child {
border-bottom: 0;
}
diff --git a/app/javascript/flavours/glitch/styles/admin.scss b/app/javascript/flavours/glitch/styles/admin.scss
index eb3eaf11afe..b8cc3303960 100644
--- a/app/javascript/flavours/glitch/styles/admin.scss
+++ b/app/javascript/flavours/glitch/styles/admin.scss
@@ -1,3 +1,5 @@
+$no-columns-breakpoint: 600px;
+
.admin-wrapper {
display: flex;
justify-content: center;
@@ -24,12 +26,22 @@
height: 100px;
}
+ @media screen and (max-width: $no-columns-breakpoint) {
+ & > a:first-child {
+ display: none;
+ }
+ }
+
ul {
list-style: none;
border-radius: 4px 0 0 4px;
overflow: hidden;
margin-bottom: 20px;
+ @media screen and (max-width: $no-columns-breakpoint) {
+ margin-bottom: 0;
+ }
+
a {
display: block;
padding: 15px;
@@ -62,19 +74,23 @@
a {
border: 0;
padding: 15px 35px;
-
- &.selected {
- color: $primary-text-color;
- background-color: $ui-highlight-color;
- border-bottom: 0;
- border-radius: 0;
-
- &:hover {
- background-color: lighten($ui-highlight-color, 5%);
- }
- }
}
}
+
+ .simple-navigation-active-leaf a {
+ color: $primary-text-color;
+ background-color: $ui-highlight-color;
+ border-bottom: 0;
+ border-radius: 0;
+
+ &:hover {
+ background-color: lighten($ui-highlight-color, 5%);
+ }
+ }
+ }
+
+ & > ul > .simple-navigation-active-leaf a {
+ border-radius: 4px 0 0 4px;
}
}
@@ -89,11 +105,19 @@
padding-top: 60px;
padding-left: 25px;
+ @media screen and (max-width: $no-columns-breakpoint) {
+ max-width: none;
+ padding: 15px;
+ padding-top: 30px;
+ }
+
h2 {
color: $secondary-text-color;
font-size: 24px;
line-height: 28px;
font-weight: 400;
+ padding-bottom: 40px;
+ border-bottom: 1px solid lighten($ui-base-color, 8%);
margin-bottom: 40px;
}
@@ -108,7 +132,7 @@
h4 {
text-transform: uppercase;
font-size: 13px;
- font-weight: 500;
+ font-weight: 700;
color: $darker-text-color;
padding-bottom: 8px;
margin-bottom: 8px;
@@ -122,6 +146,11 @@
font-weight: 400;
}
+ .fields-group h6 {
+ color: $primary-text-color;
+ font-weight: 500;
+ }
+
& > p {
font-size: 14px;
line-height: 18px;
@@ -167,30 +196,7 @@
}
}
- .simple_form {
- max-width: 400px;
-
- &.edit_user,
- &.new_form_admin_settings,
- &.new_form_two_factor_confirmation,
- &.new_form_delete_confirmation,
- &.new_import,
- &.new_domain_block,
- &.edit_domain_block {
- max-width: none;
- }
-
- .form_two_factor_confirmation_code,
- .form_delete_confirmation_password {
- max-width: 400px;
- }
-
- .actions {
- max-width: 400px;
- }
- }
-
- @media screen and (max-width: 600px) {
+ @media screen and (max-width: $no-columns-breakpoint) {
display: block;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
@@ -204,16 +210,8 @@
.sidebar {
width: 100%;
- padding: 10px 0;
+ padding: 0;
height: auto;
-
- .logo {
- margin: 20px auto;
- }
- }
-
- .content {
- padding-top: 20px;
}
}
}
diff --git a/app/javascript/flavours/glitch/styles/basics.scss b/app/javascript/flavours/glitch/styles/basics.scss
index 11c91bbc92c..9c2499ac424 100644
--- a/app/javascript/flavours/glitch/styles/basics.scss
+++ b/app/javascript/flavours/glitch/styles/basics.scss
@@ -1,3 +1,10 @@
+@function hex-color($color) {
+ @if type-of($color) == 'color' {
+ $color: str-slice(ie-hex-str($color), 4);
+ }
+ @return '%23' + unquote($color)
+}
+
body {
font-family: 'mastodon-font-sans-serif', sans-serif;
background: darken($ui-base-color, 8%);
diff --git a/app/javascript/flavours/glitch/styles/components/boost.scss b/app/javascript/flavours/glitch/styles/components/boost.scss
index d9244404255..f1ad041e90c 100644
--- a/app/javascript/flavours/glitch/styles/components/boost.scss
+++ b/app/javascript/flavours/glitch/styles/components/boost.scss
@@ -1,10 +1,3 @@
-@function hex-color($color) {
- @if type-of($color) == 'color' {
- $color: str-slice(ie-hex-str($color), 4);
- }
- @return '%23' + unquote($color)
-}
-
button.icon-button i.fa-retweet {
background-image: url("data:image/svg+xml;utf8,");
diff --git a/app/javascript/flavours/glitch/styles/containers.scss b/app/javascript/flavours/glitch/styles/containers.scss
index 17901f233e5..d1b9934d718 100644
--- a/app/javascript/flavours/glitch/styles/containers.scss
+++ b/app/javascript/flavours/glitch/styles/containers.scss
@@ -724,6 +724,14 @@
a {
color: lighten($ui-highlight-color, 8%);
}
+
+ dl:first-child .verified {
+ border-radius: 0 4px 0 0;
+ }
+
+ .verified a {
+ color: $valid-value-color;
+ }
}
.account__header__content {
diff --git a/app/javascript/flavours/glitch/styles/forms.scss b/app/javascript/flavours/glitch/styles/forms.scss
index 18019c29ccd..cbd3de94c84 100644
--- a/app/javascript/flavours/glitch/styles/forms.scss
+++ b/app/javascript/flavours/glitch/styles/forms.scss
@@ -1,3 +1,5 @@
+$no-columns-breakpoint: 600px;
+
code {
font-family: 'mastodon-font-monospace', monospace;
font-weight: 400;
@@ -13,6 +15,60 @@ code {
.input {
margin-bottom: 15px;
overflow: hidden;
+
+ &.hidden {
+ margin: 0;
+ }
+
+ &.radio_buttons {
+ .radio {
+ margin-bottom: 15px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ .radio > label {
+ position: relative;
+ padding-left: 28px;
+
+ input {
+ position: absolute;
+ top: -2px;
+ left: 0;
+ }
+ }
+ }
+
+ &.boolean {
+ position: relative;
+ margin-bottom: 0;
+
+ .label_input > label {
+ font-family: inherit;
+ font-size: 14px;
+ padding-top: 5px;
+ color: $primary-text-color;
+ display: block;
+ width: auto;
+ }
+
+ .label_input,
+ .hint {
+ padding-left: 28px;
+ }
+
+ .label_input__wrapper {
+ position: static;
+ }
+
+ label.checkbox {
+ position: absolute;
+ top: 2px;
+ left: 0;
+ }
+ }
}
.row {
@@ -27,9 +83,22 @@ code {
}
}
+ .hint {
+ color: $darker-text-color;
+
+ a {
+ color: $highlight-text-color;
+ }
+
+ code {
+ border-radius: 3px;
+ padding: 0.2em 0.4em;
+ background: darken($ui-base-color, 12%);
+ }
+ }
+
span.hint {
display: block;
- color: $darker-text-color;
font-size: 12px;
margin-top: 4px;
}
@@ -44,17 +113,6 @@ code {
line-height: 18px;
margin-top: 15px;
margin-bottom: 0;
- color: $darker-text-color;
-
- a {
- color: $highlight-text-color;
- }
- }
-
- code {
- border-radius: 3px;
- padding: 0.2em 0.4em;
- background: darken($ui-base-color, 12%);
}
}
@@ -72,83 +130,60 @@ code {
}
}
- .label_input {
- display: flex;
+ .input.with_floating_label {
+ .label_input {
+ display: flex;
- label {
- flex: 0 0 auto;
+ & > label {
+ font-family: inherit;
+ font-size: 14px;
+ color: $primary-text-color;
+ font-weight: 500;
+ min-width: 150px;
+ flex: 0 0 auto;
+ }
+
+ input,
+ select {
+ flex: 1 1 auto;
+ }
}
- input {
- flex: 1 1 auto;
+ &.select .hint {
+ margin-top: 6px;
+ margin-left: 150px;
}
}
.input.with_label {
- padding: 15px 0;
- margin-bottom: 0;
-
- .label_input {
- flex-wrap: wrap;
- align-items: flex-start;
- }
-
- &.select .label_input {
- align-items: initial;
- }
-
.label_input > label {
font-family: inherit;
- font-size: 16px;
+ font-size: 14px;
color: $primary-text-color;
display: block;
- padding-top: 5px;
- margin-bottom: 5px;
- flex: 1;
- min-width: 150px;
+ margin-bottom: 8px;
word-wrap: break-word;
+ font-weight: 500;
+ }
- &.select {
- flex: 0;
- }
-
- & ~ * {
- margin-left: 10px;
- }
+ .hint {
+ margin-top: 6px;
}
ul {
flex: 390px;
}
-
- &.boolean {
- padding: initial;
- margin-bottom: initial;
-
- .label_input > label {
- font-family: inherit;
- font-size: 14px;
- color: $primary-text-color;
- display: block;
- width: auto;
- }
-
- label.checkbox {
- position: relative;
- padding-left: 25px;
- flex: 1 1 auto;
- }
- }
}
.input.with_block_label {
- padding-top: 15px;
+ max-width: none;
& > label {
font-family: inherit;
font-size: 16px;
color: $primary-text-color;
display: block;
+ font-weight: 500;
padding-top: 5px;
}
@@ -161,8 +196,59 @@ code {
}
}
+ .required abbr {
+ text-decoration: none;
+ color: lighten($error-value-color, 12%);
+ }
+
.fields-group {
margin-bottom: 25px;
+
+ .input:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ .fields-row {
+ display: flex;
+ margin: 0 -10px;
+ padding-top: 5px;
+ margin-bottom: 25px;
+
+ .input {
+ max-width: none;
+ }
+
+ &__column {
+ box-sizing: border-box;
+ padding: 0 10px;
+ flex: 1 1 auto;
+ min-height: 1px;
+
+ &-6 {
+ max-width: 50%;
+ }
+ }
+
+ .fields-group:last-child,
+ .fields-row__column.fields-group {
+ margin-bottom: 0;
+ }
+
+ @media screen and (max-width: $no-columns-breakpoint) {
+ display: block;
+ margin-bottom: 0;
+
+ &__column {
+ max-width: none;
+ }
+
+ .fields-group:last-child,
+ .fields-row__column.fields-group,
+ .fields-row__column {
+ margin-bottom: 25px;
+ }
+ }
}
.input.radio_buttons .radio label {
@@ -174,36 +260,6 @@ code {
width: auto;
}
- .input.boolean {
- margin-bottom: 5px;
-
- label {
- font-family: inherit;
- font-size: 14px;
- color: $primary-text-color;
- display: block;
- width: auto;
- }
-
- label.checkbox {
- position: relative;
- padding-left: 25px;
- flex: 1 1 auto;
- }
-
- input[type=checkbox] {
- position: absolute;
- left: 0;
- top: 5px;
- margin: 0;
- }
-
- .hint {
- padding-left: 25px;
- margin-left: 0;
- }
- }
-
.check_boxes {
.checkbox {
label {
@@ -232,12 +288,7 @@ code {
input[type=email],
input[type=password],
textarea {
- background: transparent;
box-sizing: border-box;
- border: 0;
- border-bottom: 2px solid $ui-primary-color;
- border-radius: 2px 2px 0 0;
- padding: 7px 4px;
font-size: 16px;
color: $primary-text-color;
display: block;
@@ -245,23 +296,31 @@ code {
outline: 0;
font-family: inherit;
resize: vertical;
+ background: darken($ui-base-color, 10%);
+ border: 1px solid darken($ui-base-color, 14%);
+ border-radius: 4px;
+ padding: 10px;
&:invalid {
box-shadow: none;
}
&:focus:invalid {
- border-bottom-color: lighten($error-red, 12%);
+ border-color: lighten($error-red, 12%);
}
&:required:valid {
- border-bottom-color: $valid-value-color;
+ border-color: $valid-value-color;
+ }
+
+ &:hover {
+ border-color: darken($ui-base-color, 20%);
}
&:active,
&:focus {
- border-bottom-color: $highlight-text-color;
- background: rgba($base-overlay-background, 0.1);
+ border-color: $highlight-text-color;
+ background: darken($ui-base-color, 8%);
}
}
@@ -345,22 +404,32 @@ code {
}
select {
+ appearance: none;
+ box-sizing: border-box;
font-size: 16px;
- max-height: 29px;
+ color: $primary-text-color;
+ display: block;
+ width: 100%;
+ outline: 0;
+ font-family: inherit;
+ resize: vertical;
+ background: darken($ui-base-color, 10%) url("data:image/svg+xml;utf8,") no-repeat right 8px center / auto 16px;
+ border: 1px solid darken($ui-base-color, 14%);
+ border-radius: 4px;
+ padding: 10px;
+ height: 41px;
}
- .input-with-append {
- position: relative;
-
- .input input {
- padding-right: 142px;
+ .label_input {
+ &__wrapper {
+ position: relative;
}
- .append {
+ &__append {
position: absolute;
- right: 0;
- top: 0;
- padding: 7px 4px;
+ right: 1px;
+ top: 1px;
+ padding: 10px;
padding-bottom: 9px;
font-size: 16px;
color: $dark-text-color;
@@ -379,7 +448,7 @@ code {
right: 0;
bottom: 1px;
width: 5px;
- background-image: linear-gradient(to right, rgba($ui-base-color, 0), $ui-base-color);
+ background-image: linear-gradient(to right, rgba(darken($ui-base-color, 10%), 0), darken($ui-base-color, 10%));
}
}
}
@@ -455,6 +524,30 @@ code {
}
}
+.quick-nav {
+ list-style: none;
+ margin-bottom: 25px;
+ font-size: 14px;
+
+ li {
+ display: inline-block;
+ margin-right: 10px;
+ }
+
+ a {
+ color: $highlight-text-color;
+ text-transform: uppercase;
+ text-decoration: none;
+ font-weight: 700;
+
+ &:hover,
+ &:focus,
+ &:active {
+ color: lighten($highlight-text-color, 8%);
+ }
+ }
+}
+
.oauth-prompt,
.follow-prompt {
margin-bottom: 30px;
@@ -628,3 +721,49 @@ code {
font-family: 'mastodon-font-monospace', monospace;
}
}
+
+.input-copy {
+ background: darken($ui-base-color, 10%);
+ border: 1px solid darken($ui-base-color, 14%);
+ border-radius: 4px;
+ display: flex;
+ align-items: center;
+ padding-right: 4px;
+ position: relative;
+ top: 1px;
+ transition: border-color 300ms linear;
+
+ &__wrapper {
+ flex: 1 1 auto;
+ }
+
+ input[type=text] {
+ background: transparent;
+ border: 0;
+ padding: 10px;
+ font-size: 14px;
+ font-family: 'mastodon-font-monospace', monospace;
+ }
+
+ button {
+ flex: 0 0 auto;
+ margin: 4px;
+ text-transform: none;
+ font-weight: 400;
+ font-size: 14px;
+ padding: 7px 18px;
+ padding-bottom: 6px;
+ width: auto;
+ transition: background 300ms linear;
+ }
+
+ &.copied {
+ border-color: $valid-value-color;
+ transition: none;
+
+ button {
+ background: $valid-value-color;
+ transition: none;
+ }
+ }
+}