Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | /** * Server-safe metadata for spot components. * Separated from the client-only registry so API routes can read the list. */ export interface SpotComponentMeta { id: string label: string description: string } export const SPOT_COMPONENT_LIST: SpotComponentMeta[] = [ { id: 'practice-showcase', label: 'Practice Showcase', description: 'Row of practice problems in various states (correct, active, waiting)', }, { id: 'start-practice-modal', label: 'Start Practice Modal', description: 'Static showcase of the session configuration modal', }, { id: 'practice-showcase-compact', label: 'Practice Showcase (Compact)', description: 'Compact row of 3 practice problems for tighter layouts', }, { id: 'ten-frames-demo', label: 'Ten-Frames Demo', description: 'Interactive ten-frames addition demonstration', }, { id: 'multi-digit-demo', label: 'Multi-Digit Demo', description: 'Multi-digit addition with place value scaffolding', }, { id: 'start-practice-modal-expanded', label: 'Start Practice Modal (Expanded)', description: 'Expanded view of the session configuration modal with all settings visible', }, ] /** Get list of available spot components for admin UI dropdowns */ export function getSpotComponentList(): SpotComponentMeta[] { return SPOT_COMPONENT_LIST } |