feat(FN-4360): complete Step 4 — wire reliability view and nav
Fusion-Task-Id: FN-4360 Fusion-Task-Lineage: 50e17cef-29b0-4adc-aa1c-bffdebe4b43c
This commit is contained in:
@@ -100,6 +100,7 @@ const ChatView = lazy(() => import("./components/ChatView").then((m) => ({ defau
|
|||||||
|
|
||||||
const SkillsView = lazy(() => import("./components/SkillsView").then((m) => ({ default: m.SkillsView })));
|
const SkillsView = lazy(() => import("./components/SkillsView").then((m) => ({ default: m.SkillsView })));
|
||||||
const MemoryView = lazy(() => import("./components/MemoryView").then((m) => ({ default: m.MemoryView })));
|
const MemoryView = lazy(() => import("./components/MemoryView").then((m) => ({ default: m.MemoryView })));
|
||||||
|
const ReliabilityView = lazy(() => import("./components/ReliabilityView").then((m) => ({ default: m.ReliabilityView })));
|
||||||
const DevServerView = lazy(() => import("./components/DevServerView").then((m) => ({ default: m.DevServerView })));
|
const DevServerView = lazy(() => import("./components/DevServerView").then((m) => ({ default: m.DevServerView })));
|
||||||
const _TodoView = lazy(() => import("./components/TodoView").then((m) => ({ default: m.TodoView })));
|
const _TodoView = lazy(() => import("./components/TodoView").then((m) => ({ default: m.TodoView })));
|
||||||
const StashRecoveryView = lazy(() => import("./components/StashRecoveryView").then((m) => ({ default: m.StashRecoveryView })));
|
const StashRecoveryView = lazy(() => import("./components/StashRecoveryView").then((m) => ({ default: m.StashRecoveryView })));
|
||||||
@@ -126,6 +127,7 @@ function prefetchLazyViews() {
|
|||||||
|
|
||||||
void import("./components/SkillsView");
|
void import("./components/SkillsView");
|
||||||
void import("./components/MemoryView");
|
void import("./components/MemoryView");
|
||||||
|
void import("./components/ReliabilityView");
|
||||||
void import("./components/DevServerView");
|
void import("./components/DevServerView");
|
||||||
void import("./components/TodoView");
|
void import("./components/TodoView");
|
||||||
void import("./components/StashRecoveryView");
|
void import("./components/StashRecoveryView");
|
||||||
@@ -1490,6 +1492,16 @@ function AppInner() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (taskView === "reliability") {
|
||||||
|
return (
|
||||||
|
<PageErrorBoundary>
|
||||||
|
<Suspense fallback={null}>
|
||||||
|
<ReliabilityView />
|
||||||
|
</Suspense>
|
||||||
|
</PageErrorBoundary>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (taskView === "devserver" || taskView === "dev-server") {
|
if (taskView === "devserver" || taskView === "dev-server") {
|
||||||
if (!settingsLoaded || !devServerEnabled) {
|
if (!settingsLoaded || !devServerEnabled) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -1182,7 +1182,7 @@ export function Header({
|
|||||||
<>
|
<>
|
||||||
<button
|
<button
|
||||||
ref={viewOverflowTriggerRef}
|
ref={viewOverflowTriggerRef}
|
||||||
className={`view-toggle-btn${["research", "skills", "insights", "memory", "dev-server", "devserver", "graph", "stash-recovery"].includes(view) || (experimentalFeatures?.evalsView && view === "evals") || (todosEnabled && todosOpen) || isPluginViewId(view) ? " active" : ""}`}
|
className={`view-toggle-btn${["research", "skills", "insights", "memory", "reliability", "dev-server", "devserver", "graph", "stash-recovery"].includes(view) || (experimentalFeatures?.evalsView && view === "evals") || (todosEnabled && todosOpen) || isPluginViewId(view) ? " active" : ""}`}
|
||||||
onClick={() => setIsViewOverflowOpen((prev) => !prev)}
|
onClick={() => setIsViewOverflowOpen((prev) => !prev)}
|
||||||
title="More views"
|
title="More views"
|
||||||
aria-label="More views"
|
aria-label="More views"
|
||||||
@@ -1284,6 +1284,18 @@ export function Header({
|
|||||||
<span>Memory</span>
|
<span>Memory</span>
|
||||||
</button>
|
</button>
|
||||||
)}
|
)}
|
||||||
|
<button
|
||||||
|
className={`view-toggle-overflow-item${view === "reliability" ? " active" : ""}`}
|
||||||
|
onClick={() => {
|
||||||
|
onChangeView("reliability");
|
||||||
|
setIsViewOverflowOpen(false);
|
||||||
|
}}
|
||||||
|
role="menuitem"
|
||||||
|
data-testid="view-overflow-reliability"
|
||||||
|
>
|
||||||
|
<Activity size={14} />
|
||||||
|
<span>Reliability</span>
|
||||||
|
</button>
|
||||||
{experimentalFeatures?.devServerView && (
|
{experimentalFeatures?.devServerView && (
|
||||||
<button
|
<button
|
||||||
className={`view-toggle-overflow-item${view === "dev-server" || view === "devserver" ? " active" : ""}`}
|
className={`view-toggle-overflow-item${view === "dev-server" || view === "devserver" ? " active" : ""}`}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { getScopedItem, setScopedItem } from "../utils/projectStorage";
|
|||||||
import { getPluginViewId, isPluginViewId, isPluginViewRegistered } from "../plugins/pluginViewRegistry";
|
import { getPluginViewId, isPluginViewId, isPluginViewRegistered } from "../plugins/pluginViewRegistry";
|
||||||
|
|
||||||
export type ViewMode = "overview" | "project";
|
export type ViewMode = "overview" | "project";
|
||||||
export type BuiltInTaskView = "board" | "list" | "graph" | "agents" | "missions" | "chat" | "documents" | "research" | "evals" | "skills" | "mailbox" | "insights" | "memory" | "devserver" | "dev-server" | "stash-recovery";
|
export type BuiltInTaskView = "board" | "list" | "graph" | "agents" | "missions" | "chat" | "documents" | "research" | "evals" | "skills" | "mailbox" | "insights" | "memory" | "reliability" | "devserver" | "dev-server" | "stash-recovery";
|
||||||
export type PluginTaskView = `plugin:${string}:${string}`;
|
export type PluginTaskView = `plugin:${string}:${string}`;
|
||||||
export type TaskView = BuiltInTaskView | PluginTaskView;
|
export type TaskView = BuiltInTaskView | PluginTaskView;
|
||||||
|
|
||||||
@@ -24,6 +24,7 @@ const BUILT_IN_TASK_VIEWS: readonly BuiltInTaskView[] = [
|
|||||||
"mailbox",
|
"mailbox",
|
||||||
"insights",
|
"insights",
|
||||||
"memory",
|
"memory",
|
||||||
|
"reliability",
|
||||||
"devserver",
|
"devserver",
|
||||||
"dev-server",
|
"dev-server",
|
||||||
"stash-recovery",
|
"stash-recovery",
|
||||||
|
|||||||
Reference in New Issue
Block a user