From a463959a365a5d618a79c96a26f6506e700d6ea3 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 1 Oct 2020 01:43:07 +0300 Subject: Initial work on highlighting changed settings. Some refactoring to simplify addition of new settings --- .../settings_modal/helpers/boolean_setting.vue | 57 ++++++++++ .../helpers/shared_computed_object.js | 23 +--- .../settings_modal/tabs/filtering_tab.js | 4 +- .../settings_modal/tabs/filtering_tab.vue | 42 ++++---- src/components/settings_modal/tabs/general_tab.js | 4 +- src/components/settings_modal/tabs/general_tab.vue | 118 ++++++++++----------- src/modules/config.js | 24 +++-- 7 files changed, 161 insertions(+), 111 deletions(-) create mode 100644 src/components/settings_modal/helpers/boolean_setting.vue (limited to 'src') diff --git a/src/components/settings_modal/helpers/boolean_setting.vue b/src/components/settings_modal/helpers/boolean_setting.vue new file mode 100644 index 00000000..11b354ed --- /dev/null +++ b/src/components/settings_modal/helpers/boolean_setting.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/components/settings_modal/helpers/shared_computed_object.js b/src/components/settings_modal/helpers/shared_computed_object.js index 86703697..3cbcd288 100644 --- a/src/components/settings_modal/helpers/shared_computed_object.js +++ b/src/components/settings_modal/helpers/shared_computed_object.js @@ -1,29 +1,16 @@ -import { - instanceDefaultProperties, - multiChoiceProperties, - defaultState as configDefaultState -} from 'src/modules/config.js' +import { defaultState as configDefaultState } from 'src/modules/config.js' const SharedComputedObject = () => ({ user () { return this.$store.state.users.currentUser }, - // Getting localized values for instance-default properties - ...instanceDefaultProperties - .filter(key => multiChoiceProperties.includes(key)) + // Getting values for default properties + ...Object.keys(configDefaultState) .map(key => [ key + 'DefaultValue', function () { - return this.$store.getters.instanceDefaultConfig[key] - } - ]) - .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}), - ...instanceDefaultProperties - .filter(key => !multiChoiceProperties.includes(key)) - .map(key => [ - key + 'LocalizedValue', - function () { - return this.$t('settings.values.' + this.$store.getters.instanceDefaultConfig[key]) + console.log(this.$store.getters.defaultConfig) + return this.$store.getters.defaultConfig[key] } ]) .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}), diff --git a/src/components/settings_modal/tabs/filtering_tab.js b/src/components/settings_modal/tabs/filtering_tab.js index 3b2df556..04273211 100644 --- a/src/components/settings_modal/tabs/filtering_tab.js +++ b/src/components/settings_modal/tabs/filtering_tab.js @@ -1,5 +1,5 @@ import { filter, trim } from 'lodash' -import Checkbox from 'src/components/checkbox/checkbox.vue' +import BooleanSetting from '../helpers/boolean_setting.vue' import SharedComputedObject from '../helpers/shared_computed_object.js' @@ -10,7 +10,7 @@ const FilteringTab = { } }, components: { - Checkbox + BooleanSetting }, computed: { ...SharedComputedObject(), diff --git a/src/components/settings_modal/tabs/filtering_tab.vue b/src/components/settings_modal/tabs/filtering_tab.vue index eea41514..6c42718b 100644 --- a/src/components/settings_modal/tabs/filtering_tab.vue +++ b/src/components/settings_modal/tabs/filtering_tab.vue @@ -5,34 +5,34 @@ {{ $t('settings.notification_visibility') }} @@ -57,14 +57,14 @@
- - {{ $t('settings.hide_post_stats') }} {{ $t('settings.instance_default', { value: hidePostStatsLocalizedValue }) }} - + + {{ $t('settings.hide_post_stats') }} +
- - {{ $t('settings.hide_user_stats') }} {{ $t('settings.instance_default', { value: hideUserStatsLocalizedValue }) }} - + + {{ $t('settings.hide_user_stats') }} +
@@ -76,9 +76,9 @@ />
- - {{ $t('settings.hide_filtered_statuses') }} {{ $t('settings.instance_default', { value: hideFilteredStatusesLocalizedValue }) }} - + + {{ $t('settings.hide_filtered_statuses') }} +
diff --git a/src/components/settings_modal/tabs/general_tab.js b/src/components/settings_modal/tabs/general_tab.js index 0eb37e44..679ef684 100644 --- a/src/components/settings_modal/tabs/general_tab.js +++ b/src/components/settings_modal/tabs/general_tab.js @@ -1,4 +1,4 @@ -import Checkbox from 'src/components/checkbox/checkbox.vue' +import BooleanSetting from '../helpers/boolean_setting.vue' import InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue' import SharedComputedObject from '../helpers/shared_computed_object.js' @@ -16,7 +16,7 @@ const GeneralTab = { } }, components: { - Checkbox, + BooleanSetting, InterfaceLanguageSwitcher }, computed: { diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue index 7f06d0bd..e03e731b 100644 --- a/src/components/settings_modal/tabs/general_tab.vue +++ b/src/components/settings_modal/tabs/general_tab.vue @@ -7,9 +7,9 @@
  • - + {{ $t('settings.hide_isp') }} - +
  • @@ -17,46 +17,46 @@

    {{ $t('nav.timeline') }}

    @@ -65,14 +65,14 @@

    {{ $t('settings.composing') }}

    @@ -148,14 +148,14 @@

    {{ $t('settings.attachments') }}

    @@ -64,9 +64,9 @@
  • - + {{ $t('settings.virtual_scrolling') }} - +
  • diff --git a/src/modules/config.js b/src/modules/config.js index 444808cf..f992519e 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -80,7 +80,6 @@ const config = { getters: { defaultConfig (state, getters, rootState, rootGetters) { const { instance } = rootState - console.log('DC', instance.minimalScopesMode) return { ...defaultState, ...Object.fromEntries( @@ -90,7 +89,6 @@ const config = { }, mergedConfig (state, getters, rootState, rootGetters) { const { defaultConfig } = rootGetters - console.log('DC2', defaultConfig.hideISP) return { ...defaultConfig, ...state -- cgit v1.2.3-70-g09d2 From 982c799b6fde804018656212aea6128a6f0df928 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 1 Feb 2021 21:07:09 +0200 Subject: fix a bunch of diff --git a/src/components/mfa_form/recovery_form.vue b/src/components/mfa_form/recovery_form.vue index 0bf68e27..8457ec5d 100644 --- a/src/components/mfa_form/recovery_form.vue +++ b/src/components/mfa_form/recovery_form.vue @@ -26,6 +26,7 @@ @@ -33,6 +34,7 @@ diff --git a/src/components/mfa_form/totp_form.vue b/src/components/mfa_form/totp_form.vue index 79230148..5d80e185 100644 --- a/src/components/mfa_form/totp_form.vue +++ b/src/components/mfa_form/totp_form.vue @@ -28,6 +28,7 @@ @@ -35,6 +36,7 @@ diff --git a/src/components/scope_selector/scope_selector.vue b/src/components/scope_selector/scope_selector.vue index 66ac612e..60e8c3ba 100644 --- a/src/components/scope_selector/scope_selector.vue +++ b/src/components/scope_selector/scope_selector.vue @@ -9,6 +9,7 @@ :class="css.direct" :title="$t('post_status.scope.direct')" @click="changeVis('direct')" + type="button" > diff --git a/src/components/search_bar/search_bar.vue b/src/components/search_bar/search_bar.vue index 6cf9179e..a7432dcb 100644 --- a/src/components/search_bar/search_bar.vue +++ b/src/components/search_bar/search_bar.vue @@ -8,6 +8,7 @@ class="button-unstyled nav-icon" :title="$t('nav.search')" @click.prevent.stop="toggleHidden" + type="button" > + class={classesTab.join(' ')} + type="button" + > {slot.data.attrs.label ? '' : slot.data.attrs.label} -- cgit v1.2.3-70-g09d2 From 78f8147aa610af9ae79886ad7805f9b905976758 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 1 Feb 2021 21:07:40 +0200 Subject: change react button classnames for consistency --- src/components/react_button/react_button.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/components/react_button/react_button.vue b/src/components/react_button/react_button.vue index ac940b98..99523407 100644 --- a/src/components/react_button/react_button.vue +++ b/src/components/react_button/react_button.vue @@ -1,6 +1,7 @@ + + + + diff --git a/src/i18n/en.json b/src/i18n/en.json index 0e069785..ec16f044 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -325,6 +325,7 @@ "export_theme": "Save preset", "filtering": "Filtering", "filtering_explanation": "All statuses containing these words will be muted, one per line", + "word_filter": "Word filter", "follow_export": "Follow export", "follow_export_button": "Export your follows to a csv file", "follow_import": "Follow import", @@ -335,7 +336,9 @@ "general": "General", "hide_attachments_in_convo": "Hide attachments in conversations", "hide_attachments_in_tl": "Hide attachments in timeline", + "hide_media_previews": "Hide media previews", "hide_muted_posts": "Hide posts of muted users", + "hide_all_muted_posts": "Hide muted posts", "max_thumbnails": "Maximum amount of thumbnails per post", "hide_isp": "Hide instance-specific panel", "hide_wallpaper": "Hide instance wallpaper", @@ -405,6 +408,8 @@ "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", + "reply_visibility_following_short": "Show replies to my follows", + "reply_visibility_self_short": "Show replies to self", "autohide_floating_post_button": "Automatically hide New Post button (mobile)", "saving_err": "Error saving settings", "saving_ok": "Settings saved", @@ -458,6 +463,7 @@ "notification_mutes": "To stop receiving notifications from a specific user, use a mute.", "notification_blocks": "Blocking a user stops all notifications as well as unsubscribes them.", "enable_web_push_notifications": "Enable web push notifications", + "more_settings": "More settings", "style": { "switcher": { "keep_color": "Keep colors", -- cgit v1.2.3-70-g09d2 From 93785634a72420338911d8a8a7fc7eef3eb478e4 Mon Sep 17 00:00:00 2001 From: Shpuld Shpuldson Date: Thu, 25 Feb 2021 11:01:11 +0200 Subject: basic loggedin check for reply filtering --- src/components/timeline/timeline_quick_settings.js | 3 + .../timeline/timeline_quick_settings.vue | 64 +++++++++++----------- 2 files changed, 36 insertions(+), 31 deletions(-) (limited to 'src') diff --git a/src/components/timeline/timeline_quick_settings.js b/src/components/timeline/timeline_quick_settings.js index eb1eb8fb..ecac06e9 100644 --- a/src/components/timeline/timeline_quick_settings.js +++ b/src/components/timeline/timeline_quick_settings.js @@ -26,6 +26,9 @@ const TimelineQuickSettings = { }, computed: { ...mapGetters(['mergedConfig']), + loggedIn () { + return !!this.$store.state.users.currentUser + }, replyVisibilitySelf: { get () { return this.mergedConfig.replyVisibility === 'self' }, set () { this.setReplyVisibility('self') } diff --git a/src/components/timeline/timeline_quick_settings.vue b/src/components/timeline/timeline_quick_settings.vue index 51edff71..67f6be53 100644 --- a/src/components/timeline/timeline_quick_settings.vue +++ b/src/components/timeline/timeline_quick_settings.vue @@ -8,37 +8,39 @@ slot="content" class="timeline-settings-menu dropdown-menu" > - - - -