From 843db8f995196a0afc334b8d5ed79fd06c3fc73a Mon Sep 17 00:00:00 2001 From: Szedann <65607498+Szedann@users.noreply.github.com> Date: Tue, 12 Aug 2025 22:23:56 +0200 Subject: [PATCH] feat: logs page --- apps/oneclient/frontend/src/bindings.gen.ts | 2 +- .../frontend/src/routes/app/cluster/logs.tsx | 29 +++++++++++++++---- .../src/routes/app/cluster/overview.tsx | 6 ++-- packages/web_common/src/theme.css | 4 --- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/apps/oneclient/frontend/src/bindings.gen.ts b/apps/oneclient/frontend/src/bindings.gen.ts index d78788e1..9a5dfc93 100644 --- a/apps/oneclient/frontend/src/bindings.gen.ts +++ b/apps/oneclient/frontend/src/bindings.gen.ts @@ -228,7 +228,7 @@ export type VersionType = */ "old_beta" -const ARGS_MAP = { 'core':'{"getClusters":[],"updateClusterById":["id","request"],"getGameVersions":[],"searchPackages":["provider","query"],"getUser":["uuid"],"getWorlds":["id"],"readSettings":[],"getPackage":["provider","slug"],"getClusterById":["id"],"writeSettings":["setting"],"getMultiplePackages":["provider","slugs"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"getLoadersForVersion":["mc_version"],"getPackageBody":["provider","body"],"launchCluster":["id","uuid"],"getUsersFromAuthor":["provider","author"],"getGlobalProfile":[],"getUsers":[],"removeUser":["uuid"],"removeCluster":["id"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"createCluster":["options"],"getProfileOrDefault":["name"],"updateClusterProfile":["name","profile"],"openMsaLogin":[],"setDefaultUser":["uuid"],"getDefaultUser":["fallback"],"getScreenshots":["id"]}', 'events':'{"ingress":["event"],"message":["event"],"process":["event"]}', 'oneclient':'{"openDevTools":[],"getClustersGroupedByMajor":[]}' } +const ARGS_MAP = { 'events':'{"ingress":["event"],"message":["event"],"process":["event"]}', 'oneclient':'{"openDevTools":[],"getClustersGroupedByMajor":[]}', 'core':'{"getClusters":[],"updateClusterById":["id","request"],"getGameVersions":[],"searchPackages":["provider","query"],"getUser":["uuid"],"getWorlds":["id"],"readSettings":[],"getPackage":["provider","slug"],"getClusterById":["id"],"writeSettings":["setting"],"getMultiplePackages":["provider","slugs"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"getLoadersForVersion":["mc_version"],"getPackageBody":["provider","body"],"launchCluster":["id","uuid"],"getUsersFromAuthor":["provider","author"],"getGlobalProfile":[],"getUsers":[],"removeUser":["uuid"],"removeCluster":["id"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"createCluster":["options"],"getProfileOrDefault":["name"],"updateClusterProfile":["name","profile"],"openMsaLogin":[],"setDefaultUser":["uuid"],"getDefaultUser":["fallback"],"getScreenshots":["id"]}' } export type Router = { 'core': { getClusters: () => Promise, getClusterById: (id: bigint) => Promise, removeCluster: (id: bigint) => Promise, diff --git a/apps/oneclient/frontend/src/routes/app/cluster/logs.tsx b/apps/oneclient/frontend/src/routes/app/cluster/logs.tsx index 83a78e4e..9e36bf78 100644 --- a/apps/oneclient/frontend/src/routes/app/cluster/logs.tsx +++ b/apps/oneclient/frontend/src/routes/app/cluster/logs.tsx @@ -1,22 +1,39 @@ import { SheetPage } from '@/components/SheetPage'; +import { bindings } from '@/main'; import { createFileRoute } from '@tanstack/react-router'; +import { File02Icon, File05Icon } from '@untitled-theme/icons-react'; export const Route = createFileRoute('/app/cluster/logs')({ component: RouteComponent, + async beforeLoad(ctx) { + const cluster = await bindings.core.getClusterById(ctx.search.clusterId as unknown as bigint); + // TODO: make it use actual data once that's available + const logFile = { + fileName: 'latest.log', + content: await (await fetch('https://api.mclo.gs/1/raw/M1eHlVd')).text(), + }; + return { cluster, logFile }; + }, }); function RouteComponent() { - const { cluster } = Route.useRouteContext(); + const { logFile } = Route.useRouteContext(); return (
-

Cluster Logs

-

Welcome to the cluster overview page. Here you can find information about your clusters.

-
- +
+
+

Logs

+ + + {logFile.fileName} + +
-

test

+ + {logFile.content} + {/* Additional content can be added here */}
diff --git a/apps/oneclient/frontend/src/routes/app/cluster/overview.tsx b/apps/oneclient/frontend/src/routes/app/cluster/overview.tsx index 00c23208..961c179c 100644 --- a/apps/oneclient/frontend/src/routes/app/cluster/overview.tsx +++ b/apps/oneclient/frontend/src/routes/app/cluster/overview.tsx @@ -1,10 +1,12 @@ import { SheetPage } from '@/components/SheetPage'; +import { bindings } from '@/main'; import { createFileRoute } from '@tanstack/react-router'; export const Route = createFileRoute('/app/cluster/overview')({ component: RouteComponent, - beforeLoad(ctx) { - console.log('beforeLoad overview', ctx.search); + async beforeLoad(ctx) { + const cluster = await bindings.core.getClusterById(ctx.search.clusterId as unknown as bigint); + return { cluster }; }, }); diff --git a/packages/web_common/src/theme.css b/packages/web_common/src/theme.css index f5c184db..f0be6864 100644 --- a/packages/web_common/src/theme.css +++ b/packages/web_common/src/theme.css @@ -109,7 +109,3 @@ body { .os-hide-horizontal-scrollbar > .os-scrollbar-horizontal { display: none; } - -code { - @apply rounded-md p-2 text-left; -}