feat: add terminal panel components and Zustand store for state management

- Created a barrel export file for terminal panel components.
- Implemented Zustand store for managing terminal panel UI state, including visibility, active terminal, view mode, and terminal ordering.
- Added actions for opening/closing the terminal panel, setting the active terminal, changing view modes, and managing terminal order.
- Introduced selectors for accessing terminal panel state properties.
This commit is contained in:
catlog22
2026-02-12 23:53:11 +08:00
parent e44a97e812
commit ddbe12b7af
72 changed files with 1055 additions and 254 deletions

View File

@@ -127,7 +127,7 @@ describe('ExecutionGroup', () => {
render(<ExecutionGroup {...defaultProps} type="parallel" />, { locale: 'en' });
// Parallel items should not have numbers in the numbering position
const numberElements = document.querySelectorAll('.text-muted-foreground.text-xs');
document.querySelectorAll('.text-muted-foreground.text-xs');
// In parallel mode, the numbering position should be empty
});
});

View File

@@ -17,8 +17,13 @@ describe('QueueCard', () => {
};
const mockQueue: IssueQueue = {
tasks: ['task1', 'task2'],
solutions: ['solution1'],
tasks: [
{ item_id: 'task1', issue_id: 'issue-1', solution_id: 'sol-1', status: 'pending', execution_order: 1, execution_group: 'group-1', depends_on: [], semantic_priority: 1 },
{ item_id: 'task2', issue_id: 'issue-1', solution_id: 'sol-1', status: 'pending', execution_order: 2, execution_group: 'group-1', depends_on: [], semantic_priority: 1 },
],
solutions: [
{ item_id: 'solution1', issue_id: 'issue-1', solution_id: 'sol-1', status: 'pending', execution_order: 1, execution_group: 'group-1', depends_on: [], semantic_priority: 1 },
],
conflicts: [],
execution_groups: ['group-1'],
grouped_items: mockQueueItems,