Files
Claude-Code-Monitor/client/src/hooks/useDocumentTitle.ts
T
nntrivi2001 ce1aece895 feat: Claude Code Monitor — lanes, pipelines and a merged workspace
Internal SmartGift build of a Claude Code monitoring dashboard.

Lanes: a durable unit of parallel agent work, one per working directory,
tracked across session restarts. Managed lanes are git worktrees the
dashboard provisions and can reset or remove behind a three-check destroy
guard and a counted preflight; adopted lanes are directories you already
own and are never destroyable.

Pipelines: a lane moves through pipeline stages. A stage the agent declares
with evidence renders green; a stage inferred from the tool-event stream
renders dashed amber and never counts as done. Detection is forward-only
within a 30-minute window, and never writes the declared stage.

Workspace: one page at /run with a lane grid, the selected lane's pipeline,
and a full Claude console behind a disclosure.
2026-07-30 12:15:01 +07:00

26 lines
771 B
TypeScript

/**
* @file useDocumentTitle.ts
* @description Sets `document.title` for the current route/page and restores the
* previous title on unmount so browser tabs stay distinguishable.
* @author Nguyễn Ngọc Trí Vĩ <vinnt@smartgift.vn>
*/
import { useEffect } from "react";
const APP_SUFFIX = "Claude Code Agent Monitor";
/**
* Update the browser tab title while this component is mounted.
* @param title Page-specific title segment (without the app suffix), or null to skip.
*/
export function useDocumentTitle(title: string | null | undefined): void {
useEffect(() => {
if (!title) return;
const previous = document.title;
document.title = `${title} · ${APP_SUFFIX}`;
return () => {
document.title = previous;
};
}, [title]);
}