mirror of
https://github.com/semantica-agi/semantica.git
synced 2026-08-29 04:26:20 +00:00
fix(explorer): address PR #487 review blockers
1. Prevent active-but-disabled Focused button by only disabling when viewMode is not already "focused" (viewMode !== "focused" && !canActivateFocusedMode). 2. Generalize inspector fallback copy — stale/invalid node IDs are not necessarily grouped items, so remove the misleading "Activate Focused mode" hint. 3. Move pluginRuntimeRef.current read out of render by converting canActivateFocusedMode from useMemo to useState + useEffect, resolving two ESLint "cannot access refs during render" errors and the missing toolbar-memo dependency warning. Co-authored-by: Sameer6305 <sskadam6305@gmail.com> Co-authored-by: KaifAhmad1 <kaifahmad087@gmail.com>
This commit is contained in:
@@ -176,7 +176,7 @@ export function GraphInspectorPanel({
|
||||
if (!graph.hasNode(nodeId)) {
|
||||
return (
|
||||
<div style={{ padding: 24, color: "#8b949e", fontSize: 13, lineHeight: 1.6 }}>
|
||||
Selected grouped item is not directly inspectable. Activate Focused mode to resolve to a canonical node.
|
||||
Selected item is not available for inspection in the current graph.
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -862,10 +862,10 @@ export function GraphWorkspace() {
|
||||
}
|
||||
setViewMode("focused");
|
||||
}, [resolveNodeIdForFocusedMode, selectedNodeId]);
|
||||
const canActivateFocusedMode = useMemo(
|
||||
() => Boolean(resolveNodeIdForFocusedMode(selectedNodeId)),
|
||||
[pluginRuntimeVersion, resolveNodeIdForFocusedMode, selectedNodeId],
|
||||
);
|
||||
const [canActivateFocusedMode, setCanActivateFocusedMode] = useState(false);
|
||||
useEffect(() => {
|
||||
setCanActivateFocusedMode(Boolean(resolveNodeIdForFocusedMode(selectedNodeId)));
|
||||
}, [pluginRuntimeVersion, resolveNodeIdForFocusedMode, selectedNodeId]);
|
||||
|
||||
const focusNode = useCallback((nodeId: string) => {
|
||||
if (!nodeId) {
|
||||
@@ -1429,7 +1429,7 @@ export function GraphWorkspace() {
|
||||
label: "Focused",
|
||||
title: "Inspect the selected node in a focused local graph",
|
||||
active: viewMode === "focused",
|
||||
disabled: !canActivateFocusedMode,
|
||||
disabled: viewMode !== "focused" && !canActivateFocusedMode,
|
||||
onClick: activateFocusedMode,
|
||||
},
|
||||
],
|
||||
@@ -1532,6 +1532,8 @@ export function GraphWorkspace() {
|
||||
|
||||
return groups;
|
||||
}, [
|
||||
activateFocusedMode,
|
||||
canActivateFocusedMode,
|
||||
displayState.groupedViewAvailable,
|
||||
handlePluginAction,
|
||||
hasGraphContent,
|
||||
|
||||
Reference in New Issue
Block a user