# ClientFlow v4.7.3 — HTMX Partials & View Models

## Objetivo

A v4.7.3 consolida a primeira camada HTMX depois da separação de rotas da v4.7.2.

Não altera regras de negócio, base de dados, Chatwoot, auto-complete, associação de oportunidades ou outbox worker.

## O que muda

### Centro de trabalho

`/operations` passa a ter refresh parcial da lista de trabalho:

- endpoint: `/operations/partials/work-items`
- target: `#operations-work-items`
- filtros com `hx-get`
- `hx-push-url` para manter URL partilhável
- indicador `#operations-loading`

### Tasks

`/tasks` passa a ter refresh parcial da lista:

- endpoint: `/tasks/partials/list`
- target: `#tasks-list`
- tabs e formulário com `hx-get`
- `hx-push-url` para manter URL partilhável
- indicador `#tasks-loading`

### Oportunidades

A v4.7.3 mantém e documenta os partials já usados no detalhe da oportunidade:

- `/opportunities/{id}/partials/products`
- `/opportunities/{id}/partials/jasmin-documents`

Estes partials continuam a ser usados pelos forms HTMX de produtos e documentos.

## View models e labels

Foram criados:

- `app/admin_ui/labels.py`
- `app/admin_ui/htmx.py`
- `app/admin_ui/view_models/operations.py`

A intenção é retirar labels e preparação de dados das rotas antes de avançar para mais partials.

## Critério de segurança

A v4.7.3 é uma versão de UI/estrutura. Não muda:

- schema da base de dados
- workflow Chatwoot
- auto-complete
- regras de oportunidade/cliente
- worker de outbox
- integrações Jasmin/Packlink/Odoo

## Validação

```bash
PYTHONPATH=. python -m compileall app scripts tests
PYTHONPATH=. pytest -q
```

## Próximo passo

A próxima versão pode consolidar:

- partial do quadro de oportunidades
- partial da outbox operacional
- componentes HTML para `work_item_card`, `task_table` e `opportunity_card`
