xref: /MusicFree/src/pages/artistDetail/store/atoms.ts (revision b882a19d884fffa32f7c8cef31652b909dceaa0f)
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