Overhaul extraction pipeline with new TradeItem model, conversation flow, and dedicated extraction endpoint. Add sidebar navigation with NavMenu component and landing page. Introduce few-shot prompting service and tests. Add prompt settings and email upload specs. Update OpenSpec tooling with improved export-spec and extract-feature commands. Archive completed changes and export full specs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Collapsible sidebar drawer
|
|
|
|
The application SHALL have a MudDrawer in MainLayout that contains a navigation menu. The drawer SHALL be toggleable via a hamburger icon button in the AppBar.
|
|
|
|
#### Scenario: Drawer visible on load
|
|
|
|
- **WHEN** the application loads
|
|
- **THEN** the sidebar drawer is displayed in its default open state with navigation links visible
|
|
|
|
#### Scenario: Drawer toggles on hamburger click
|
|
|
|
- **WHEN** the user clicks the hamburger icon in the AppBar
|
|
- **THEN** the drawer toggles between open and collapsed states
|
|
|
|
### Requirement: Navigation menu with Sales Assistant link
|
|
|
|
The sidebar drawer SHALL contain a MudNavMenu with a "Sales Assistant" navigation link that routes to `/sales-assistant`.
|
|
|
|
#### Scenario: Sales Assistant link present
|
|
|
|
- **WHEN** the drawer is open
|
|
- **THEN** a "Sales Assistant" link with a SmartToy icon is visible in the navigation menu
|
|
|
|
#### Scenario: Clicking Sales Assistant navigates to chat
|
|
|
|
- **WHEN** the user clicks the "Sales Assistant" link
|
|
- **THEN** the browser navigates to `/sales-assistant` and the chat page renders in MudMainContent
|
|
|
|
### Requirement: NavMenu is a separate component
|
|
|
|
The navigation menu SHALL be implemented as a separate `NavMenu.razor` component in the Layout folder, referenced from MainLayout.
|
|
|
|
#### Scenario: NavMenu renders inside drawer
|
|
|
|
- **WHEN** MainLayout renders
|
|
- **THEN** the NavMenu component renders inside the MudDrawer with its navigation links
|