feat: logs page

This commit is contained in:
Szedann 2025-08-12 22:23:56 +02:00
parent b1c8563853
commit 843db8f995
4 changed files with 28 additions and 13 deletions

View file

@ -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<ClusterModel[]>,
getClusterById: (id: bigint) => Promise<ClusterModel | null>,
removeCluster: (id: bigint) => Promise<null>,

View file

@ -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 (
<SheetPage.Content>
<div className="flex flex-col gap-4">
<h1 className="text-2xl font-semibold">Cluster Logs</h1>
<p>Welcome to the cluster overview page. Here you can find information about your clusters.</p>
<div style={{ height: '1500px' }}>
<div className="flex justify-between items-center">
<div className="flex items-center gap-2">
<h2 className="text-xxl font-semibold">Logs</h2>
<span className="flex font-mono items-center rounded-md bg-component-bg py-1.5 px-2 gap-1">
<File05Icon width={20} />
{logFile.fileName}
</span>
</div>
</div>
<p>test</p>
<code className="font-mono p-4 bg-component-bg whitespace-pre-line rounded-xl">
{logFile.content}
</code>
{/* Additional content can be added here */}
</div>
</SheetPage.Content>

View file

@ -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 };
},
});

View file

@ -109,7 +109,3 @@ body {
.os-hide-horizontal-scrollbar > .os-scrollbar-horizontal {
display: none;
}
code {
@apply rounded-md p-2 text-left;
}