fix: versions cache

This commit is contained in:
Szedann 2025-07-21 19:31:52 +02:00
parent d803e86061
commit efbc1d5c81
2 changed files with 4 additions and 11 deletions

View file

@ -75,6 +75,6 @@ export function usePackageData(provider: Provider, slug: string, options?: Omit<
return useCommand(key, () => bindings.core.getPackage(provider, slug), options);
}
export function usePackageVersions(provider: Provider, slug: string, { mc_versions, loaders, offset, limit, ...options }: { mc_versions?: Array<string> | null; loaders?: Array<GameLoader> | null; offset?: number; limit: number } & Omit<UndefinedInitialDataOptions<Paginated<ManagedVersion>>, 'queryKey' | 'queryFn'>) {
return useCommand('getPackageVersions', () => bindings.core.getPackageVersions(provider, slug, mc_versions ?? null, loaders ?? null, (offset ?? 0) as unknown as bigint, limit as unknown as bigint), options);
export function usePackageVersions(provider: Provider, slug: string, { mc_versions, loaders, offset, limit, ...options }: { mc_versions?: Array<string> | null; loaders?: Array<GameLoader> | null; offset?: number; limit: number } & Omit<UndefinedInitialDataOptions<Paginated<ManagedVersion>>, 'queryKey' | 'queryFn'>, key: false | BindingCommands | (string & {}) = `getPackageVersions.${provider}.${slug}.${mc_versions?.join('')}.${loaders?.join('')}`) {
return useCommand(key, () => bindings.core.getPackageVersions(provider, slug, mc_versions ?? null, loaders ?? null, (offset ?? 0) as unknown as bigint, limit as unknown as bigint), options);
}

View file

@ -362,12 +362,8 @@ function colorForType(type: string) {
function Versions(){
const {provider, slug} = Route.useParams()
if(!includes(PROVIDERS, provider)) throw new Error("invalid provider")
const clusters = useClusters()
const [offset, setOffset] = useState(0)
const browserContext = useBrowserContext()
const { data: versions } = usePackageVersions(provider, slug, {
mc_versions: browserContext.cluster ? [browserContext.cluster.mc_version] : null,
loaders: browserContext.cluster ? [browserContext.cluster.mc_loader] : null,
limit: 20,
offset
});
@ -379,7 +375,6 @@ function Versions(){
setOffset(pagination.offset)
},[pagination.offset])
useEffect(()=>{
console.log(versions?.total)
pagination.reset()
},[versions?.total])
return <div className='flex flex-col'>
@ -398,18 +393,16 @@ function Versions(){
</TableHeader>
<TableBody className="">
{versions?.items.map(item=>
<VersionRow version={item} clusters={clusters}/>
<VersionRow version={item}/>
)}
</TableBody>
</Table>
</div>
}
function VersionRow({version, clusters}:{version:ManagedVersion, clusters?: Array<ClusterModel>}){
function VersionRow({version}:{version:ManagedVersion}){
const {provider} = Route.useParams()
if(!includes(PROVIDERS, provider)) throw new Error("invalid provider")
const browserContext = useBrowserContext()
const [selectedCluster, setSelectedCluster] = useState(browserContext.cluster)
return (
<Row className="my-2 bg-page-elevated px-4 [&>td]:py-4">
<Cell className="p-4 my-2 bg-component-bg rounded-l-xl">