feat: implement batch processing feature with tabbed interface

- Added `ActiveTab` enum to manage active tab state in `App`.
- Created `BatchItem` struct and integrated `batch_items` vector in `App`.
- Developed `BatchPanel` component for managing batch projects with inline forms.
- Implemented sequential processing in `App::start_batch_item()` with automatic advancement in `poll_background()`.
- Updated UI to display individual item states (` Aguardando | ⟳ Processando | ✓ Concluído | ⊸ Cancelado | ✗ Erro`).
- Blocked item addition/removal during processing.
- Enhanced session persistence to include batch projects in `SessionData`.
- Updated session save/load functions to handle new session structure.
This commit is contained in:
2026-02-28 20:28:24 -03:00
parent 5d8e92f33f
commit 121e919bbf
6 changed files with 880 additions and 124 deletions
+6 -6
View File
@@ -325,12 +325,12 @@ struct BatchItem {
### Tarefas
- [ ] Criar `enum ActiveTab` e barra de abas no `update()` de `App`
- [ ] Criar `BatchItem` e `batch_items: Vec<BatchItem>` em `App`
- [ ] Criar componente `BatchPanel` com carrinho e formulário inline (Opção A)
- [ ] Implementar loop sequencial de execução em `App::process_batch()`
- [ ] Exibir estado individual por item (`Aguardando | Processando | Concluído | Erro`)
- [ ] Bloquear adição/remoção de itens durante processamento
- [x] Criar `enum ActiveTab` e barra de abas no `update()` de `App`
- [x] Criar `BatchItem` e `batch_items: Vec<BatchItem>` em `App`
- [x] Criar componente `BatchPanel` com carrinho e formulário inline (Opção A)
- [x] Implementar loop sequencial de execução em `App::start_batch_item()` + avanço automático em `poll_background()`
- [x] Exibir estado individual por item (`Aguardando | Processando | Concluído | Erro`)
- [x] Bloquear adição/remoção de itens durante processamento
---