Skip to content

Commit 5a1584a

Browse files
committed
chore(ModList): Clean up
1 parent fa2a3f8 commit 5a1584a

File tree

5 files changed

+19
-18
lines changed

5 files changed

+19
-18
lines changed

apps/oneclient/frontend/src/bindings.gen.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -301,12 +301,16 @@ export type VersionType =
301301
*/
302302
"old_beta"
303303

304-
const ARGS_MAP = { 'oneclient':'{"getBundlesFor":["cluster_id"],"getClustersGroupedByMajor":[],"getVersions":[],"openDevTools":[]}', 'events':'{"message":["event"],"ingress":["event"],"process":["event"]}', 'folders':'{"fromCluster":["folder_name"],"openCluster":["folder_name"]}', 'core':'{"getLogByName":["id","name"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"createCluster":["options"],"openMsaLogin":[],"getWorlds":["id"],"getLogs":["id"],"getGlobalProfile":[],"launchCluster":["id","uuid"],"killProcess":["pid"],"writeSettings":["setting"],"removeCluster":["id"],"updateClusterProfile":["name","profile"],"createSettingsProfile":["name"],"getClusters":[],"getPackage":["provider","slug"],"getMods":["id"],"getRunningProcesses":[],"getUsersFromAuthor":["provider","author"],"getPackageBody":["provider","body"],"installModpack":["modpack","cluster_id"],"setDefaultUser":["uuid"],"getUser":["uuid"],"getClusterById":["id"],"searchPackages":["provider","query"],"convertUsernameUUID":["username_uuid"],"getLoadersForVersion":["mc_version"],"changeSkin":["access_token","skin_url","skin_variant"],"isClusterRunning":["cluster_id"],"readSettings":[],"getProfileOrDefault":["name"],"open":["input"],"fetchMinecraftProfile":["uuid"],"changeCape":["access_token","cape_uuid"],"getScreenshots":["id"],"getGameVersions":[],"getUsers":[],"updateClusterById":["id","request"],"removeUser":["uuid"],"getDefaultUser":["fallback"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"removeCape":["access_token"],"getMultiplePackages":["provider","slugs"],"getRunningProcessesByClusterId":["cluster_id"],"fetchLoggedInProfile":["access_token"]}' }
305-
export type Router = { 'folders': { fromCluster: (folderName: string) => Promise<string>,
306-
openCluster: (folderName: string) => Promise<null> },
307-
'events': { ingress: (event: IngressPayload) => Promise<void>,
304+
const ARGS_MAP = { 'core':'{"getLogByName":["id","name"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"createCluster":["options"],"openMsaLogin":[],"getWorlds":["id"],"getLogs":["id"],"getGlobalProfile":[],"launchCluster":["id","uuid"],"killProcess":["pid"],"writeSettings":["setting"],"removeCluster":["id"],"updateClusterProfile":["name","profile"],"createSettingsProfile":["name"],"getClusters":[],"getPackage":["provider","slug"],"getMods":["id"],"getRunningProcesses":[],"getUsersFromAuthor":["provider","author"],"getPackageBody":["provider","body"],"installModpack":["modpack","cluster_id"],"setDefaultUser":["uuid"],"getUser":["uuid"],"getClusterById":["id"],"searchPackages":["provider","query"],"convertUsernameUUID":["username_uuid"],"getLoadersForVersion":["mc_version"],"changeSkin":["access_token","skin_url","skin_variant"],"isClusterRunning":["cluster_id"],"readSettings":[],"getProfileOrDefault":["name"],"open":["input"],"fetchMinecraftProfile":["uuid"],"changeCape":["access_token","cape_uuid"],"getScreenshots":["id"],"getGameVersions":[],"getUsers":[],"updateClusterById":["id","request"],"removeUser":["uuid"],"getDefaultUser":["fallback"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"removeCape":["access_token"],"getMultiplePackages":["provider","slugs"],"getRunningProcessesByClusterId":["cluster_id"],"fetchLoggedInProfile":["access_token"]}', 'oneclient':'{"getBundlesFor":["cluster_id"],"getVersions":[],"openDevTools":[],"getClustersGroupedByMajor":[]}', 'folders':'{"fromCluster":["folder_name"],"openCluster":["folder_name"]}', 'events':'{"message":["event"],"ingress":["event"],"process":["event"]}' }
305+
export type Router = { 'events': { ingress: (event: IngressPayload) => Promise<void>,
308306
message: (event: MessagePayload) => Promise<void>,
309307
process: (event: ProcessPayload) => Promise<void> },
308+
'folders': { fromCluster: (folderName: string) => Promise<string>,
309+
openCluster: (folderName: string) => Promise<null> },
310+
'oneclient': { openDevTools: () => Promise<void>,
311+
getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>>,
312+
getBundlesFor: (clusterId: number) => Promise<ModpackArchive[]>,
313+
getVersions: () => Promise<OnlineClusterManifest> },
310314
'core': { getClusters: () => Promise<ClusterModel[]>,
311315
getClusterById: (id: number) => Promise<ClusterModel | null>,
312316
removeCluster: (id: number) => Promise<null>,
@@ -351,11 +355,7 @@ changeSkin: (accessToken: string, skinUrl: string, skinVariant: SkinVariant) =>
351355
changeCape: (accessToken: string, capeUuid: string) => Promise<MojangFullPlayerProfile>,
352356
removeCape: (accessToken: string) => Promise<MojangFullPlayerProfile>,
353357
convertUsernameUUID: (usernameUuid: string) => Promise<MowojangProfile>,
354-
open: (input: string) => Promise<null> },
355-
'oneclient': { openDevTools: () => Promise<void>,
356-
getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>>,
357-
getBundlesFor: (clusterId: number) => Promise<ModpackArchive[]>,
358-
getVersions: () => Promise<OnlineClusterManifest> } };
358+
open: (input: string) => Promise<null> } };
359359

