pass 2
This commit is contained in:
parent
6124d9c04c
commit
2e53707324
20 changed files with 115 additions and 99 deletions
|
|
@ -74,7 +74,7 @@ export default {
|
||||||
created() {
|
created() {
|
||||||
// Load the locale from the storage
|
// Load the locale from the storage
|
||||||
const val = useSyncConfigStore().mergedConfig.interfaceLanguage
|
const val = useSyncConfigStore().mergedConfig.interfaceLanguage
|
||||||
useSyncConfigStore().setPreference({ path: 'simple.interfaceLanguage', value: val })
|
useSyncConfigStore().setSimplePrefAndSave({ path: 'interfaceLanguage', value: val })
|
||||||
document.getElementById('modal').classList = ['-' + this.layoutType]
|
document.getElementById('modal').classList = ['-' + this.layoutType]
|
||||||
|
|
||||||
// Create bound handlers
|
// Create bound handlers
|
||||||
|
|
|
||||||
|
|
@ -61,8 +61,8 @@ const ExtraNotifications = {
|
||||||
return useInterfaceStore().openSettingsModalTab('notifications')
|
return useInterfaceStore().openSettingsModalTab('notifications')
|
||||||
},
|
},
|
||||||
dismissConfigurationTip() {
|
dismissConfigurationTip() {
|
||||||
return useSyncConfigStore().setPreference({
|
return useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.showExtraNotificationsTip',
|
path: 'showExtraNotificationsTip',
|
||||||
value: false,
|
value: false,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -84,8 +84,8 @@ const NavPanel = {
|
||||||
this.editMode = !this.editMode
|
this.editMode = !this.editMode
|
||||||
},
|
},
|
||||||
toggleCollapse() {
|
toggleCollapse() {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.collapseNav',
|
path: 'collapseNav',
|
||||||
value: !this.collapsed,
|
value: !this.collapsed,
|
||||||
})
|
})
|
||||||
useSyncConfigStore().pushSyncConfig()
|
useSyncConfigStore().pushSyncConfig()
|
||||||
|
|
|
||||||
|
|
@ -124,8 +124,8 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
toggleNotificationFilter(type) {
|
toggleNotificationFilter(type) {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.notificationVisibility',
|
path: 'notificationVisibility',
|
||||||
value: {
|
value: {
|
||||||
...this.filters,
|
...this.filters,
|
||||||
[type]: !this.filters[type],
|
[type]: !this.filters[type],
|
||||||
|
|
|
||||||
|
|
@ -819,8 +819,8 @@ const PostStatusForm = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
dismissScopeNotice() {
|
dismissScopeNotice() {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.hideScopeNotice',
|
path: 'hideScopeNotice',
|
||||||
value: true,
|
value: true,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ const QuickFilterSettings = {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
setReplyVisibility(visibility) {
|
setReplyVisibility(visibility) {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.replyVisibility',
|
path: 'replyVisibility',
|
||||||
value: visibility,
|
value: visibility,
|
||||||
})
|
})
|
||||||
this.$store.dispatch('queueFlushAll')
|
this.$store.dispatch('queueFlushAll')
|
||||||
|
|
@ -87,9 +87,9 @@ const QuickFilterSettings = {
|
||||||
},
|
},
|
||||||
set() {
|
set() {
|
||||||
const value = !this.hideMedia
|
const value = !this.hideMedia
|
||||||
useSyncConfigStore().setPreference({ path: 'simple.hideAttachments', value })
|
useSyncConfigStore().setSimplePrefAndSave({ path: 'hideAttachments', value })
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.hideAttachmentsInConv',
|
path: 'hideAttachmentsInConv',
|
||||||
value,
|
value,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -100,8 +100,8 @@ const QuickFilterSettings = {
|
||||||
},
|
},
|
||||||
set() {
|
set() {
|
||||||
const value = !this.hideMutedPosts
|
const value = !this.hideMutedPosts
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.hideFilteredStatuses',
|
path: 'hideFilteredStatuses',
|
||||||
value,
|
value,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -112,7 +112,7 @@ const QuickFilterSettings = {
|
||||||
},
|
},
|
||||||
set() {
|
set() {
|
||||||
const value = !this.muteBotStatuses
|
const value = !this.muteBotStatuses
|
||||||
useSyncConfigStore().setPreference({ path: 'simple.muteBotStatuses', value })
|
useSyncConfigStore().setSimplePrefAndSave({ path: 'muteBotStatuses', value })
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
muteSensitiveStatuses: {
|
muteSensitiveStatuses: {
|
||||||
|
|
@ -121,8 +121,8 @@ const QuickFilterSettings = {
|
||||||
},
|
},
|
||||||
set() {
|
set() {
|
||||||
const value = !this.muteSensitiveStatuses
|
const value = !this.muteSensitiveStatuses
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.muteSensitiveStatuses',
|
path: 'muteSensitiveStatuses',
|
||||||
value,
|
value,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -42,8 +42,8 @@ const QuickViewSettings = {
|
||||||
return this.mergedConfig.conversationDisplay
|
return this.mergedConfig.conversationDisplay
|
||||||
},
|
},
|
||||||
set(value) {
|
set(value) {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.conversationDisplay',
|
path: 'conversationDisplay',
|
||||||
value,
|
value,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -54,7 +54,7 @@ const QuickViewSettings = {
|
||||||
},
|
},
|
||||||
set() {
|
set() {
|
||||||
const value = !this.autoUpdate
|
const value = !this.autoUpdate
|
||||||
useSyncConfigStore().setPreference({ path: 'simple.streaming', value })
|
useSyncConfigStore().setSimplePrefAndSave({ path: 'streaming', value })
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
collapseWithSubjects: {
|
collapseWithSubjects: {
|
||||||
|
|
@ -63,8 +63,8 @@ const QuickViewSettings = {
|
||||||
},
|
},
|
||||||
set() {
|
set() {
|
||||||
const value = !this.collapseWithSubjects
|
const value = !this.collapseWithSubjects
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.collapseMessageWithSubject',
|
path: 'collapseMessageWithSubject',
|
||||||
value,
|
value,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -75,8 +75,8 @@ const QuickViewSettings = {
|
||||||
},
|
},
|
||||||
set() {
|
set() {
|
||||||
const value = !this.showUserAvatars
|
const value = !this.showUserAvatars
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.mentionLinkShowAvatar',
|
path: 'mentionLinkShowAvatar',
|
||||||
value,
|
value,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -87,8 +87,8 @@ const QuickViewSettings = {
|
||||||
},
|
},
|
||||||
set() {
|
set() {
|
||||||
const value = !this.muteBotStatuses
|
const value = !this.muteBotStatuses
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.muteBotStatuses',
|
path: 'muteBotStatuses',
|
||||||
value,
|
value,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -99,8 +99,8 @@ const QuickViewSettings = {
|
||||||
},
|
},
|
||||||
set() {
|
set() {
|
||||||
const value = !this.muteSensitiveStatuses
|
const value = !this.muteSensitiveStatuses
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.muteSensitiveStatuses',
|
path: 'muteSensitiveStatuses',
|
||||||
value,
|
value,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -259,7 +259,7 @@ export default {
|
||||||
const writePath = `simple.${readPath}`
|
const writePath = `simple.${readPath}`
|
||||||
|
|
||||||
if (!this.timedApplyMode) {
|
if (!this.timedApplyMode) {
|
||||||
useSyncConfigStore().setPreference({ path: writePath, value })
|
useSyncConfigStore().setSimplePrefAndSave({ path: writePath, value })
|
||||||
useSyncConfigStore().pushSyncConfig()
|
useSyncConfigStore().pushSyncConfig()
|
||||||
} else {
|
} else {
|
||||||
if (useInterfaceStore().temporaryChangesTimeoutId !== null) {
|
if (useInterfaceStore().temporaryChangesTimeoutId !== null) {
|
||||||
|
|
|
||||||
|
|
@ -195,8 +195,8 @@ const SettingsModal = {
|
||||||
return useSyncConfigStore().mergedConfig.expertLevel > 0
|
return useSyncConfigStore().mergedConfig.expertLevel > 0
|
||||||
},
|
},
|
||||||
set(value) {
|
set(value) {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.expertLevel',
|
path: 'expertLevel',
|
||||||
value: value ? 1 : 0,
|
value: value ? 1 : 0,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -52,8 +52,8 @@ const ClutterTab = {
|
||||||
if (value !== 'ask' && value !== 'forever') {
|
if (value !== 'ask' && value !== 'forever') {
|
||||||
realValue = '14d'
|
realValue = '14d'
|
||||||
}
|
}
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.onMuteDefaultAction',
|
path: 'onMuteDefaultAction',
|
||||||
value: realValue,
|
value: realValue,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -72,8 +72,8 @@ const ClutterTab = {
|
||||||
if (value !== 'ask' && value !== 'forever') {
|
if (value !== 'ask' && value !== 'forever') {
|
||||||
realValue = '14d'
|
realValue = '14d'
|
||||||
}
|
}
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.onBlockDefaultAction',
|
path: 'onBlockDefaultAction',
|
||||||
value: realValue,
|
value: realValue,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -90,8 +90,8 @@ const ClutterTab = {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(useSyncConfigStore, [
|
...mapActions(useSyncConfigStore, [
|
||||||
'setPreference',
|
'setSimplePrefAndSave',
|
||||||
'unsetPreference',
|
'unsetSimplePrefAndSave',
|
||||||
'pushSyncConfig',
|
'pushSyncConfig',
|
||||||
]),
|
]),
|
||||||
getDatetimeLocal(timestamp) {
|
getDatetimeLocal(timestamp) {
|
||||||
|
|
@ -138,7 +138,7 @@ const ClutterTab = {
|
||||||
|
|
||||||
filter.order = this.muteFilters.length + 2
|
filter.order = this.muteFilters.length + 2
|
||||||
this.muteFiltersDraftObject[newId] = filter
|
this.muteFiltersDraftObject[newId] = filter
|
||||||
this.setPreference({ path: 'simple.muteFilters.' + newId, value: filter })
|
this.setSimplePrefAndSave({ path: 'muteFilters.' + newId, value: filter })
|
||||||
this.pushSyncConfig()
|
this.pushSyncConfig()
|
||||||
},
|
},
|
||||||
exportFilter(id) {
|
exportFilter(id) {
|
||||||
|
|
@ -154,18 +154,18 @@ const ClutterTab = {
|
||||||
const newId = uuidv4()
|
const newId = uuidv4()
|
||||||
|
|
||||||
this.muteFiltersDraftObject[newId] = filter
|
this.muteFiltersDraftObject[newId] = filter
|
||||||
this.setPreference({ path: 'simple.muteFilters.' + newId, value: filter })
|
this.setSimplePrefAndSave({ path: 'muteFilters.' + newId, value: filter })
|
||||||
this.pushSyncConfig()
|
this.pushSyncConfig()
|
||||||
},
|
},
|
||||||
deleteFilter(id) {
|
deleteFilter(id) {
|
||||||
delete this.muteFiltersDraftObject[id]
|
delete this.muteFiltersDraftObject[id]
|
||||||
this.unsetPreference({ path: 'simple.muteFilters.' + id, value: null })
|
this.unsetSimplePrefAndSave({ path: 'muteFilters.' + id, value: null })
|
||||||
this.pushSyncConfig()
|
this.pushSyncConfig()
|
||||||
},
|
},
|
||||||
purgeExpiredFilters() {
|
purgeExpiredFilters() {
|
||||||
this.muteFiltersExpired.forEach(([id]) => {
|
this.muteFiltersExpired.forEach(([id]) => {
|
||||||
delete this.muteFiltersDraftObject[id]
|
delete this.muteFiltersDraftObject[id]
|
||||||
this.unsetPreference({ path: 'simple.muteFilters.' + id, value: null })
|
this.unsetSimplePrefAndSave({ path: 'muteFilters.' + id, value: null })
|
||||||
})
|
})
|
||||||
this.pushSyncConfig()
|
this.pushSyncConfig()
|
||||||
},
|
},
|
||||||
|
|
@ -189,8 +189,8 @@ const ClutterTab = {
|
||||||
this.muteFiltersDraftDirty[id] = true
|
this.muteFiltersDraftDirty[id] = true
|
||||||
},
|
},
|
||||||
saveFilter(id) {
|
saveFilter(id) {
|
||||||
this.setPreference({
|
this.setSimplePrefAndSave({
|
||||||
path: 'simple.muteFilters.' + id,
|
path: 'muteFilters.' + id,
|
||||||
value: this.muteFiltersDraftObject[id],
|
value: this.muteFiltersDraftObject[id],
|
||||||
})
|
})
|
||||||
this.pushSyncConfig()
|
this.pushSyncConfig()
|
||||||
|
|
|
||||||
|
|
@ -120,8 +120,8 @@ const ComposingTab = {
|
||||||
return useSyncConfigStore().mergedConfig.interfaceLanguage
|
return useSyncConfigStore().mergedConfig.interfaceLanguage
|
||||||
},
|
},
|
||||||
set: function (val) {
|
set: function (val) {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.interfaceLanguage',
|
path: 'interfaceLanguage',
|
||||||
value: val,
|
value: val,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -172,8 +172,8 @@ const ComposingTab = {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
updateFont(key, value) {
|
updateFont(key, value) {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.theme3hacks',
|
path: 'theme3hacks',
|
||||||
value: {
|
value: {
|
||||||
...this.mergedConfig.theme3hacks,
|
...this.mergedConfig.theme3hacks,
|
||||||
fonts: {
|
fonts: {
|
||||||
|
|
|
||||||
|
|
@ -36,11 +36,11 @@ const FilteringTab = {
|
||||||
label: this.$t(`user_card.mute_block_${mode}`),
|
label: this.$t(`user_card.mute_block_${mode}`),
|
||||||
})),
|
})),
|
||||||
muteFiltersDraftObject: cloneDeep(
|
muteFiltersDraftObject: cloneDeep(
|
||||||
useSyncConfigStore().prefsStorage.simple.muteFilters,
|
this.prefsStorage.simple.muteFilters,
|
||||||
),
|
),
|
||||||
muteFiltersDraftDirty: Object.fromEntries(
|
muteFiltersDraftDirty: Object.fromEntries(
|
||||||
Object.entries(
|
Object.entries(
|
||||||
useSyncConfigStore().prefsStorage.simple.muteFilters,
|
this.prefsStorage.simple.muteFilters,
|
||||||
).map(([k]) => [k, false]),
|
).map(([k]) => [k, false]),
|
||||||
),
|
),
|
||||||
exportedFilter: null,
|
exportedFilter: null,
|
||||||
|
|
@ -112,7 +112,7 @@ const FilteringTab = {
|
||||||
if (value !== 'ask' && value !== 'forever') {
|
if (value !== 'ask' && value !== 'forever') {
|
||||||
realValue = '14d'
|
realValue = '14d'
|
||||||
}
|
}
|
||||||
useSyncConfigStore().setPreference({
|
this.setPreference({
|
||||||
path: 'simple.onMuteDefaultAction',
|
path: 'simple.onMuteDefaultAction',
|
||||||
value: realValue,
|
value: realValue,
|
||||||
})
|
})
|
||||||
|
|
@ -132,7 +132,7 @@ const FilteringTab = {
|
||||||
if (value !== 'ask' && value !== 'forever') {
|
if (value !== 'ask' && value !== 'forever') {
|
||||||
realValue = '14d'
|
realValue = '14d'
|
||||||
}
|
}
|
||||||
useSyncConfigStore().setPreference({
|
this.setPreference({
|
||||||
path: 'simple.onBlockDefaultAction',
|
path: 'simple.onBlockDefaultAction',
|
||||||
value: realValue,
|
value: realValue,
|
||||||
})
|
})
|
||||||
|
|
@ -151,7 +151,9 @@ const FilteringTab = {
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(useSyncConfigStore, [
|
...mapActions(useSyncConfigStore, [
|
||||||
'setPreference',
|
'setPreference',
|
||||||
|
'setPrefAndSave',
|
||||||
'unsetPreference',
|
'unsetPreference',
|
||||||
|
'unsetPrefAndSave',
|
||||||
'pushSyncConfig',
|
'pushSyncConfig',
|
||||||
]),
|
]),
|
||||||
getDatetimeLocal(timestamp) {
|
getDatetimeLocal(timestamp) {
|
||||||
|
|
@ -198,8 +200,7 @@ const FilteringTab = {
|
||||||
|
|
||||||
filter.order = this.muteFilters.length + 2
|
filter.order = this.muteFilters.length + 2
|
||||||
this.muteFiltersDraftObject[newId] = filter
|
this.muteFiltersDraftObject[newId] = filter
|
||||||
this.setPreference({ path: 'simple.muteFilters.' + newId, value: filter })
|
this.setSimplePrefAndSave({ path: 'muteFilters.' + newId, value: filter })
|
||||||
this.pushSyncConfig()
|
|
||||||
},
|
},
|
||||||
exportFilter(id) {
|
exportFilter(id) {
|
||||||
this.exportedFilter = { ...this.muteFiltersDraftObject[id] }
|
this.exportedFilter = { ...this.muteFiltersDraftObject[id] }
|
||||||
|
|
@ -214,13 +215,11 @@ const FilteringTab = {
|
||||||
const newId = uuidv4()
|
const newId = uuidv4()
|
||||||
|
|
||||||
this.muteFiltersDraftObject[newId] = filter
|
this.muteFiltersDraftObject[newId] = filter
|
||||||
this.setPreference({ path: 'simple.muteFilters.' + newId, value: filter })
|
this.setSimplePrefAndSave({ path: 'muteFilters.' + newId, value: filter })
|
||||||
this.pushSyncConfig()
|
|
||||||
},
|
},
|
||||||
deleteFilter(id) {
|
deleteFilter(id) {
|
||||||
delete this.muteFiltersDraftObject[id]
|
delete this.muteFiltersDraftObject[id]
|
||||||
this.unsetPreference({ path: 'simple.muteFilters.' + id, value: null })
|
this.unsetSimplePrefAndSave({ path: 'muteFilters.' + id, value: null })
|
||||||
this.pushSyncConfig()
|
|
||||||
},
|
},
|
||||||
purgeExpiredFilters() {
|
purgeExpiredFilters() {
|
||||||
this.muteFiltersExpired.forEach(([id]) => {
|
this.muteFiltersExpired.forEach(([id]) => {
|
||||||
|
|
@ -249,11 +248,10 @@ const FilteringTab = {
|
||||||
this.muteFiltersDraftDirty[id] = true
|
this.muteFiltersDraftDirty[id] = true
|
||||||
},
|
},
|
||||||
saveFilter(id) {
|
saveFilter(id) {
|
||||||
this.setPreference({
|
this.setPrefAndSave({
|
||||||
path: 'simple.muteFilters.' + id,
|
path: 'muteFilters.' + id,
|
||||||
value: this.muteFiltersDraftObject[id],
|
value: this.muteFiltersDraftObject[id],
|
||||||
})
|
})
|
||||||
this.pushSyncConfig()
|
|
||||||
this.muteFiltersDraftDirty[id] = false
|
this.muteFiltersDraftDirty[id] = false
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,8 @@ const GeneralTab = {
|
||||||
return useSyncConfigStore().mergedConfig.interfaceLanguage
|
return useSyncConfigStore().mergedConfig.interfaceLanguage
|
||||||
},
|
},
|
||||||
set: function (val) {
|
set: function (val) {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.interfaceLanguage',
|
path: 'interfaceLanguage',
|
||||||
value: val,
|
value: val,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -69,8 +69,8 @@ const GeneralTab = {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
updateFont(key, value) {
|
updateFont(key, value) {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.theme3hacks',
|
path: 'theme3hacks',
|
||||||
value: {
|
value: {
|
||||||
...this.mergedConfig.theme3hacks,
|
...this.mergedConfig.theme3hacks,
|
||||||
fonts: {
|
fonts: {
|
||||||
|
|
|
||||||
|
|
@ -67,8 +67,8 @@ const GeneralTab = {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
updateFont(key, value) {
|
updateFont(key, value) {
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.theme3hacks',
|
path: 'theme3hacks',
|
||||||
value: {
|
value: {
|
||||||
...this.mergedConfig.theme3hacks,
|
...this.mergedConfig.theme3hacks,
|
||||||
fonts: {
|
fonts: {
|
||||||
|
|
|
||||||
|
|
@ -57,8 +57,8 @@ const UpdateNotification = {
|
||||||
flag: 'updateCounter',
|
flag: 'updateCounter',
|
||||||
value: CURRENT_UPDATE_COUNTER,
|
value: CURRENT_UPDATE_COUNTER,
|
||||||
})
|
})
|
||||||
useSyncConfigStore().setPreference({
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
path: 'simple.dontShowUpdateNotifs',
|
path: 'dontShowUpdateNotifs',
|
||||||
value: true,
|
value: true,
|
||||||
})
|
})
|
||||||
useSyncConfigStore().pushSyncConfig()
|
useSyncConfigStore().pushSyncConfig()
|
||||||
|
|
|
||||||
|
|
@ -84,16 +84,16 @@ const UserTimedFilterModal = {
|
||||||
if (this.isMute) {
|
if (this.isMute) {
|
||||||
this.$store.dispatch('muteUser', this.requestBody)
|
this.$store.dispatch('muteUser', this.requestBody)
|
||||||
if (this.dontAskAgain) {
|
if (this.dontAskAgain) {
|
||||||
this.$store.dispatch('setOption', {
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
name: 'onMuteDefaultAction',
|
path: 'onMuteDefaultAction',
|
||||||
value: this.expiryString,
|
value: this.expiryString,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.$store.dispatch('blockUser', this.requestBody)
|
this.$store.dispatch('blockUser', this.requestBody)
|
||||||
if (this.dontAskAgain) {
|
if (this.dontAskAgain) {
|
||||||
this.$store.dispatch('setOption', {
|
useSyncConfigStore().setSimplePrefAndSave({
|
||||||
name: 'onBlockDefaultAction',
|
path: 'onBlockDefaultAction',
|
||||||
value: this.expiryString,
|
value: this.expiryString,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ const simpleDeclaration = {
|
||||||
store: 'server-side',
|
store: 'server-side',
|
||||||
migrationFlag: 'configMigration',
|
migrationFlag: 'configMigration',
|
||||||
migration(serverside, rootState) {
|
migration(serverside, rootState) {
|
||||||
serverside.setPreference({ path: 'simple.' + field, value: rootState.config[oldField ?? field] })
|
serverside.setSimplePrefAndSave({ path: field, value: rootState.config[oldField ?? field] })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -725,7 +725,7 @@ const users = {
|
||||||
Object.keys(
|
Object.keys(
|
||||||
useSyncConfigStore().prefsStorage.simple.muteFilters
|
useSyncConfigStore().prefsStorage.simple.muteFilters
|
||||||
).forEach(key => {
|
).forEach(key => {
|
||||||
useSyncConfigStore().unsetPreference({ path: 'simple.muteFilters.' + key, value: null })
|
useSyncConfigStore().unsetSimplePrefAndSave({ path: 'muteFilters.' + key, value: null })
|
||||||
})
|
})
|
||||||
|
|
||||||
// Reset flag to 0 to re-run migrations
|
// Reset flag to 0 to re-run migrations
|
||||||
|
|
|
||||||
|
|
@ -226,14 +226,14 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
try {
|
try {
|
||||||
const value = await getResourcesIndex('/static/palettes/index.json')
|
const value = await getResourcesIndex('/static/palettes/index.json')
|
||||||
useInstanceStore().set({
|
useInstanceStore().set({
|
||||||
name: 'palettesIndex',
|
path: 'palettesIndex',
|
||||||
value,
|
value,
|
||||||
})
|
})
|
||||||
return value
|
return value
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('Could not fetch palettes index', e)
|
console.error('Could not fetch palettes index', e)
|
||||||
useInstanceStore().set({
|
useInstanceStore().set({
|
||||||
name: 'palettesIndex',
|
path: 'palettesIndex',
|
||||||
value: { _error: e },
|
value: { _error: e },
|
||||||
})
|
})
|
||||||
return Promise.resolve({})
|
return Promise.resolve({})
|
||||||
|
|
@ -243,7 +243,8 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
this.resetThemeV3Palette()
|
this.resetThemeV3Palette()
|
||||||
this.resetThemeV2()
|
this.resetThemeV2()
|
||||||
|
|
||||||
window.vuex.commit('setOption', { name: 'palette', value })
|
useSyncConfigStore().setPreference({ path: 'simple.palette', value })
|
||||||
|
useSyncConfigStore().pushSyncConfig()
|
||||||
|
|
||||||
this.applyTheme({ recompile: true })
|
this.applyTheme({ recompile: true })
|
||||||
},
|
},
|
||||||
|
|
@ -251,7 +252,8 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
this.resetThemeV3Palette()
|
this.resetThemeV3Palette()
|
||||||
this.resetThemeV2()
|
this.resetThemeV2()
|
||||||
|
|
||||||
window.vuex.commit('setOption', { name: 'paletteCustomData', value })
|
useSyncConfigStore().setPreference({ path: 'simple.paletteCustomData', value })
|
||||||
|
useSyncConfigStore().pushSyncConfig()
|
||||||
|
|
||||||
this.applyTheme({ recompile: true })
|
this.applyTheme({ recompile: true })
|
||||||
},
|
},
|
||||||
|
|
@ -261,12 +263,12 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
'/static/styles/index.json',
|
'/static/styles/index.json',
|
||||||
deserialize,
|
deserialize,
|
||||||
)
|
)
|
||||||
useInstanceStore().set({ name: 'stylesIndex', value })
|
useInstanceStore().set({ path: 'stylesIndex', value })
|
||||||
return value
|
return value
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('Could not fetch styles index', e)
|
console.error('Could not fetch styles index', e)
|
||||||
useInstanceStore().set({
|
useInstanceStore().set({
|
||||||
name: 'stylesIndex',
|
path: 'simple.stylesIndex',
|
||||||
value: { _error: e },
|
value: { _error: e },
|
||||||
})
|
})
|
||||||
return Promise.resolve({})
|
return Promise.resolve({})
|
||||||
|
|
@ -277,7 +279,8 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
this.resetThemeV2()
|
this.resetThemeV2()
|
||||||
this.resetThemeV3Palette()
|
this.resetThemeV3Palette()
|
||||||
|
|
||||||
window.vuex.commit('setOption', { name: 'style', value })
|
useSyncConfigStore().setPreference({ path: 'simple.style', value })
|
||||||
|
useSyncConfigStore().pushSyncConfig()
|
||||||
this.useStylePalette = true
|
this.useStylePalette = true
|
||||||
|
|
||||||
this.applyTheme({ recompile: true }).then(() => {
|
this.applyTheme({ recompile: true }).then(() => {
|
||||||
|
|
@ -289,7 +292,8 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
this.resetThemeV2()
|
this.resetThemeV2()
|
||||||
this.resetThemeV3Palette()
|
this.resetThemeV3Palette()
|
||||||
|
|
||||||
window.vuex.commit('setOption', { name: 'styleCustomData', value })
|
useSyncConfigStore().setPreference({ path: 'simple.styleCustomData', value })
|
||||||
|
useSyncConfigStore().pushSyncConfig()
|
||||||
|
|
||||||
this.useStylePalette = true
|
this.useStylePalette = true
|
||||||
this.applyTheme({ recompile: true }).then(() => {
|
this.applyTheme({ recompile: true }).then(() => {
|
||||||
|
|
@ -299,12 +303,12 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
async fetchThemesIndex() {
|
async fetchThemesIndex() {
|
||||||
try {
|
try {
|
||||||
const value = await getResourcesIndex('/static/styles.json')
|
const value = await getResourcesIndex('/static/styles.json')
|
||||||
useInstanceStore().set({ name: 'themesIndex', value })
|
useInstanceStore().set({ path: 'simple.themesIndex', value })
|
||||||
return value
|
return value
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('Could not fetch themes index', e)
|
console.error('Could not fetch themes index', e)
|
||||||
useInstanceStore().set({
|
useInstanceStore().set({
|
||||||
name: 'themesIndex',
|
path: 'themesIndex',
|
||||||
value: { _error: e },
|
value: { _error: e },
|
||||||
})
|
})
|
||||||
return Promise.resolve({})
|
return Promise.resolve({})
|
||||||
|
|
@ -315,7 +319,8 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
this.resetThemeV3Palette()
|
this.resetThemeV3Palette()
|
||||||
this.resetThemeV2()
|
this.resetThemeV2()
|
||||||
|
|
||||||
window.vuex.commit('setOption', { name: 'theme', value })
|
useSyncConfigStore().setPreference({ path: 'simple.theme', value })
|
||||||
|
useSyncConfigStore().pushSyncConfig()
|
||||||
|
|
||||||
this.applyTheme({ recompile: true })
|
this.applyTheme({ recompile: true })
|
||||||
},
|
},
|
||||||
|
|
@ -324,29 +329,33 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
this.resetThemeV3Palette()
|
this.resetThemeV3Palette()
|
||||||
this.resetThemeV2()
|
this.resetThemeV2()
|
||||||
|
|
||||||
window.vuex.commit('setOption', { name: 'customTheme', value })
|
useSyncConfigStore().setPreference({ path: 'simple.customTheme', value })
|
||||||
window.vuex.commit('setOption', { name: 'customThemeSource', value })
|
useSyncConfigStore().setPreference({ path: 'simple.customThemeSource', value })
|
||||||
|
useSyncConfigStore().pushSyncConfig()
|
||||||
|
|
||||||
this.applyTheme({ recompile: true })
|
this.applyTheme({ recompile: true })
|
||||||
},
|
},
|
||||||
resetThemeV3() {
|
resetThemeV3() {
|
||||||
window.vuex.commit('setOption', { name: 'style', value: null })
|
useSyncConfigStore().setPreference({ path: 'simple.style', value: null })
|
||||||
window.vuex.commit('setOption', { name: 'styleCustomData', value: null })
|
useSyncConfigStore().setPreference({ path: 'simple.styleCustomData', value: null })
|
||||||
|
useSyncConfigStore().pushSyncConfig()
|
||||||
},
|
},
|
||||||
resetThemeV3Palette() {
|
resetThemeV3Palette() {
|
||||||
window.vuex.commit('setOption', { name: 'palette', value: null })
|
useSyncConfigStore().setPreference({ path: 'simple.palette', value: null })
|
||||||
window.vuex.commit('setOption', {
|
useSyncConfigStore().setPreference({
|
||||||
name: 'paletteCustomData',
|
path: 'simple.paletteCustomData',
|
||||||
value: null,
|
value: null,
|
||||||
})
|
})
|
||||||
|
useSyncConfigStore().pushSyncConfig()
|
||||||
},
|
},
|
||||||
resetThemeV2() {
|
resetThemeV2() {
|
||||||
window.vuex.commit('setOption', { name: 'theme', value: null })
|
useSyncConfigStore().setPreference({ path: 'simple.theme', value: null })
|
||||||
window.vuex.commit('setOption', { name: 'customTheme', value: null })
|
useSyncConfigStore().setPreference({ path: 'simple.customTheme', value: null })
|
||||||
window.vuex.commit('setOption', {
|
useSyncConfigStore().setPreference({
|
||||||
name: 'customThemeSource',
|
path: 'simple.customThemeSource',
|
||||||
value: null,
|
value: null,
|
||||||
})
|
})
|
||||||
|
useSyncConfigStore().pushSyncConfig()
|
||||||
},
|
},
|
||||||
async getThemeData() {
|
async getThemeData() {
|
||||||
const getData = async (resource, index, customData, name) => {
|
const getData = async (resource, index, customData, name) => {
|
||||||
|
|
@ -516,6 +525,7 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
path: 'simple.palette',
|
path: 'simple.palette',
|
||||||
value: firstStylePaletteName,
|
value: firstStylePaletteName,
|
||||||
})
|
})
|
||||||
|
useSyncConfigStore().pushSyncConfig()
|
||||||
}
|
}
|
||||||
|
|
||||||
this.paletteNameUsed = palette.nameUsed
|
this.paletteNameUsed = palette.nameUsed
|
||||||
|
|
|
||||||
|
|
@ -417,6 +417,14 @@ export const useSyncConfigStore = defineStore('sync_config', {
|
||||||
this.flagStorage[flag] = value
|
this.flagStorage[flag] = value
|
||||||
this.dirty = true
|
this.dirty = true
|
||||||
},
|
},
|
||||||
|
setSimplePrefAndSave({ path, value }) {
|
||||||
|
this.setPreference({ path: `simple.${path}`, value })
|
||||||
|
this.pushSyncConfig()
|
||||||
|
},
|
||||||
|
unsetSimplePrefAndSave({ path }) {
|
||||||
|
this.unsetPreference({ path: `simple.${path}` })
|
||||||
|
this.pushSyncConfig()
|
||||||
|
},
|
||||||
setPreference({ path, value }) {
|
setPreference({ path, value }) {
|
||||||
if (path.startsWith('_')) {
|
if (path.startsWith('_')) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
|
|
@ -472,7 +480,7 @@ export const useSyncConfigStore = defineStore('sync_config', {
|
||||||
`Calling unset on depth > 3 (path: ${path}) is not allowed`,
|
`Calling unset on depth > 3 (path: ${path}) is not allowed`,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
unset(this.prefsStorage, path, value)
|
unset(this.prefsStorage, path)
|
||||||
this.prefsStorage._journal = [
|
this.prefsStorage._journal = [
|
||||||
...this.prefsStorage._journal,
|
...this.prefsStorage._journal,
|
||||||
{ operation: 'unset', path, args: [], timestamp: Date.now() },
|
{ operation: 'unset', path, args: [], timestamp: Date.now() },
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue