aboutsummaryrefslogtreecommitdiff
path: root/src/components/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/settings')
-rw-r--r--src/components/settings/settings.js47
-rw-r--r--src/components/settings/settings.vue28
2 files changed, 55 insertions, 20 deletions
diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js
index 1dd53ab2..fe8a2d9e 100644
--- a/src/components/settings/settings.js
+++ b/src/components/settings/settings.js
@@ -6,23 +6,35 @@ import { filter, trim } from 'lodash'
const settings = {
data () {
+ const user = this.$store.state.config
+ const instance = this.$store.state.instance
+
return {
- hideAttachmentsLocal: this.$store.state.config.hideAttachments,
- hideAttachmentsInConvLocal: this.$store.state.config.hideAttachmentsInConv,
- hideNsfwLocal: this.$store.state.config.hideNsfw,
- hidePostStatsLocal: this.$store.state.config.hidePostStats,
- hideUserStatsLocal: this.$store.state.config.hideUserStats,
- notificationVisibilityLocal: this.$store.state.config.notificationVisibility,
- replyVisibilityLocal: this.$store.state.config.replyVisibility,
- loopVideoLocal: this.$store.state.config.loopVideo,
- loopVideoSilentOnlyLocal: this.$store.state.config.loopVideoSilentOnly,
- muteWordsString: this.$store.state.config.muteWords.join('\n'),
- autoLoadLocal: this.$store.state.config.autoLoad,
- streamingLocal: this.$store.state.config.streaming,
- pauseOnUnfocusedLocal: this.$store.state.config.pauseOnUnfocused,
- hoverPreviewLocal: this.$store.state.config.hoverPreview,
- collapseMessageWithSubjectLocal: this.$store.state.config.collapseMessageWithSubject,
- stopGifs: this.$store.state.config.stopGifs,
+ hideAttachmentsLocal: user.hideAttachments,
+ hideAttachmentsInConvLocal: user.hideAttachmentsInConv,
+ hideNsfwLocal: user.hideNsfw,
+ hidePostStatsLocal: typeof user.hidePostStats === 'undefined'
+ ? instance.hidePostStats
+ : user.hidePostStats,
+ hidePostStatsDefault : this.$t('settings.values.' + instance.hidePostStats),
+ hideUserStatsLocal: typeof user.hideUserStats === 'undefined'
+ ? instance.hideUserStats
+ : user.hideUserStats,
+ hideUserStatsDefault : this.$t('settings.values.' + instance.hideUserStats),
+ notificationVisibilityLocal: user.notificationVisibility,
+ replyVisibilityLocal: user.replyVisibility,
+ loopVideoLocal: user.loopVideo,
+ loopVideoSilentOnlyLocal: user.loopVideoSilentOnly,
+ muteWordsString: user.muteWords.join('\n'),
+ autoLoadLocal: user.autoLoad,
+ streamingLocal: user.streaming,
+ pauseOnUnfocusedLocal: user.pauseOnUnfocused,
+ hoverPreviewLocal: user.hoverPreview,
+ collapseMessageWithSubjectLocal: typeof user.collapseMessageWithSubject === 'undefined'
+ ? instance.collapseMessageWithSubject
+ : user.collapseMessageWithSubject,
+ collapseMessageWithSubjectDefault: this.$t('settings.values.' + instance.collapseMessageWithSubject),
+ stopGifs: user.stopGifs,
loopSilentAvailable:
// Firefox
Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'mozHasAudio') ||
@@ -40,6 +52,9 @@ const settings = {
computed: {
user () {
return this.$store.state.users.currentUser
+ },
+ currentSaveStateNotice () {
+ return this.$store.state.interface.settings.currentSaveStateNotice
}
},
watch: {
diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue
index 18e8e244..652bdcc1 100644
--- a/src/components/settings/settings.vue
+++ b/src/components/settings/settings.vue
@@ -1,7 +1,21 @@
<template>
<div class="settings panel panel-default">
<div class="panel-heading">
- {{$t('settings.settings')}}
+ <div class="title">
+ {{$t('settings.settings')}}
+ </div>
+
+ <transition name="fade">
+ <template v-if="currentSaveStateNotice">
+ <div @click.prevent class="alert error" v-if="currentSaveStateNotice.error">
+ {{ $t('settings.saving_err') }}
+ </div>
+
+ <div @click.prevent class="alert transparent" v-if="!currentSaveStateNotice.error">
+ {{ $t('settings.saving_ok') }}
+ </div>
+ </template>
+ </transition>
</div>
<div class="panel-body">
<tab-switcher>
@@ -15,7 +29,9 @@
<ul class="setting-list">
<li>
<input type="checkbox" id="collapseMessageWithSubject" v-model="collapseMessageWithSubjectLocal">
- <label for="collapseMessageWithSubject">{{$t('settings.collapse_subject')}}</label>
+ <label for="collapseMessageWithSubject">
+ {{$t('settings.collapse_subject')}} {{$t('settings.instance_default', { value: collapseMessageWithSubjectDefault })}}
+ </label>
</li>
<li>
<input type="checkbox" id="streaming" v-model="streamingLocal">
@@ -124,11 +140,15 @@
</div>
<div>
<input type="checkbox" id="hidePostStats" v-model="hidePostStatsLocal">
- <label for="hidePostStats">{{$t('settings.hide_post_stats')}}</label>
+ <label for="hidePostStats">
+ {{$t('settings.hide_post_stats')}} {{$t('settings.instance_default', { value: hidePostStatsDefault })}}
+ </label>
</div>
<div>
<input type="checkbox" id="hideUserStats" v-model="hideUserStatsLocal">
- <label for="hideUserStats">{{$t('settings.hide_user_stats')}}</label>
+ <label for="hideUserStats">
+ {{$t('settings.hide_user_stats')}} {{$t('settings.instance_default', { value: hideUserStatsDefault })}}
+ </label>
</div>
</div>
<div class="setting-item">