repod/src/store/settings.ts
Michel Roux 2546df30fc
Some checks failed
repod / release (push) Waiting to run
repod / xml (push) Successful in 16s
repod / php (push) Successful in 1m16s
repod / nodejs (push) Has been cancelled
Revert "fix: 🎨 simplify undefined test for filters"
This reverts commit c37783d814a8d3dea2f8c12178cdd2f04fecad81.
2025-01-03 14:17:27 +01:00

37 lines
904 B
TypeScript

import { getCookie, setCookie } from '../utils/cookies.ts'
import type { FiltersInterface } from '../utils/types.ts'
import { defineStore } from 'pinia'
export const useSettings = defineStore('settings', {
state: () => {
try {
const filters = JSON.parse(getCookie('repod.filters') || '{}') || {}
return {
filters: {
listened:
filters.listened === undefined ? true : filters.listened,
listening:
filters.listening === undefined ? true : filters.listening,
unlistened:
filters.unlistened === undefined ? true : filters.unlistened,
},
}
} catch {
return {
filters: {
listened: true,
listening: true,
unlistened: true,
},
}
}
},
actions: {
setFilters(filters: Partial<FiltersInterface>) {
this.filters = { ...this.filters, ...filters }
setCookie('repod.filters', JSON.stringify(this.filters), 365)
},
},
})