mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-28 23:11:37 +08:00
Add a GUI-first setup gate and runtime state API so desktop onboarding is safe, iterative, and works with isolated fresh-mode installs. Scaffold and wire the desktop shell/runtime pieces so this branch runs end-to-end without disturbing existing user installs.
37 lines
851 B
TypeScript
37 lines
851 B
TypeScript
import type { Translations } from "@/i18n/types";
|
|
|
|
const BUILTIN: Record<string, keyof Translations["app"]["nav"]> = {
|
|
"/chat": "chat",
|
|
"/sessions": "sessions",
|
|
"/analytics": "analytics",
|
|
"/logs": "logs",
|
|
"/cron": "cron",
|
|
"/skills": "skills",
|
|
"/config": "config",
|
|
"/env": "keys",
|
|
"/docs": "documentation",
|
|
};
|
|
|
|
export function resolvePageTitle(
|
|
pathname: string,
|
|
t: Translations,
|
|
pluginTabs: { path: string; label: string }[],
|
|
): string {
|
|
const normalized = pathname.replace(/\/$/, "") || "/";
|
|
if (normalized === "/setup") {
|
|
return "Setup";
|
|
}
|
|
if (normalized === "/") {
|
|
return t.app.nav.sessions;
|
|
}
|
|
const plugin = pluginTabs.find((p) => p.path === normalized);
|
|
if (plugin) {
|
|
return plugin.label;
|
|
}
|
|
const key = BUILTIN[normalized];
|
|
if (key) {
|
|
return t.app.nav[key];
|
|
}
|
|
return t.app.webUi;
|
|
}
|