import { PersistedClient, Persister, PersistQueryClientProvider, } from '@tanstack/react-query-persist-client'; import { del, get, set } from 'idb-keyval'; import { createRoot } from 'react-dom/client'; import { App } from '/@/renderer/app'; import { queryClient } from '/@/renderer/lib/react-query'; function createIDBPersister(idbValidKey: IDBValidKey = 'reactQuery') { return { persistClient: async (client: PersistedClient) => { set(idbValidKey, client); }, removeClient: async () => { await del(idbValidKey); }, restoreClient: async () => { return await get(idbValidKey); }, } as Persister; } const indexedDbPersister = createIDBPersister('feishin'); createRoot(document.getElementById('root')!).render( { const isSuccess = query.state.status === 'success'; const isLyricsQueryKey = query.queryKey.includes('song') && query.queryKey.includes('lyrics') && query.queryKey.includes('select'); return isSuccess && isLyricsQueryKey; }, }, hydrateOptions: { defaultOptions: { queries: { gcTime: Infinity, }, }, }, maxAge: Infinity, persister: indexedDbPersister, }} > , );