import { useConnectionStore } from '../../store/connectionStore'; export const ResultsSummary = () => { const { support, beam, angle: _angle, materials, loads, limitStates, loadCombinations, geometryChecks, designCheck, designMethod: _designMethod, bolts, weld } = useConnectionStore(); return (
{/* GEOMETRY Section */}
GEOMETRY
Connection Type ...................... Double-Angle
Support Designation ................. {support.designation}
Support Type .............................. {support.type === 'column-flange' ? 'Column-Flange' : support.type} {support.type === 'column-flange' && NG}
Beam Designation .................... {beam.designation}
Beam Gap from Support .......... {beam.gapFromSupport.toFixed(2)} in OK
{geometryChecks.map((check, idx) => (
{check.description} {check.lengthC && `${check.lengthC} `} {check.heightDc && `${check.heightDc} `} {check.status}
))}
{/* MATERIALS Section */}
MATERIALS
Yield Fy Tensile Fu
Support ........ {materials.support.fy.toFixed(1)} {materials.support.fu.toFixed(1)} ksi
Beam ............ {materials.beam.fy.toFixed(1)} {materials.beam.fu.toFixed(1)} ksi
Angle ............ {materials.angle.fy.toFixed(1)} {materials.angle.fu.toFixed(1)} ksi
Modulus of Elasticity ........ {materials.modulusOfElasticity} ksi
Use {bolts.numberOfRows} Rows of {bolts.diameter}" diam {bolts.grade} Bolts @ {bolts.spacing.toFixed(1)} in
Use {weld.size}" {weld.type} weld Strength = {weld.strength.toFixed(1)} ksi
DESIGN CODES
Steel Design ..................AISC 360-16
Load Combinations ........ASCE 7-10/16
{/* UNFACTORED LOADS */}
UNFACTORED LOADS
Dead Live RLive Snow Wind Seismic
Vertical Load P .............. {loads.dead.toFixed(1)} {loads.live.toFixed(1)} {loads.rLive.toFixed(1)} {loads.snow.toFixed(1)} {loads.wind.toFixed(1)} {loads.seismic.toFixed(1)} kip
{/* CONNECTION STRENGTH */}
CONNECTION STRENGTH (kip)
{limitStates.map((ls, idx) => ( ))}
Limit States φ Rn φRn
{ls.name} .......................... {ls.applicable ? ls.phi.toFixed(2) : 'N.A.'} {ls.applicable ? ls.rn.toFixed(1) : 'N.A.'} {ls.applicable ? ( <> {ls.phiRn.toFixed(1)} kip {ls.phiRn > 20 && } ) : ( 'N.A.' )}
{/* COMBINED LOADS */}
COMBINED LOADS (kip)
{loadCombinations.map((lc) => ( ))}
Load Combination Pu
Ⓒ{lc.id} {lc.equation} {lc.pu.toFixed(1)} {lc.passes ? 'OK' : 'NG'} {lc.passes && }
{/* DESIGN CHECKS */}
DESIGN CHECKS
Geometric Constraints Check ............... {designCheck.geometricConstraintsCheck} {designCheck.geometricConstraintsCheck === 'OK' ? '✓' : '✗'}
); };