aboutsummaryrefslogtreecommitdiff
path: root/src/components/settings_modal
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/settings_modal')
-rw-r--r--src/components/settings_modal/helpers/choice_setting.vue5
-rw-r--r--src/components/settings_modal/helpers/size_setting.vue9
-rw-r--r--src/components/settings_modal/settings_modal.scss51
-rw-r--r--src/components/settings_modal/settings_modal_content.scss8
-rw-r--r--src/components/settings_modal/tabs/general_tab.vue1
-rw-r--r--src/components/settings_modal/tabs/mutes_and_blocks_tab.scss44
-rw-r--r--src/components/settings_modal/tabs/profile_tab.scss7
-rw-r--r--src/components/settings_modal/tabs/security_tab/mfa.vue11
-rw-r--r--src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue3
-rw-r--r--src/components/settings_modal/tabs/theme_tab/preview.vue15
-rw-r--r--src/components/settings_modal/tabs/theme_tab/theme_tab.scss120
11 files changed, 151 insertions, 123 deletions
diff --git a/src/components/settings_modal/helpers/choice_setting.vue b/src/components/settings_modal/helpers/choice_setting.vue
index d141a0d6..8fdbb5d3 100644
--- a/src/components/settings_modal/helpers/choice_setting.vue
+++ b/src/components/settings_modal/helpers/choice_setting.vue
@@ -28,8 +28,3 @@
</template>
<script src="./choice_setting.js"></script>
-
-<style lang="scss">
-.ChoiceSetting {
-}
-</style>
diff --git a/src/components/settings_modal/helpers/size_setting.vue b/src/components/settings_modal/helpers/size_setting.vue
index 90c9f538..5a78f100 100644
--- a/src/components/settings_modal/helpers/size_setting.vue
+++ b/src/components/settings_modal/helpers/size_setting.vue
@@ -45,10 +45,11 @@
<script src="./size_setting.js"></script>
<style lang="scss">
-.css-unit-input, .css-unit-input select {
+.css-unit-input,
+.css-unit-input select {
margin-left: 0.5em;
- width: 4em !important;
- max-width: 4em !important;
- min-width: 4em !important;
+ width: 4em;
+ max-width: 4em;
+ min-width: 4em;
}
</style>
diff --git a/src/components/settings_modal/settings_modal.scss b/src/components/settings_modal/settings_modal.scss
index 13cb0e65..f5861229 100644
--- a/src/components/settings_modal/settings_modal.scss
+++ b/src/components/settings_modal/settings_modal.scss
@@ -1,4 +1,5 @@
-@import 'src/_variables.scss';
+@import "src/variables";
+
.settings-modal {
overflow: hidden;
@@ -6,32 +7,13 @@
.option-list {
list-style-type: none;
padding-left: 2em;
+
li {
margin-bottom: 0.5em;
}
- .suboptions {
- margin-top: 0.3em
- }
- }
-
- &.peek {
- .settings-modal-panel {
- /* Explanation:
- * Modal is positioned vertically centered.
- * 100vh - 100% = Distance between modal's top+bottom boundaries and screen
- * (100vh - 100%) / 2 = Distance between bottom (or top) boundary and screen
- * + 100% - we move modal completely off-screen, it's top boundary touches
- * bottom of the screen
- * - 50px - leaving tiny amount of space so that titlebar + tiny amount of modal is visible
- */
- transform: translateY(calc(((100vh - 100%) / 2 + 100%) - 50px));
- @media all and (max-width: 800px) {
- /* For mobile, the modal takes 100% of the available screen.
- This ensures the minimized modal is always 50px above the browser bottom bar regardless of whether or not it is visible.
- */
- transform: translateY(calc(100% - 50px));
- }
+ .suboptions {
+ margin-top: 0.3em;
}
}
@@ -63,6 +45,7 @@
.settings-footer {
display: flex;
+
>* {
margin-right: 0.5em;
}
@@ -72,4 +55,26 @@
flex-grow: 1;
}
}
+
+ &.peek {
+ .settings-modal-panel {
+ /* Explanation:
+ * Modal is positioned vertically centered.
+ * 100vh - 100% = Distance between modal's top+bottom boundaries and screen
+ * (100vh - 100%) / 2 = Distance between bottom (or top) boundary and screen
+ * + 100% - we move modal completely off-screen, it's top boundary touches
+ * bottom of the screen
+ * - 50px - leaving tiny amount of space so that titlebar + tiny amount of modal is visible
+ */
+ transform: translateY(calc(((100vh - 100%) / 2 + 100%) - 50px));
+
+ @media all and (max-width: 800px) {
+ /* For mobile, the modal takes 100% of the available screen.
+ This ensures the minimized modal is always 50px above the browser bottom
+ bar regardless of whether or not it is visible.
+ */
+ transform: translateY(calc(100% - 50px));
+ }
+ }
+ }
}
diff --git a/src/components/settings_modal/settings_modal_content.scss b/src/components/settings_modal/settings_modal_content.scss
index 81ab434b..87df7982 100644
--- a/src/components/settings_modal/settings_modal_content.scss
+++ b/src/components/settings_modal/settings_modal_content.scss
@@ -1,4 +1,5 @@
-@import 'src/_variables.scss';
+@import "src/variables";
+
.settings_tab-switcher {
height: 100%;
@@ -10,7 +11,8 @@
> div,
> label {
display: block;
- margin-bottom: .5em;
+ margin-bottom: 0.5em;
+
&:last-child {
margin-bottom: 0;
}
@@ -21,7 +23,7 @@
.option-list {
margin: 0;
- padding-left: .5em;
+ padding-left: 0.5em;
}
}
diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue
index 8561647b..582cb288 100644
--- a/src/components/settings_modal/tabs/general_tab.vue
+++ b/src/components/settings_modal/tabs/general_tab.vue
@@ -464,6 +464,7 @@
justify-content: space-evenly;
flex-wrap: wrap;
}
+
.column-settings .size-label {
display: block;
margin-bottom: 0.5em;
diff --git a/src/components/settings_modal/tabs/mutes_and_blocks_tab.scss b/src/components/settings_modal/tabs/mutes_and_blocks_tab.scss
index 2adff847..5fa3a27b 100644
--- a/src/components/settings_modal/tabs/mutes_and_blocks_tab.scss
+++ b/src/components/settings_modal/tabs/mutes_and_blocks_tab.scss
@@ -1,29 +1,29 @@
.mutes-and-blocks-tab {
- height: 100%;
+ height: 100%;
- .usersearch-wrapper {
- padding: 1em;
- }
+ .usersearch-wrapper {
+ padding: 1em;
+ }
- .bulk-actions {
- text-align: right;
- padding: 0 1em;
- min-height: 2em;
- }
+ .bulk-actions {
+ text-align: right;
+ padding: 0 1em;
+ min-height: 2em;
+ }
- .bulk-action-button {
- width: 10em
- }
+ .bulk-action-button {
+ width: 10em;
+ }
- .domain-mute-form {
- padding: 1em;
- display: flex;
- flex-direction: column
- }
+ .domain-mute-form {
+ padding: 1em;
+ display: flex;
+ flex-direction: column;
+ }
- .domain-mute-button {
- align-self: flex-end;
- margin-top: 1em;
- width: 10em
- }
+ .domain-mute-button {
+ align-self: flex-end;
+ margin-top: 1em;
+ width: 10em;
+ }
}
diff --git a/src/components/settings_modal/tabs/profile_tab.scss b/src/components/settings_modal/tabs/profile_tab.scss
index 201f1a76..73879192 100644
--- a/src/components/settings_modal/tabs/profile_tab.scss
+++ b/src/components/settings_modal/tabs/profile_tab.scss
@@ -1,4 +1,5 @@
-@import '../../../_variables.scss';
+@import "../../../variables";
+
.profile-tab {
.bio {
margin: 0;
@@ -8,7 +9,7 @@
padding-top: 5px;
}
- input[type=file] {
+ input[type="file"] {
padding: 5px;
height: auto;
}
@@ -52,7 +53,7 @@
right: 0.2em;
border-radius: $fallback--tooltipRadius;
border-radius: var(--tooltipRadius, $fallback--tooltipRadius);
- background-color: rgba(0, 0, 0, 0.6);
+ background-color: rgb(0 0 0 / 60%);
opacity: 0.7;
width: 1.5em;
height: 1.5em;
diff --git a/src/components/settings_modal/tabs/security_tab/mfa.vue b/src/components/settings_modal/tabs/security_tab/mfa.vue
index 455d17b6..ee5b6b13 100644
--- a/src/components/settings_modal/tabs/security_tab/mfa.vue
+++ b/src/components/settings_modal/tabs/security_tab/mfa.vue
@@ -137,9 +137,11 @@
<script src="./mfa.js"></script>
<style lang="scss">
-@import '../../../../_variables.scss';
+@import "../../../../variables";
+
.mfa-settings {
- .mfa-heading, .method-item {
+ .mfa-heading,
+ .method-item {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
@@ -155,18 +157,19 @@
display: flex;
justify-content: center;
flex-wrap: wrap;
+
.qr-code {
flex: 1;
padding-right: 10px;
}
.verify { flex: 1; }
- .error { margin: 4px 0 0 0; }
+ .error { margin: 4px 0 0; }
+
.confirm-otp-actions {
button {
width: 15em;
margin-top: 5px;
}
-
}
}
}
diff --git a/src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue b/src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue
index d7e98b3c..923161b2 100644
--- a/src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue
+++ b/src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue
@@ -21,13 +21,14 @@
</template>
<script src="./mfa_backup_codes.js"></script>
<style lang="scss">
-@import '../../../../_variables.scss';
+@import "../../../../variables";
.mfa-backup-codes {
.warning {
color: $fallback--cOrange;
color: var(--cOrange, $fallback--cOrange);
}
+
.backup-codes {
font-family: var(--postCodeFont, monospace);
}
diff --git a/src/components/settings_modal/tabs/theme_tab/preview.vue b/src/components/settings_modal/tabs/theme_tab/preview.vue
index ba6bd529..d755279a 100644
--- a/src/components/settings_modal/tabs/theme_tab/preview.vue
+++ b/src/components/settings_modal/tabs/theme_tab/preview.vue
@@ -33,10 +33,10 @@
scope="global"
keypath="settings.style.preview.text"
>
- <code style="font-family: var(--postCodeFont)">
+ <code style="font-family: var(--postCodeFont);">
{{ $t('settings.style.preview.mono') }}
</code>
- <a style="color: var(--link)">
+ <a style="color: var(--link);">
{{ $t('settings.style.preview.link') }}
</a>
</i18n-t>
@@ -44,25 +44,25 @@
<div class="icons">
<FAIcon
fixed-width
- style="color: var(--cBlue)"
+ style="color: var(--cBlue);"
class="fa-scale-110 fa-old-padding"
icon="reply"
/>
<FAIcon
fixed-width
- style="color: var(--cGreen)"
+ style="color: var(--cGreen);"
class="fa-scale-110 fa-old-padding"
icon="retweet"
/>
<FAIcon
fixed-width
- style="color: var(--cOrange)"
+ style="color: var(--cOrange);"
class="fa-scale-110 fa-old-padding"
icon="star"
/>
<FAIcon
fixed-width
- style="color: var(--cRed)"
+ style="color: var(--cRed);"
class="fa-scale-110 fa-old-padding"
icon="times"
/>
@@ -81,7 +81,7 @@
class="faint"
scope="global"
>
- <a style="color: var(--faintLink)">
+ <a style="color: var(--faintLink);">
{{ $t('settings.style.preview.faint_link') }}
</a>
</i18n-t>
@@ -138,6 +138,7 @@ export default {}
.preview-container {
position: relative;
}
+
.underlay-preview {
position: absolute;
top: 0;
diff --git a/src/components/settings_modal/tabs/theme_tab/theme_tab.scss b/src/components/settings_modal/tabs/theme_tab/theme_tab.scss
index bad6f51b..9935c2e7 100644
--- a/src/components/settings_modal/tabs/theme_tab/theme_tab.scss
+++ b/src/components/settings_modal/tabs/theme_tab/theme_tab.scss
@@ -1,20 +1,17 @@
-@import 'src/_variables.scss';
+@import "src/variables";
+
.theme-tab {
padding-bottom: 2em;
- .theme-warning {
- display: flex;
- align-items: baseline;
- margin-bottom: .5em;
- .buttons {
- .btn {
- margin-bottom: .5em;
- }
- }
- }
+
.preset-switcher {
margin-right: 1em;
}
+ .btn {
+ margin-left: 0.25em;
+ margin-right: 0.25em;
+ }
+
.style-control {
display: flex;
align-items: baseline;
@@ -24,35 +21,37 @@
flex: 1;
}
- &.disabled {
- input, select {
- opacity: .5
- }
- }
-
.opt {
- margin: .5em;
+ margin: 0.5em;
}
.color-input {
flex: 0 0 0;
}
- input, select {
+ input,
+ select {
min-width: 3em;
margin: 0;
flex: 0;
- &[type=number] {
+ &[type="number"] {
min-width: 5em;
}
- &[type=range] {
+ &[type="range"] {
flex: 1;
min-width: 3em;
align-self: flex-start;
}
}
+
+ &.disabled {
+ input,
+ select {
+ opacity: 0.5;
+ }
+ }
}
.reset-container {
@@ -63,8 +62,7 @@
.reset-container,
.apply-container,
.radius-container,
- .color-container,
- {
+ .color-container, {
display: flex;
}
@@ -73,10 +71,11 @@
flex-direction: column;
}
- .color-container{
+ .color-container {
> h4 {
width: 99%;
}
+
flex-wrap: wrap;
justify-content: space-between;
}
@@ -100,7 +99,7 @@
p {
flex: 1;
margin: 0;
- margin-right: .5em;
+ margin-right: 0.5em;
}
}
@@ -112,15 +111,16 @@
min-width: 1px;
flex: 0 auto;
padding: 0 1em;
- margin-bottom: .5em;
+ margin-bottom: 0.5em;
}
}
.shadow-selector {
.override {
flex: 1;
- margin-left: .5em;
+ margin-left: 0.5em;
}
+
.select-container {
margin-top: -4px;
margin-bottom: -3px;
@@ -136,7 +136,7 @@
.presets,
.import-export {
- margin-bottom: .5em;
+ margin-bottom: 0.5em;
}
.import-export {
@@ -144,16 +144,17 @@
}
.override {
- margin-left: .5em;
+ margin-left: 0.5em;
}
}
.save-load-options {
flex-wrap: wrap;
- margin-top: .5em;
+ margin-top: 0.5em;
justify-content: center;
+
.keep-option {
- margin: 0 .5em .5em;
+ margin: 0 0.5em 0.5em;
min-width: 25%;
}
}
@@ -179,11 +180,11 @@
flex: 1;
h4 {
- margin-bottom: .25em;
+ margin-bottom: 0.25em;
}
.icons {
- margin-top: .5em;
+ margin-top: 0.5em;
display: flex;
i {
@@ -199,8 +200,20 @@
align-items: center;
}
- .avatar, .avatar-alt{
- background: linear-gradient(135deg, #b8e1fc 0%,#a9d2f3 10%,#90bae4 25%,#90bcea 37%,#90bff0 50%,#6ba8e5 51%,#a2daf5 83%,#bdf3fd 100%);
+ .avatar,
+ .avatar-alt {
+ background:
+ linear-gradient(
+ 135deg,
+ #b8e1fc 0%,
+ #a9d2f3 10%,
+ #90bae4 25%,
+ #90bcea 37%,
+ #90bff0 50%,
+ #6ba8e5 51%,
+ #a2daf5 83%,
+ #bdf3fd 100%
+ );
color: black;
font-family: sans-serif;
text-align: center;
@@ -251,33 +264,33 @@
}
}
+ .radius-item {
+ flex-basis: auto;
+ }
+
.radius-item,
.color-item {
min-width: 20em;
margin: 5px 6px 0 0;
- display:flex;
+ display: flex;
flex-direction: column;
flex: 1 1 0;
&.wide {
- min-width: 60%
+ min-width: 60%;
}
&:not(.wide):nth-child(2n+1) {
margin-right: 7px;
-
}
- .color, .opacity {
- display:flex;
+ .color,
+ .opacity {
+ display: flex;
align-items: baseline;
}
}
- .radius-item {
- flex-basis: auto;
- }
-
.theme-radius-rn,
.theme-color-cl {
border: 0;
@@ -295,14 +308,11 @@
.theme-radius-in {
min-width: 1em;
- }
-
- .theme-radius-in {
max-width: 7em;
flex: 1;
}
- .theme-radius-lb{
+ .theme-radius-lb {
max-width: 50em;
}
@@ -310,9 +320,16 @@
padding: 20px;
}
- .btn {
- margin-left: .25em;
- margin-right: .25em;
+ .theme-warning {
+ display: flex;
+ align-items: baseline;
+ margin-bottom: 0.5em;
+
+ .buttons {
+ .btn {
+ margin-bottom: 0.5em;
+ }
+ }
}
}
@@ -323,6 +340,7 @@
justify-content: space-around;
flex-grow: 1;
+ /* stylelint-disable-next-line no-descending-specificity */
.btn {
flex-grow: 1;
min-height: 2em;