xref: /MusicFree/src/pages/artistDetail/store/atoms.ts (revision 5589cdf32b2bb0f641e5ac7bf1f6152cd6b9b70e)
1import {RequestStateCode} from '@/constants/commonConst';
2import {atom} from 'jotai';
3
4export const scrollToTopAtom = atom(true);
5
6export interface IQueryResult<
7    T extends IArtist.ArtistMediaType = IArtist.ArtistMediaType,
8> {
9    state?: RequestStateCode;
10    page?: number;
11    data?: ICommon.SupportMediaItemBase[T];
12}
13
14type IQueryResults<
15    K extends IArtist.ArtistMediaType = IArtist.ArtistMediaType,
16> = {
17    [T in K]: IQueryResult<T>;
18};
19
20export const initQueryResult: IQueryResults = {
21    music: {},
22    album: {},
23};
24
25export const queryResultAtom = atom(initQueryResult);
26