diff --git a/apps/oneclient/frontend/src/bindings.gen.ts b/apps/oneclient/frontend/src/bindings.gen.ts index f0550dac..782806a6 100644 --- a/apps/oneclient/frontend/src/bindings.gen.ts +++ b/apps/oneclient/frontend/src/bindings.gen.ts @@ -254,10 +254,15 @@ export type VersionType = */ "old_beta" -const ARGS_MAP = { 'events':'{"message":["event"],"process":["event"],"ingress":["event"]}', 'oneclient':'{"getBundlesFor":["cluster_id"],"openDevTools":[],"getClustersGroupedByMajor":[]}', 'core':'{"updateClusterById":["id","request"],"getClusterById":["id"],"createCluster":["options"],"removeUser":["uuid"],"openMsaLogin":[],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"changeSkin":["access_token","skin_url","skin_variant"],"fetchMinecraftProfile":["uuid"],"removeCluster":["id"],"getProfileOrDefault":["name"],"getUser":["uuid"],"readSettings":[],"installModpack":["modpack","cluster_id"],"launchCluster":["id","uuid"],"fetchLoggedInProfile":["access_token"],"getLogByName":["id","name"],"getRunningProcessesByClusterId":["cluster_id"],"getRunningProcesses":[],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"getClusters":[],"getGlobalProfile":[],"getUsersFromAuthor":["provider","author"],"createSettingsProfile":["name"],"getPackageBody":["provider","body"],"removeCape":["access_token"],"writeSettings":["setting"],"getDefaultUser":["fallback"],"getWorlds":["id"],"getMultiplePackages":["provider","slugs"],"changeCape":["access_token","cape_uuid"],"searchPackages":["provider","query"],"getPackage":["provider","slug"],"getUsers":[],"getLogs":["id"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"convertUsernameUUID":["username_uuid"],"isClusterRunning":["cluster_id"],"open":["input"],"getScreenshots":["id"],"killProcess":["pid"],"setDefaultUser":["uuid"],"updateClusterProfile":["name","profile"],"getLoadersForVersion":["mc_version"],"getGameVersions":[]}', 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}' } +const ARGS_MAP = { 'events':'{"process":["event"],"ingress":["event"],"message":["event"]}', 'oneclient':'{"openDevTools":[],"getClustersGroupedByMajor":[],"getBundlesFor":["cluster_id"]}', 'core':'{"updateClusterById":["id","request"],"getRunningProcesses":[],"readSettings":[],"changeSkin":["access_token","skin_url","skin_variant"],"fetchMinecraftProfile":["uuid"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"searchPackages":["provider","query"],"getClusters":[],"getPackageBody":["provider","body"],"killProcess":["pid"],"createSettingsProfile":["name"],"installModpack":["modpack","cluster_id"],"getMultiplePackages":["provider","slugs"],"getUsers":[],"open":["input"],"getUsersFromAuthor":["provider","author"],"getUser":["uuid"],"launchCluster":["id","uuid"],"removeUser":["uuid"],"getLogByName":["id","name"],"getPackage":["provider","slug"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"removeCape":["access_token"],"writeSettings":["setting"],"getClusterById":["id"],"getLoadersForVersion":["mc_version"],"openMsaLogin":[],"updateClusterProfile":["name","profile"],"isClusterRunning":["cluster_id"],"getScreenshots":["id"],"getGlobalProfile":[],"createCluster":["options"],"getLogs":["id"],"getRunningProcessesByClusterId":["cluster_id"],"getProfileOrDefault":["name"],"getGameVersions":[],"getWorlds":["id"],"getDefaultUser":["fallback"],"setDefaultUser":["uuid"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"fetchLoggedInProfile":["access_token"],"changeCape":["access_token","cape_uuid"],"removeCluster":["id"],"convertUsernameUUID":["username_uuid"]}', 'folders':'{"fromCluster":["folder_name"],"openCluster":["folder_name"]}' } export type Router = { 'oneclient': { openDevTools: () => Promise, getClustersGroupedByMajor: () => Promise>, getBundlesFor: (clusterId: number) => Promise }, +'events': { ingress: (event: IngressPayload) => Promise, +message: (event: MessagePayload) => Promise, +process: (event: ProcessPayload) => Promise }, +'folders': { fromCluster: (folderName: string) => Promise, +openCluster: (folderName: string) => Promise }, 'core': { getClusters: () => Promise, getClusterById: (id: number) => Promise, removeCluster: (id: number) => Promise, @@ -301,12 +306,7 @@ changeSkin: (accessToken: string, skinUrl: string, skinVariant: SkinVariant) => changeCape: (accessToken: string, capeUuid: string) => Promise, removeCape: (accessToken: string) => Promise, convertUsernameUUID: (usernameUuid: string) => Promise, -open: (input: string) => Promise }, -'events': { ingress: (event: IngressPayload) => Promise, -message: (event: MessagePayload) => Promise, -process: (event: ProcessPayload) => Promise }, -'folders': { fromCluster: (folderName: string) => Promise, -openCluster: (folderName: string) => Promise } }; +open: (input: string) => Promise } }; export type { InferCommandOutput } diff --git a/apps/oneclient/frontend/src/routes/app/index.tsx b/apps/oneclient/frontend/src/routes/app/index.tsx index 68adbb77..f1ab2768 100644 --- a/apps/oneclient/frontend/src/routes/app/index.tsx +++ b/apps/oneclient/frontend/src/routes/app/index.tsx @@ -3,10 +3,12 @@ import type { ButtonProps } from 'react-aria-components'; import { GameBackground } from '@/components'; import { LaunchButton } from '@/components/LaunchButton'; import { useActiveCluster, useLastPlayedClusters } from '@/hooks/useClusters'; +import { bindings } from '@/main'; import useAppShellStore from '@/stores/appShellStore'; import { prettifyLoader } from '@/utils/loaders'; import { animations } from '@/utils/motion'; import { getVersionInfo, getVersionInfoOrDefault } from '@/utils/versionMap'; +import { useCommandSuspense } from '@onelauncher/common'; import { Button } from '@onelauncher/common/components'; import { createFileRoute, useNavigate } from '@tanstack/react-router'; import { DotsGridIcon, Settings04Icon } from '@untitled-theme/icons-react'; @@ -19,6 +21,9 @@ export const Route = createFileRoute('/app/')({ }); function RouteComponent() { + // Preload the clusters for version page + useCommandSuspense(['getClustersGroupedByMajor'], bindings.oneclient.getClustersGroupedByMajor); + const { data: lastPlayedClusters } = useLastPlayedClusters(); const setActiveClusterId = useAppShellStore(state => state.setActiveClusterId); diff --git a/apps/oneclient/frontend/src/routes/onboarding/finished.tsx b/apps/oneclient/frontend/src/routes/onboarding/finished.tsx index 6a5864cb..4f42c15b 100644 --- a/apps/oneclient/frontend/src/routes/onboarding/finished.tsx +++ b/apps/oneclient/frontend/src/routes/onboarding/finished.tsx @@ -7,7 +7,7 @@ export const Route = createFileRoute('/onboarding/finished')({ function RouteComponent() { const { setSetting } = useSettings(); - setSetting('seen_onboarding', true) + setSetting('seen_onboarding', true); return (