From 74b167f8dbdc480229d933f7b5ca598f845d5ff2 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 19 Jan 2025 14:36:55 +0200 Subject: [PATCH 1/2] fix+improvements to input visibility --- src/App.scss | 69 ++++++++++--------- src/components/input.style.js | 2 +- .../quick_view_settings.vue | 2 +- 3 files changed, 38 insertions(+), 35 deletions(-) diff --git a/src/App.scss b/src/App.scss index 1b781304e..c0f2e3fec 100644 --- a/src/App.scss +++ b/src/App.scss @@ -408,32 +408,11 @@ nav { } } -.menu-item, .list-item { - display: block; - box-sizing: border-box; - border: none; - outline: none; - text-align: initial; - color: inherit; - clear: both; - position: relative; - white-space: nowrap; border-color: var(--border); border-style: solid; border-width: 0; border-top-width: 1px; - width: 100%; - padding: var(--__vertical-gap) var(--__horizontal-gap); - background: transparent; - - --__line-height: 1.5em; - --__horizontal-gap: 0.75em; - --__vertical-gap: 0.5em; - - &.-non-interactive { - cursor: auto; - } &.-active, &:hover { @@ -455,18 +434,6 @@ nav { border-bottom-width: 1px; } - a, - button:not(.button-default) { - text-align: initial; - padding: 0; - background: none; - border: none; - outline: none; - display: inline; - font-family: inherit; - line-height: unset; - } - &:first-child { border-top-right-radius: var(--roundness); border-top-left-radius: var(--roundness); @@ -480,6 +447,42 @@ nav { } } +.menu-item, +.list-item { + display: block; + box-sizing: border-box; + border: none; + outline: none; + text-align: initial; + color: inherit; + clear: both; + position: relative; + white-space: nowrap; + width: 100%; + padding: var(--__vertical-gap) var(--__horizontal-gap); + background: transparent; + + --__line-height: 1.5em; + --__horizontal-gap: 0.75em; + --__vertical-gap: 0.5em; + + &.-non-interactive { + cursor: auto; + } + + a, + button:not(.button-default) { + text-align: initial; + padding: 0; + background: none; + border: none; + outline: none; + display: inline; + font-family: inherit; + line-height: unset; + } +} + .button-unstyled { border: none; outline: none; diff --git a/src/components/input.style.js b/src/components/input.style.js index 30715ec1d..160b2f33d 100644 --- a/src/components/input.style.js +++ b/src/components/input.style.js @@ -18,7 +18,7 @@ export default { { component: 'Root', directives: { - '--defaultInputBevel': 'shadow | $borderSide(#FFFFFF bottom 0.2), $borderSide(#000000 top 0.2), inset 0 0 2 #000000 / 0.15', + '--defaultInputBevel': 'shadow | $borderSide(#FFFFFF bottom 0.2), $borderSide(#000000 top 0.2), inset 0 0 2 #000000 / 0.15, 1 0 1 1 --text / 0.15, -1 0 1 1 --text / 0.15', '--defaultInputHoverGlow': 'shadow | 0 0 4 --text / 0.5', '--defaultInputFocusGlow': 'shadow | 0 0 4 4 --link / 0.5' } diff --git a/src/components/quick_view_settings/quick_view_settings.vue b/src/components/quick_view_settings/quick_view_settings.vue index 5d50818b7..bb7e63d40 100644 --- a/src/components/quick_view_settings/quick_view_settings.vue +++ b/src/components/quick_view_settings/quick_view_settings.vue @@ -60,7 +60,7 @@ @click="showUserAvatars = !showUserAvatars" > {{ $t('settings.mention_link_show_avatar_quick') }} From 4f108057a2e6372d75f2d0a530340517ce5c15b7 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 19 Jan 2025 17:22:42 +0200 Subject: [PATCH 2/2] move quick filter into quick view on mobile to save space --- src/components/conversation/conversation.js | 1 + src/components/conversation/conversation.vue | 2 +- .../quick_filter_settings.js | 24 +++++++++++++++++-- .../quick_filter_settings.vue | 19 ++++++++++++--- .../quick_view_settings.js | 11 ++++++--- .../quick_view_settings.vue | 13 +++++++++- src/components/timeline/timeline.vue | 1 + src/i18n/en.json | 3 ++- 8 files changed, 63 insertions(+), 11 deletions(-) diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js index a94d2130d..6f6f2cac2 100644 --- a/src/components/conversation/conversation.js +++ b/src/components/conversation/conversation.js @@ -350,6 +350,7 @@ const conversation = { }, ...mapGetters(['mergedConfig']), ...mapState({ + mobileLayout: state => state.interface.layoutType === 'mobile', mastoUserSocketStatus: state => state.api.mastoUserSocketStatus }) }, diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue index 52d578b1e..51c016323 100644 --- a/src/components/conversation/conversation.vue +++ b/src/components/conversation/conversation.vue @@ -20,7 +20,7 @@ {{ $t('timeline.collapse') }} diff --git a/src/components/quick_filter_settings/quick_filter_settings.js b/src/components/quick_filter_settings/quick_filter_settings.js index 0d667df5c..08565c943 100644 --- a/src/components/quick_filter_settings/quick_filter_settings.js +++ b/src/components/quick_filter_settings/quick_filter_settings.js @@ -1,5 +1,5 @@ import Popover from '../popover/popover.vue' -import { mapGetters } from 'vuex' +import { mapGetters, mapState } from 'vuex' import { library } from '@fortawesome/fontawesome-svg-core' import { faFilter, faFont, faWrench } from '@fortawesome/free-solid-svg-icons' @@ -11,7 +11,8 @@ library.add( const QuickFilterSettings = { props: { - conversation: Boolean + conversation: Boolean, + nested: Boolean }, components: { Popover @@ -27,6 +28,25 @@ const QuickFilterSettings = { }, computed: { ...mapGetters(['mergedConfig']), + ...mapState({ + mobileLayout: state => state.interface.layoutType === 'mobile' + }), + triggerAttrs () { + if (this.mobileLayout) { + return {} + } else { + return { + title: this.$t('timeline.quick_filter_settings') + } + } + }, + mainClass () { + if (this.mobileLayout) { + return 'main-button' + } else { + return 'dropdown-item' + } + }, loggedIn () { return !!this.$store.state.users.currentUser }, diff --git a/src/components/quick_filter_settings/quick_filter_settings.vue b/src/components/quick_filter_settings/quick_filter_settings.vue index 3a6ea0bf3..0929fd6b5 100644 --- a/src/components/quick_filter_settings/quick_filter_settings.vue +++ b/src/components/quick_filter_settings/quick_filter_settings.vue @@ -1,9 +1,10 @@ diff --git a/src/components/quick_view_settings/quick_view_settings.js b/src/components/quick_view_settings/quick_view_settings.js index e35fd579d..48e04e5b4 100644 --- a/src/components/quick_view_settings/quick_view_settings.js +++ b/src/components/quick_view_settings/quick_view_settings.js @@ -1,5 +1,6 @@ -import Popover from '../popover/popover.vue' -import { mapGetters } from 'vuex' +import Popover from 'src/components/popover/popover.vue' +import QuickFilterSettings from 'src/components/quick_filter_settings/quick_filter_settings.vue' +import { mapGetters, mapState } from 'vuex' import { library } from '@fortawesome/fontawesome-svg-core' import { faList, faFolderTree, faBars, faWrench } from '@fortawesome/free-solid-svg-icons' @@ -15,7 +16,8 @@ const QuickViewSettings = { conversation: Boolean }, components: { - Popover + Popover, + QuickFilterSettings }, methods: { setConversationDisplay (visibility) { @@ -27,6 +29,9 @@ const QuickViewSettings = { }, computed: { ...mapGetters(['mergedConfig']), + ...mapState({ + mobileLayout: state => state.interface.layoutType === 'mobile' + }), loggedIn () { return !!this.$store.state.users.currentUser }, diff --git a/src/components/quick_view_settings/quick_view_settings.vue b/src/components/quick_view_settings/quick_view_settings.vue index bb7e63d40..342354bd0 100644 --- a/src/components/quick_view_settings/quick_view_settings.vue +++ b/src/components/quick_view_settings/quick_view_settings.vue @@ -3,13 +3,24 @@ trigger="click" class="QuickViewSettings" :bound-to="{ x: 'container' }" - :trigger-attrs="{ title: $t('timeline.quick_view_settings') }" + :trigger-attrs="triggerAttrs" >