From aefd4551a3e09facfb0c879d2faf80a5124252f7 Mon Sep 17 00:00:00 2001 From: taehoon Date: Fri, 19 Apr 2019 00:32:54 -0400 Subject: Remove space in the timeline setting copy --- src/components/settings/settings.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/components/settings/settings.vue') diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 6ee103c7..fc5fdc44 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -42,9 +42,7 @@
  • - +
  • -- cgit v1.2.3-70-g09d2 From f7baa6e1901fd0c34c42724ea6a1be8460a4b936 Mon Sep 17 00:00:00 2001 From: taehoon Date: Thu, 18 Apr 2019 23:35:36 -0400 Subject: set max-width of textarea in settings page --- src/components/settings/settings.vue | 1 + 1 file changed, 1 insertion(+) (limited to 'src/components/settings/settings.vue') diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 6ee103c7..a2023a81 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -330,6 +330,7 @@ textarea { width: 100%; + max-width: 100%; height: 100px; } -- cgit v1.2.3-70-g09d2 From ae1496cfb4b0a432d9a30370df6825e0fc483eb8 Mon Sep 17 00:00:00 2001 From: eugenijm Date: Thu, 25 Apr 2019 19:32:21 +0300 Subject: Make floating post button configurable --- .../mobile_post_status_modal.js | 33 +++++++++++++++++++--- src/components/settings/settings.js | 4 +++ src/components/settings/settings.vue | 4 +++ src/i18n/en.json | 1 + src/i18n/ru.json | 1 + src/modules/config.js | 1 + 6 files changed, 40 insertions(+), 4 deletions(-) (limited to 'src/components/settings/settings.vue') diff --git a/src/components/mobile_post_status_modal/mobile_post_status_modal.js b/src/components/mobile_post_status_modal/mobile_post_status_modal.js index 2f24dd08..d9806ad9 100644 --- a/src/components/mobile_post_status_modal/mobile_post_status_modal.js +++ b/src/components/mobile_post_status_modal/mobile_post_status_modal.js @@ -1,5 +1,5 @@ import PostStatusForm from '../post_status_form/post_status_form.vue' -import { throttle } from 'lodash' +import { throttle, debounce } from 'lodash' const MobilePostStatusModal = { components: { @@ -16,11 +16,17 @@ const MobilePostStatusModal = { } }, created () { - window.addEventListener('scroll', this.handleScroll) + if (this.autohideFloatingPostButton) { + window.addEventListener('scroll', this.handleScroll) + window.addEventListener('scroll', this.handleScrollDown) + } window.addEventListener('resize', this.handleOSK) }, destroyed () { - window.removeEventListener('scroll', this.handleScroll) + if (this.autohideFloatingPostButton) { + window.removeEventListener('scroll', this.handleScroll) + window.removeEventListener('scroll', this.handleScrollDown) + } window.removeEventListener('resize', this.handleOSK) }, computed: { @@ -28,7 +34,21 @@ const MobilePostStatusModal = { return this.$store.state.users.currentUser }, isHidden () { - return this.hidden || this.inputActive + return this.autohideFloatingPostButton && (this.hidden || this.inputActive) + }, + autohideFloatingPostButton () { + return !!this.$store.state.config.autohideFloatingPostButton + } + }, + watch: { + autohideFloatingPostButton: function (isEnabled) { + if (isEnabled) { + window.addEventListener('scroll', this.handleScroll) + window.addEventListener('scroll', this.handleScrollDown) + } else { + window.removeEventListener('scroll', this.handleScroll) + window.removeEventListener('scroll', this.handleScrollDown) + } } }, methods: { @@ -84,6 +104,11 @@ const MobilePostStatusModal = { this.oldScrollPos = window.scrollY this.scrollingDown = scrollingDown + }, 100), + handleScrollDown: debounce(function () { + if (this.scrollingDown) { + this.hidden = false + } }, 100) } } diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index a85ab674..c4aa45b2 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -46,6 +46,7 @@ const settings = { streamingLocal: user.streaming, pauseOnUnfocusedLocal: user.pauseOnUnfocused, hoverPreviewLocal: user.hoverPreview, + autohideFloatingPostButtonLocal: user.autohideFloatingPostButton, hideMutedPostsLocal: typeof user.hideMutedPosts === 'undefined' ? instance.hideMutedPosts @@ -183,6 +184,9 @@ const settings = { hoverPreviewLocal (value) { this.$store.dispatch('setOption', { name: 'hoverPreview', value }) }, + autohideFloatingPostButtonLocal (value) { + this.$store.dispatch('setOption', { name: 'autohideFloatingPostButton', value }) + }, muteWordsString (value) { value = filter(value.split('\n'), (word) => trim(word).length > 0) this.$store.dispatch('setOption', { name: 'muteWords', value }) diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 6890220f..920e6e12 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -122,6 +122,10 @@ {{$t('settings.minimal_scopes_mode')}} {{$t('settings.instance_default', { value: minimalScopesModeDefault })}}
  • +
  • + + +
  • diff --git a/src/i18n/en.json b/src/i18n/en.json index 7dca05e3..d7d4821e 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -218,6 +218,7 @@ "reply_visibility_all": "Show all replies", "reply_visibility_following": "Only show replies directed at me or users I'm following", "reply_visibility_self": "Only show replies directed at me", + "autohide_floating_post_button": "Automatically hide New Post button (mobile)", "saving_err": "Error saving settings", "saving_ok": "Settings saved", "search_user_to_block": "Search whom you want to block", diff --git a/src/i18n/ru.json b/src/i18n/ru.json index 5450f154..e02aa1a8 100644 --- a/src/i18n/ru.json +++ b/src/i18n/ru.json @@ -152,6 +152,7 @@ "reply_visibility_all": "Показывать все ответы", "reply_visibility_following": "Показывать только ответы мне и тех на кого я подписан", "reply_visibility_self": "Показывать только ответы мне", + "autohide_floating_post_button": "Автоматически скрывать кнопку постинга (в мобильной версии)", "saving_err": "Не удалось сохранить настройки", "saving_ok": "Сохранено", "security_tab": "Безопасность", diff --git a/src/modules/config.js b/src/modules/config.js index 1666a2c5..fea0e3cf 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -17,6 +17,7 @@ const defaultState = { autoLoad: true, streaming: false, hoverPreview: true, + autohideFloatingPostButton: false, pauseOnUnfocused: true, stopGifs: false, replyVisibility: 'all', -- cgit v1.2.3-70-g09d2 From 15b3651a3070cffeadeca83255e2052f519d5db8 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 19 May 2019 20:42:44 +0300 Subject: moved setting styles into common to avoid bug with shared styles --- src/App.scss | 64 +++++++++++++++++++++++++++++++++ src/components/settings/settings.vue | 68 ------------------------------------ 2 files changed, 64 insertions(+), 68 deletions(-) (limited to 'src/components/settings/settings.vue') diff --git a/src/App.scss b/src/App.scss index 2729e0b0..59e911a3 100644 --- a/src/App.scss +++ b/src/App.scss @@ -740,6 +740,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; diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 920e6e12..4cf6fae2 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -303,71 +303,3 @@ - - -- cgit v1.2.3-70-g09d2 From e3638af031abbd091f504611270c4545b98926c5 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 16 Jun 2019 20:16:52 +0300 Subject: Removed formattingOptionsEnabled in favor of relying on BE-provided list of accepted formatting options --- BREAKING_CHANGES.md | 3 +++ src/boot/after_store.js | 1 - src/components/post_status_form/post_status_form.js | 3 --- src/components/post_status_form/post_status_form.vue | 15 ++++++++++++++- src/components/settings/settings.vue | 2 +- src/modules/instance.js | 1 - static/config.json | 1 - 7 files changed, 18 insertions(+), 8 deletions(-) (limited to 'src/components/settings/settings.vue') diff --git a/BREAKING_CHANGES.md b/BREAKING_CHANGES.md index 924c38da..505fec75 100644 --- a/BREAKING_CHANGES.md +++ b/BREAKING_CHANGES.md @@ -1,5 +1,8 @@ # v1.0 ## Removed features/radically changed behavior +### formattingOptionsEnabled +as of !xxx `formattingOptionsEnabled` is no longer available and instead FE check for available post formatting options and enables formatting control if there's more than one option. + ### minimalScopesMode As of !633, `scopeOptions` is no longer available and instead is changed for `minimalScopesMode` (default: `false`) diff --git a/src/boot/after_store.js b/src/boot/after_store.js index c271d413..7a1ae1f2 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -100,7 +100,6 @@ const setSettings = async ({ apiConfig, staticConfig, store }) => { copyInstanceOption('redirectRootLogin') copyInstanceOption('showInstanceSpecificPanel') copyInstanceOption('minimalScopesMode') - copyInstanceOption('formattingOptionsEnabled') copyInstanceOption('hideMutedPosts') copyInstanceOption('collapseMessageWithSubject') copyInstanceOption('scopeCopy') diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index cbd2024a..a2dbf736 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -174,9 +174,6 @@ const PostStatusForm = { return true } }, - formattingOptionsEnabled () { - return this.$store.state.instance.formattingOptionsEnabled - }, postFormats () { return this.$store.state.instance.postFormats || [] }, diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue index 25c5284f..08ecd576 100644 --- a/src/components/post_status_form/post_status_form.vue +++ b/src/components/post_status_form/post_status_form.vue @@ -58,7 +58,7 @@ >
    -
    +