fix: get_logs returning folders as well
This commit is contained in:
parent
9db18e4d12
commit
fdf74258a0
7 changed files with 19 additions and 17 deletions
|
|
@ -228,13 +228,8 @@ export type VersionType =
|
|||
*/
|
||||
"old_beta"
|
||||
|
||||
const ARGS_MAP = { 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}', 'oneclient':'{"getClustersGroupedByMajor":[],"openDevTools":[]}', 'events':'{"process":["event"],"ingress":["event"],"message":["event"]}', 'core':'{"openMsaLogin":[],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"getMultiplePackages":["provider","slugs"],"getGlobalProfile":[],"getLogByName":["id","name"],"getLogs":["id"],"getClusterById":["id"],"getLoadersForVersion":["mc_version"],"getDefaultUser":["fallback"],"getWorlds":["id"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"getUsersFromAuthor":["provider","author"],"getProfileOrDefault":["name"],"updateClusterProfile":["name","profile"],"getUser":["uuid"],"launchCluster":["id","uuid"],"getPackageBody":["provider","body"],"readSettings":[],"getGameVersions":[],"searchPackages":["provider","query"],"getUsers":[],"removeUser":["uuid"],"createCluster":["options"],"writeSettings":["setting"],"getPackage":["provider","slug"],"setDefaultUser":["uuid"],"getScreenshots":["id"],"updateClusterById":["id","request"],"getClusters":[],"removeCluster":["id"]}' }
|
||||
export type Router = { 'oneclient': { openDevTools: () => Promise<void>,
|
||||
getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>> },
|
||||
'events': { ingress: (event: IngressPayload) => Promise<void>,
|
||||
message: (event: MessagePayload) => Promise<void>,
|
||||
process: (event: ProcessPayload) => Promise<void> },
|
||||
'core': { getClusters: () => Promise<ClusterModel[]>,
|
||||
const ARGS_MAP = { 'oneclient':'{"openDevTools":[],"getClustersGroupedByMajor":[]}', 'core':'{"openMsaLogin":[],"readSettings":[],"getProfileOrDefault":["name"],"getLogByName":["id","name"],"getWorlds":["id"],"launchCluster":["id","uuid"],"getGameVersions":[],"getUser":["uuid"],"removeUser":["uuid"],"getUsersFromAuthor":["provider","author"],"getPackage":["provider","slug"],"setDefaultUser":["uuid"],"getMultiplePackages":["provider","slugs"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"updateClusterById":["id","request"],"getGlobalProfile":[],"getLoadersForVersion":["mc_version"],"getPackageBody":["provider","body"],"writeSettings":["setting"],"getScreenshots":["id"],"getLogs":["id"],"getDefaultUser":["fallback"],"getClusterById":["id"],"removeCluster":["id"],"updateClusterProfile":["name","profile"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"createCluster":["options"],"getClusters":[],"searchPackages":["provider","query"],"getUsers":[]}', 'events':'{"ingress":["event"],"process":["event"],"message":["event"]}', 'folders':'{"fromCluster":["folder_name"],"openCluster":["folder_name"]}' }
|
||||
export type Router = { 'core': { getClusters: () => Promise<ClusterModel[]>,
|
||||
getClusterById: (id: number) => Promise<ClusterModel | null>,
|
||||
removeCluster: (id: number) => Promise<null>,
|
||||
createCluster: (options: CreateCluster) => Promise<ClusterModel>,
|
||||
|
|
@ -265,7 +260,12 @@ getPackageVersions: (provider: Provider, slug: string, mcVersion: string | null,
|
|||
downloadPackage: (provider: Provider, packageId: string, versionId: string, clusterId: number, skipCompatibility: boolean | null) => Promise<PackageModel>,
|
||||
getUsersFromAuthor: (provider: Provider, author: PackageAuthor) => Promise<ManagedUser[]> },
|
||||
'folders': { fromCluster: (folderName: string) => Promise<string>,
|
||||
openCluster: (folderName: string) => Promise<null> } };
|
||||
openCluster: (folderName: string) => Promise<null> },
|
||||
'oneclient': { openDevTools: () => Promise<void>,
|
||||
getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>> },
|
||||
'events': { ingress: (event: IngressPayload) => Promise<void>,
|
||||
message: (event: MessagePayload) => Promise<void>,
|
||||
process: (event: ProcessPayload) => Promise<void> } };
|
||||
|
||||
|
||||
export type { InferCommandOutput }
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ function RouteComponent() {
|
|||
const { cluster } = Route.useRouteContext();
|
||||
const { scrollContainerRef } = useSheetPageContext();
|
||||
|
||||
const { data: fileNames } = useCommandSuspense(['getLogs', cluster.id.toString()], () => bindings.core.getLogs(cluster.id));
|
||||
const { data: fileNames } = useCommandSuspense(['getLogs', cluster.id], () => bindings.core.getLogs(cluster.id));
|
||||
|
||||
const [activeFileName, setActiveFileName] = useState<Key | undefined>(fileNames[0] || undefined);
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@ import { createFileRoute } from '@tanstack/react-router';
|
|||
export const Route = createFileRoute('/app/cluster/overview')({
|
||||
component: RouteComponent,
|
||||
async beforeLoad(ctx) {
|
||||
const cluster = await bindings.core.getClusterById(ctx.search.clusterId as unknown as bigint);
|
||||
return { cluster };
|
||||
const cluster = await bindings.core.getClusterById(ctx.search.clusterId);
|
||||
return {
|
||||
cluster,
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import { useRef, useState } from 'react';
|
|||
|
||||
export interface ClusterRouteSearchParams {
|
||||
clusterId: number;
|
||||
a: number;
|
||||
}
|
||||
|
||||
export const Route = createFileRoute('/app/cluster')({
|
||||
|
|
@ -19,7 +18,6 @@ export const Route = createFileRoute('/app/cluster')({
|
|||
validateSearch: (search): ClusterRouteSearchParams => {
|
||||
return {
|
||||
clusterId: Number(search.clusterId),
|
||||
a: 6,
|
||||
};
|
||||
},
|
||||
async beforeLoad({ context, search }) {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ function RouteComponent() {
|
|||
|
||||
const navigate = Route.useNavigate();
|
||||
|
||||
const { data: clusters } = useCommandSuspense('getClustersGroupedByMajor', bindings.oneclient.getClustersGroupedByMajor);
|
||||
const { data: clusters } = useCommandSuspense(['getClustersGroupedByMajor'], bindings.oneclient.getClustersGroupedByMajor);
|
||||
|
||||
const loadMinorVersion = useCallback((major: number) => {
|
||||
const existing = prevMinorVersions.find(v => v.major === major);
|
||||
|
|
@ -194,7 +194,7 @@ function RouteComponent() {
|
|||
navigate({
|
||||
to: `/app/cluster/overview`,
|
||||
search: {
|
||||
clusterId: cluster.id as unknown as number,
|
||||
clusterId: cluster.id,
|
||||
},
|
||||
});
|
||||
}}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ export const Route = createFileRoute('/app/')({
|
|||
|
||||
function RouteComponent() {
|
||||
const { data: clusters } = useCommandSuspense(
|
||||
'getClusters',
|
||||
['getClusters'],
|
||||
bindings.core.getClusters,
|
||||
{
|
||||
select(data) {
|
||||
|
|
|
|||
|
|
@ -58,7 +58,9 @@ pub async fn get_logs(cluster: &clusters::Model) -> LauncherResult<Vec<String>>
|
|||
let mut list = vec![];
|
||||
let mut files = io::read_dir(path).await?;
|
||||
while let Ok(Some(entry)) = files.next_entry().await {
|
||||
list.push(entry.file_name().to_string_lossy().to_string());
|
||||
if entry.file_type().await.is_ok_and(|ft| ft.is_file()) {
|
||||
list.push(entry.file_name().to_string_lossy().to_string());
|
||||
}
|
||||
}
|
||||
|
||||
list.sort_by(|a, b| {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue