refactor(rack-planner): lift port config modal state to root level to avoid rendering issues within transformed modules

This commit is contained in:
2026-03-22 15:04:53 -05:00
parent e2c5cad8a3
commit 5de001c630
3 changed files with 18 additions and 17 deletions

View File

@@ -15,11 +15,9 @@ interface ModuleBlockProps {
}
export function ModuleBlock({ module }: ModuleBlockProps) {
const { racks, updateModuleLocal } = useRackStore();
const { racks, updateModuleLocal, setActiveConfigPortId } = useRackStore();
const [hovered, setHovered] = useState(false);
const [editOpen, setEditOpen] = useState(false);
const [portModalOpen, setPortModalOpen] = useState(false);
const [selectedPortId, setSelectedPortId] = useState<string | null>(null);
// Resize state
const [previewUSize, setPreviewUSize] = useState<number | null>(null);
@@ -105,8 +103,7 @@ export function ModuleBlock({ module }: ModuleBlockProps) {
}
function openPort(portId: string) {
setSelectedPortId(portId);
setPortModalOpen(true);
setActiveConfigPortId(portId);
}
const { cablingFromPortId, setCablingFromPortId, createConnection } = useRackStore();
@@ -236,17 +233,6 @@ export function ModuleBlock({ module }: ModuleBlockProps) {
</div>
<ModuleEditPanel module={module} open={editOpen} onClose={() => setEditOpen(false)} />
{selectedPortId && (
<PortConfigModal
portId={selectedPortId}
open={portModalOpen}
onClose={() => {
setPortModalOpen(false);
setSelectedPortId(null);
}}
/>
)}
</>
);
}