polish server deployment workflow

This commit is contained in:
npc0-hue
2026-07-25 10:57:22 +08:00
parent 4e2bff4639
commit bb12137c4e
7 changed files with 74 additions and 26 deletions
+6 -2
View File
@@ -100,7 +100,10 @@ export function routeForPage(pageId: PageId): PageRoute {
export function hashForPage(pageId: PageId, params: PageParams = {}): string {
const route = routeForPage(pageId);
if (pageId === "serverDetail" && params.serverId) {
return `#/servers/${encodeURIComponent(params.serverId)}`;
const query = new URLSearchParams();
if (params.routeKey) query.set("focus", params.routeKey);
const suffix = query.toString();
return `#/servers/${encodeURIComponent(params.serverId)}${suffix ? `?${suffix}` : ""}`;
}
if (pageId === "pluginPage" && params.pluginId && params.routeKey) {
const query = new URLSearchParams();
@@ -144,7 +147,8 @@ export function resolveRouteHash(hash: string, user?: CurrentUserView): Resolved
return fallback;
}
if (segments[0] === "servers" && segments.length > 1) {
return { route: routeForPage("serverDetail"), params: { serverId: decodeURIComponent(segments[1]) } };
const routeKey = new URLSearchParams(rawQuery).get("focus") ?? undefined;
return { route: routeForPage("serverDetail"), params: { serverId: decodeURIComponent(segments[1]), routeKey } };
}
if (segments[0] === "plugin-pages" && segments.length > 2) {
const serverId = new URLSearchParams(rawQuery).get("serverInstanceId") ?? undefined;