import React, { useState, useEffect } from 'react'; import { useBeamStore } from '../../store/useBeamStore'; export const ShearDiagram: React.FC = () => { const { results, calculate } = useBeamStore(); const [selectedSegment, setSelectedSegment] = useState('ALL'); const [selectedCombination, setSelectedCombination] = useState('1.4D'); // Auto-calculate on mount if no results useEffect(() => { if (!results) { calculate(); } }, [results, calculate]); return (
Shear Diagram
{/* Beam visualization with lateral bracing indicator */}
R = 3.1 kip R = 3.1 kip 15.00 ft {/* Green beam */} {/* Supports */} {/* Lateral bracing indicator */} ◎ indicates lateral bracing
{/* Shear diagram chart */}
{/* Grid */} {Array.from({ length: 11 }).map((_, i) => ( ))} {Array.from({ length: 11 }).map((_, i) => ( ))} {/* Y-axis labels */} 3.1 2.1 1.0 0.0 -1.0 -2.1 -3.1 {/* Shear area (red) */} {/* Title */} SHEAR DIAGRAM (kip)
{/* Controls */}
); };