spec.md 3.4 KB

ADDED Requirements

Requirement: Three-layer page navigation

The SpeakingPanel SHALL manage a three-layer page structure with breadcrumb navigation: Layer 1 (英语学科主页) → Layer 2 (口语子页面) → Layer 3 (配置页).

Scenario: Navigate from Layer 1 to Layer 2

  • WHEN teacher clicks the "口语" exercise type on Layer 1
  • THEN the panel transitions to Layer 2 (口语子页面)
  • THEN the breadcrumb shows "英语学科 > 口语"

Scenario: Navigate back via breadcrumb

  • WHEN teacher clicks "英语学科" in the breadcrumb on Layer 2
  • THEN the panel returns to Layer 1

Requirement: Curriculum cascading selectors

Layer 1 SHALL display three cascading dropdown selectors for textbook, grade, and unit, loaded from curriculum.json.

Scenario: Select textbook, grade, and unit

  • WHEN teacher selects a textbook, grade, and unit from the dropdowns
  • THEN the unit info card updates to show the selected unit's title and description

Requirement: Unit info card

Layer 1 SHALL display a card showing the selected unit's title and learning description.

Scenario: View unit info

  • WHEN a unit is selected
  • THEN the card displays the unit's title (e.g., "Going to school") and its description

Requirement: Exercise type grid

Layer 1 SHALL display a grid of exercise types: 口语, 听力, 阅读, 写作.

Scenario: Click speaking exercise type

  • WHEN teacher clicks "口语"
  • THEN the panel navigates to Layer 2

Scenario: Click non-speaking exercise type

  • WHEN teacher clicks "听力", "阅读", or "写作"
  • THEN nothing happens (not implemented yet, visually disabled or show "coming soon")

Requirement: Creation mode switch on Layer 2

Layer 2 SHALL support creation mode switching as implemented in the demo SpeakingPanelV2.tsx.

Scenario: Switch between creation modes

  • WHEN teacher switches between 智能推荐, AI生成, and 手动创建
  • THEN the Layer 2 content updates to show the corresponding view

Requirement: Smart recommendation cards

Layer 2 in 智能推荐 mode SHALL display recommendation cards from topicDiscussionTasks.json, filtered by selected unit ID.

Scenario: View recommendations for a unit

  • WHEN Unit 2 is selected and 智能推荐 mode is active
  • THEN the panel displays 4 topic discussion recommendation cards with titleZh, subtitle, difficulty, rounds, durationMinutes

Scenario: Click a recommendation card

  • WHEN teacher clicks a recommendation card
  • THEN the panel navigates to Layer 3 (TopicDiscussionConfig) pre-filled with the card's vocabulary and sentences

Scenario: No recommendations for a unit

  • WHEN a unit with no recommendation data is selected
  • THEN the panel displays an empty state message

Requirement: AI generation UI shell

Layer 2 in AI生成 mode SHALL display the AI generation form UI without backend functionality.

Scenario: View AI generation form

  • WHEN teacher switches to AI生成 mode
  • THEN the AI generation form is displayed (UI only, no actual generation)

Requirement: Manual creation

Layer 2 in 手动创建 mode SHALL navigate directly to the TopicDiscussionConfig with default/empty values.

Scenario: Enter manual creation

  • WHEN teacher switches to 手动创建 mode
  • THEN the panel navigates to Layer 3 (TopicDiscussionConfig) with empty/default configuration