Remove dayjs and convert existing to Temporal
This commit is contained in:
parent
a74fee9318
commit
d2bee83db4
15 changed files with 103 additions and 213 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import { ColorMap } from 'hue-map/dist/maps'
|
||||
import { MapKey } from 'hue-map/dist/maps'
|
||||
import { create } from 'zustand'
|
||||
import { persist } from 'zustand/middleware'
|
||||
|
||||
|
|
@ -6,17 +6,18 @@ type TimeFormat = '12h' | '24h'
|
|||
type Theme = 'System' | 'Light' | 'Dark'
|
||||
|
||||
interface SettingsStore {
|
||||
/** 0: Monday, 1: Sunday */
|
||||
weekStart: 0 | 1
|
||||
timeFormat: TimeFormat
|
||||
theme: Theme
|
||||
highlight: boolean
|
||||
colormap: 'crabfit' | ColorMap
|
||||
colormap: 'crabfit' | MapKey
|
||||
|
||||
setWeekStart: (weekStart: 0 | 1) => void
|
||||
setTimeFormat: (timeFormat: TimeFormat) => void
|
||||
setTheme: (theme: Theme) => void
|
||||
setHighlight: (highlight: boolean) => void
|
||||
setColormap: (colormap: 'crabfit' | ColorMap) => void
|
||||
setColormap: (colormap: 'crabfit' | MapKey) => void
|
||||
}
|
||||
|
||||
const useSettingsStore = create<SettingsStore>()(persist(
|
||||
|
|
@ -33,7 +34,18 @@ const useSettingsStore = create<SettingsStore>()(persist(
|
|||
setHighlight: highlight => set({ highlight }),
|
||||
setColormap: colormap => set({ colormap }),
|
||||
}),
|
||||
{ name: 'crabfit-settings' },
|
||||
{
|
||||
name: 'crabfit-settings',
|
||||
version: 1,
|
||||
migrate: (persistedState, version) => {
|
||||
if (version === 0) {
|
||||
// Weekstart used to be 0 for Sunday, but now it's been swapped
|
||||
(persistedState as SettingsStore).weekStart = (persistedState as SettingsStore).weekStart === 1 ? 0 : 1
|
||||
return persistedState as SettingsStore
|
||||
}
|
||||
return persistedState as SettingsStore
|
||||
},
|
||||
},
|
||||
))
|
||||
|
||||
export default useSettingsStore
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue