All files / web/src/lib/page-spots spotComponentList.ts

0% Statements 0/48
0% Branches 0/1
0% Functions 0/1
0% Lines 0/48

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
}