reimpl all music state into zustand

This commit is contained in:
austinried
2021-08-03 15:37:07 +09:00
parent 300d0bd1b9
commit 33dc0be02b
11 changed files with 325 additions and 294 deletions

View File

@@ -1,18 +1,11 @@
import { albumListAtom, artistsAtom, homeListsAtom, playlistsAtom, searchResultsAtom } from '@app/state/music'
import { selectSettings } from '@app/state/settings'
import { useStore } from '@app/state/store'
import { useReset } from '@app/state/trackplayer'
import { useUpdateAtom } from 'jotai/utils'
import { useEffect } from 'react'
export const useSwitchActiveServer = () => {
const activeServer = useStore(selectSettings.activeServer)
const setActiveServer = useStore(selectSettings.setActiveServer)
const setArtists = useUpdateAtom(artistsAtom)
const setHomeLists = useUpdateAtom(homeListsAtom)
const setSearchResults = useUpdateAtom(searchResultsAtom)
const setPlaylists = useUpdateAtom(playlistsAtom)
const setAlbumLists = useUpdateAtom(albumListAtom)
const resetPlayer = useReset()
return async (id: string) => {
@@ -21,13 +14,6 @@ export const useSwitchActiveServer = () => {
}
await resetPlayer()
setArtists([])
setHomeLists({})
setSearchResults({ artists: [], albums: [], songs: [] })
setPlaylists([])
setAlbumLists([])
setActiveServer(id)
}
}
@@ -43,6 +29,14 @@ export const useActiveListRefresh = (list: unknown[], update: () => void) => {
}, [activeServer])
}
export const useActiveListRefresh2 = (update: () => void) => {
const activeServer = useStore(selectSettings.activeServer)
useEffect(() => {
update()
}, [activeServer, update])
}
export const useActiveServerRefresh = (update: () => void) => {
const activeServer = useStore(selectSettings.activeServer)