| /** | |
| * react/components/cards/DetailCard.jsx | |
| * ===================================== | |
| * Technical specification card for the active module. | |
| */ | |
| import React from 'react'; | |
| import { ROUTING_MATRIX } from '../visualization/routing_matrix.js'; | |
| export default function DetailCard({ moduleId }) { | |
| if (!moduleId) { | |
| return ( | |
| <div className="inspector-card detail-card empty" data-testid="detail-card"> | |
| <p className="empty-text">No active module selected</p> | |
| </div> | |
| ); | |
| } | |
| const config = ROUTING_MATRIX[moduleId] || {}; | |
| return ( | |
| <div className="inspector-card detail-card" data-testid="detail-card"> | |
| <div className="card-header"> | |
| <span className="card-tag">SPECIFICATION</span> | |
| <h4 className="card-title">{moduleId}</h4> | |
| </div> | |
| <div className="detail-meta-list"> | |
| <div className="meta-row"> | |
| <span className="meta-label">Category:</span> | |
| <span className="meta-val badge-category">Category {config.category}</span> | |
| </div> | |
| <div className="meta-row"> | |
| <span className="meta-label">Subcategory:</span> | |
| <span className="meta-val">{config.subcategory || 'Standard'}</span> | |
| </div> | |
| <div className="meta-row"> | |
| <span className="meta-label">Discrete States:</span> | |
| <span className="meta-val">{config.states?.length || 0} stages</span> | |
| </div> | |
| <div className="meta-row"> | |
| <span className="meta-label">Substates:</span> | |
| <span className="meta-val">{config.substates?.length ? config.substates.join(', ') : 'None'}</span> | |
| </div> | |
| </div> | |
| </div> | |
| ); | |
| } | |
Xet Storage Details
- Size:
- 1.65 kB
- Xet hash:
- 5870742655ea476140a3c9f11588894bbaef52c826b1a16dc924e86168dc48a3
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.