import { usePileCapStore } from '../../store/pileCapStore'; import { DraggableLabel } from './DraggableLabel'; export const ElevationDiagram = () => { const geometry = usePileCapStore(state => state.geometry); // Global Diagram State const isLocked = usePileCapStore(state => state.diagramState.isLocked); const labelPositions = usePileCapStore(state => state.diagramState.labelPositions); const setDiagramLocked = usePileCapStore(state => state.setDiagramLocked); const updateLabelPosition = usePileCapStore(state => state.updateLabelPosition); const getLabelPos = (id: string, defaultX: number, defaultY: number) => { return labelPositions[id] || { x: defaultX, y: defaultY }; }; const scale = 30; // pixels per foot const svgWidth = geometry.length * scale + 100; const svgHeight = (geometry.soilCover + geometry.depth / 12 + 3) * scale + 100; // Add space for piles below const offsetX = 50; const offsetY = 50; // Calculate heights const soilHeight = geometry.soilCover * scale; const pileCapHeight = (geometry.depth / 12) * scale; const pileExtension = 2 * scale; // Show 2 feet of pile below cap // Pile positions const startX = (geometry.length - (geometry.pileColumns - 1) * geometry.pileSpacingX) / 2; return (