remove copypasta
This commit is contained in:
parent
a62487b36b
commit
899c852d9c
1 changed files with 1 additions and 115 deletions
|
|
@ -1,5 +1,4 @@
|
||||||
import { mapActions, mapState } from 'pinia'
|
import { mapState } from 'pinia'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
|
||||||
|
|
||||||
import Checkbox from 'src/components/checkbox/checkbox.vue'
|
import Checkbox from 'src/components/checkbox/checkbox.vue'
|
||||||
import Select from 'src/components/select/select.vue'
|
import Select from 'src/components/select/select.vue'
|
||||||
|
|
@ -12,7 +11,6 @@ import UnitSetting from '../helpers/unit_setting.vue'
|
||||||
|
|
||||||
import { useInstanceStore } from 'src/stores/instance.js'
|
import { useInstanceStore } from 'src/stores/instance.js'
|
||||||
import { useInstanceCapabilitiesStore } from 'src/stores/instance_capabilities.js'
|
import { useInstanceCapabilitiesStore } from 'src/stores/instance_capabilities.js'
|
||||||
import { useSyncConfigStore } from 'src/stores/sync_config.js'
|
|
||||||
|
|
||||||
const ClutterTab = {
|
const ClutterTab = {
|
||||||
components: {
|
components: {
|
||||||
|
|
@ -33,118 +31,6 @@ const ClutterTab = {
|
||||||
store.instanceIdentity.showInstanceSpecificPanel &&
|
store.instanceIdentity.showInstanceSpecificPanel &&
|
||||||
store.instanceIdentity.instanceSpecificPanelContent,
|
store.instanceIdentity.instanceSpecificPanelContent,
|
||||||
}),
|
}),
|
||||||
...mapState(useSyncConfigStore, {
|
|
||||||
muteFilters: (store) =>
|
|
||||||
Object.entries(store.prefsStorage.simple.muteFilters),
|
|
||||||
muteFiltersObject: (store) => store.prefsStorage.simple.muteFilters,
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
...mapActions(useSyncConfigStore, [
|
|
||||||
'setSimplePrefAndSave',
|
|
||||||
'unsetSimplePrefAndSave',
|
|
||||||
'pushSyncConfig',
|
|
||||||
]),
|
|
||||||
getDatetimeLocal(timestamp) {
|
|
||||||
const date = new Date(timestamp)
|
|
||||||
const fmt = new Intl.NumberFormat('en-US', { minimumIntegerDigits: 2 })
|
|
||||||
const datetime = [
|
|
||||||
date.getFullYear(),
|
|
||||||
'-',
|
|
||||||
fmt.format(date.getMonth() + 1),
|
|
||||||
'-',
|
|
||||||
fmt.format(date.getDate()),
|
|
||||||
'T',
|
|
||||||
fmt.format(date.getHours()),
|
|
||||||
':',
|
|
||||||
fmt.format(date.getMinutes()),
|
|
||||||
].join('')
|
|
||||||
return datetime
|
|
||||||
},
|
|
||||||
checkRegexValid(id) {
|
|
||||||
const filter = this.muteFiltersObject[id]
|
|
||||||
if (filter.type !== 'regexp') return true
|
|
||||||
if (filter.type !== 'user_regexp') return true
|
|
||||||
const { value } = filter
|
|
||||||
let valid = true
|
|
||||||
try {
|
|
||||||
new RegExp(value)
|
|
||||||
} catch {
|
|
||||||
valid = false
|
|
||||||
console.error('Invalid RegExp: ' + value)
|
|
||||||
}
|
|
||||||
return valid
|
|
||||||
},
|
|
||||||
createFilter({
|
|
||||||
type = 'word',
|
|
||||||
value = '',
|
|
||||||
name = 'New Filter',
|
|
||||||
enabled = true,
|
|
||||||
expires = null,
|
|
||||||
hide = false,
|
|
||||||
}) {
|
|
||||||
const newId = uuidv4()
|
|
||||||
|
|
||||||
filter.order = this.muteFilters.length + 2
|
|
||||||
this.muteFiltersDraftObject[newId] = filter
|
|
||||||
this.setSimplePrefAndSave({ path: 'muteFilters.' + newId, value: filter })
|
|
||||||
this.pushSyncConfig()
|
|
||||||
},
|
|
||||||
exportFilter(id) {
|
|
||||||
this.exportedFilter = { ...this.muteFiltersDraftObject[id] }
|
|
||||||
delete this.exportedFilter.order
|
|
||||||
this.filterExporter.exportData()
|
|
||||||
},
|
|
||||||
importFilter() {
|
|
||||||
this.filterImporter.importData()
|
|
||||||
},
|
|
||||||
copyFilter(id) {
|
|
||||||
const filter = { ...this.muteFiltersDraftObject[id] }
|
|
||||||
const newId = uuidv4()
|
|
||||||
|
|
||||||
this.muteFiltersDraftObject[newId] = filter
|
|
||||||
this.setSimplePrefAndSave({ path: 'muteFilters.' + newId, value: filter })
|
|
||||||
this.pushSyncConfig()
|
|
||||||
},
|
|
||||||
deleteFilter(id) {
|
|
||||||
delete this.muteFiltersDraftObject[id]
|
|
||||||
this.unsetSimplePrefAndSave({ path: 'muteFilters.' + id, value: null })
|
|
||||||
this.pushSyncConfig()
|
|
||||||
},
|
|
||||||
purgeExpiredFilters() {
|
|
||||||
this.muteFiltersExpired.forEach(([id]) => {
|
|
||||||
delete this.muteFiltersDraftObject[id]
|
|
||||||
this.unsetSimplePrefAndSave({ path: 'muteFilters.' + id, value: null })
|
|
||||||
})
|
|
||||||
this.pushSyncConfig()
|
|
||||||
},
|
|
||||||
updateFilter(id, field, value) {
|
|
||||||
const filter = { ...this.muteFiltersDraftObject[id] }
|
|
||||||
if (field === 'expires-never') {
|
|
||||||
if (!value) {
|
|
||||||
const offset = 1000 * 60 * 60 * 24 * 14 // 2 weeks
|
|
||||||
const date = Date.now() + offset
|
|
||||||
filter.expires = date
|
|
||||||
} else {
|
|
||||||
filter.expires = null
|
|
||||||
}
|
|
||||||
} else if (field === 'expires') {
|
|
||||||
const parsed = Date.parse(value)
|
|
||||||
filter.expires = parsed.valueOf()
|
|
||||||
} else {
|
|
||||||
filter[field] = value
|
|
||||||
}
|
|
||||||
this.muteFiltersDraftObject[id] = filter
|
|
||||||
this.muteFiltersDraftDirty[id] = true
|
|
||||||
},
|
|
||||||
saveFilter(id) {
|
|
||||||
this.setSimplePrefAndSave({
|
|
||||||
path: 'muteFilters.' + id,
|
|
||||||
value: this.muteFiltersDraftObject[id],
|
|
||||||
})
|
|
||||||
this.pushSyncConfig()
|
|
||||||
this.muteFiltersDraftDirty[id] = false
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
// Updating nested properties
|
// Updating nested properties
|
||||||
watch: {
|
watch: {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue