refactor(rack-planner): lift port config modal state to root level to avoid rendering issues within transformed modules
This commit is contained in:
@@ -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);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user