360360

361361
export type { InferCommandOutput }

apps/oneclient/frontend/src/components/Bundle/Bundle.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ export function Bundle({ bundleData, cluster }: BundleProps) {
1717
return (
1818
<OverlayScrollbarsComponent>
1919
<div className={twMerge('grid gap-2 max-h-112 p-1 bg-page-elevated rounded-lg', useGridLayout || useVerticalGridLayout ? 'grid-cols-3' : 'grid-cols-1')}>
20-
{bundleData.manifest.files.map((file, index) => (
21-
<ModCard cluster={cluster} file={file} key={index} />
20+
{bundleData.manifest.files.map((file) => (
21+
<ModCard cluster={cluster} file={file} key={'Managed' in file.kind ? file.kind.Managed[0].id : file.kind.External.url} />
2222
))}
2323
<div className="h-1" />
2424
</div>

apps/oneclient/frontend/src/components/Bundle/ModCard.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ interface ModCardProps {
8585
cluster: ClusterModel;
8686
}
8787

88-
export type onClickOnMod = (file: ModpackFile, setSelected: React.Dispatch<React.SetStateAction<boolean>>) => void;
88+
export type onClickOnMod = (file: ModpackFile) => void;
8989
export interface ModCardContextApi {
9090
showModDownloadButton?: boolean;
9191
onClickOnMod?: onClickOnMod;
@@ -112,9 +112,12 @@ export function ModCard({ file, cluster }: ModCardProps) {
112112
}, [file, useVerticalGridLayout]);
113113

114114
const [isSelected, setSelected] = useState(mods?.includes(file) ?? false);
115+
useEffect(() => {
116+
setSelected(mods?.includes(file) ?? false);
117+
}, [mods, file]);
115118
const handleOnClick = () => {
116119
if (onClickOnMod)
117-
onClickOnMod(file, setSelected);
120+
onClickOnMod(file);
118121
};
119122

120123
const { setting } = useSettings();

apps/oneclient/frontend/src/components/Bundle/ModList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export function ModList({ bundles, cluster, selectedTab, onTabChange }: ModListP
2323
<Tabs defaultValue={selectedTab ?? getBundleName(bundles[0].manifest.name)} onTabChange={onTabChange}>
2424
<TabList className="justify-between px-4">
2525
<div className="flex flex-row gap-6 px-2">
26-
{bundles.map(bundle => <Tab key={getBundleName(bundle.manifest.name)} value={getBundleName(bundle.manifest.name)}>{getBundleName(bundle.manifest.name)}</Tab>)}
26+
{bundles.map(bundle => <Tab key={bundle.path} value={getBundleName(bundle.manifest.name)}>{getBundleName(bundle.manifest.name)}</Tab>)}
2727
</div>
2828
{!useVerticalGridLayout && (
2929
<Button onPress={() => setUseGrid(!useGridLayout)}>

apps/oneclient/frontend/src/routes/onboarding/preferences/versionCategory.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,26 +95,24 @@ function ModCategory({ bundleData, name }: { bundleData: BundleData; name: strin
9595
}
9696

9797
function ModCategoryCard({ art, fullVersionName, bundle, mods, setMods, clusterId }: { fullVersionName: string; art: string; bundle: ModpackArchive; mods: Array<ModpackFile>; setMods: React.Dispatch<React.SetStateAction<Array<ModpackFile>>>; clusterId: number }) {
98-
const [isSelected, setSelected] = useState<boolean>(false);
9998
const files = bundle.manifest.files;
99+
const isSelected = files.every(file => mods.includes(file));
100100
const handleDownload = () => {
101101
setMods((prevMods) => {
102102
if (isSelected)
103103
return prevMods.filter(mod => !files.includes(mod));
104104
else
105105
return [...files, ...prevMods];
106106
});
107-
setSelected(prev => !prev);
108107
};
109108

110-
const onClickOnMod: onClickOnMod = (file, setSelected) => {
109+
const onClickOnMod: onClickOnMod = (file) => {
111110
setMods((prevMods) => {
112111
if (prevMods.includes(file))
113112
return prevMods.filter(mod => mod !== file);
114113
else
115114
return [file, ...prevMods];
116115
});
117-
setSelected(prev => !prev);
118116
};
119117

120118
const context = useMemo<ModCardContextApi>(() => ({

0 commit comments

Comments
 (0)