feat(FN-4722): complete Step 5 — add goals header overflow entry

Fusion-Task-Id: FN-4722
Fusion-Task-Lineage: 51be7260-82f0-4ec9-a350-06778b8eb01b
This commit is contained in:
Fusion (runfusion.ai)
2026-05-16 06:20:32 -07:00
committed by gsxdsm
parent 224c6d0168
commit 064040ed7e
2 changed files with 18 additions and 2 deletions

View File

@@ -1727,6 +1727,7 @@ function AppInner() {
devServerView: devServerEnabled,
researchView: researchEnabled,
evalsView: evalsEnabled,
goalsView: goalsEnabled,
}}
pluginDashboardViews={pluginDashboardViews}
shellConnectionControl={
@@ -1871,6 +1872,7 @@ function AppInner() {
todoView: todosEnabled,
researchView: researchEnabled,
evalsView: evalsEnabled,
goalsView: goalsEnabled,
nodesView: nodesEnabled,
}}
pluginDashboardViews={pluginDashboardViews}

View File

@@ -241,7 +241,7 @@ export interface HeaderProps {
/** Whether the current view is a remote node */
isRemote?: boolean;
/** Experimental feature flags controlling visibility of nav items. */
experimentalFeatures?: { insights?: boolean; memoryView?: boolean; devServer?: boolean; devServerView?: boolean; researchView?: boolean; evalsView?: boolean };
experimentalFeatures?: { insights?: boolean; memoryView?: boolean; devServer?: boolean; devServerView?: boolean; researchView?: boolean; evalsView?: boolean; goalsView?: boolean };
pluginDashboardViews?: PluginDashboardViewEntry[];
shellConnectionControl?: ReactNode;
}
@@ -1198,7 +1198,7 @@ export function Header({
<>
<button
ref={viewOverflowTriggerRef}
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" : ""}`}
className={`view-toggle-btn${["research", "skills", "insights", "memory", "reliability", "dev-server", "devserver", "graph", "stash-recovery"].includes(view) || (experimentalFeatures?.evalsView && view === "evals") || (experimentalFeatures?.goalsView && view === "goalsView") || (todosEnabled && todosOpen) || isPluginViewId(view) ? " active" : ""}
onClick={() => setIsViewOverflowOpen((prev) => !prev)}
title="More views"
aria-label="More views"
@@ -1229,6 +1229,20 @@ export function Header({
<span>Evals</span>
</button>
)}
{experimentalFeatures?.goalsView && (
<button
className={`view-toggle-overflow-item${view === "goalsView" ? " active" : ""}`}
onClick={() => {
onChangeView("goalsView");
setIsViewOverflowOpen(false);
}}
role="menuitem"
data-testid="view-overflow-goals"
>
<Target size={14} />
<span>Goals</span>
</button>
)}
<button
className={`view-toggle-overflow-item${view === "stash-recovery" ? " active" : ""}`}
onClick={() => {