O módulo usa a identidade Supabase, isola cada workspace e registra storage, TTL, runner e biblioteca XLSX como decisões ainda abertas. Co-authored-by: Cursor <cursoragent@cursor.com>
1.7 KiB
1.7 KiB
PROMPT 09 — Mapeamento 1:1 e pré-visualização
Use o MASTER CONTEXT.
Objetivo
Implementar a etapa central do produto: mapear colunas fonte para colunas modelo e revisar o resultado antes de processar.
Interface de mapeamento
- mostrar metadados da fonte selecionada e do modelo;
- apresentar colunas fonte e destino claramente;
- permitir
Selectcomo interação básica obrigatória; - adicionar drag-and-drop com
@dnd-kitsomente como melhoria, mantendo alternativa completa por teclado/select; - marcar colunas obrigatórias do modelo;
- impedir mapeamento duplicado em ambos os sentidos;
- permitir deixar colunas não obrigatórias sem mapeamento;
- botão de continuar desabilitado enquanto obrigatórias faltarem;
- mensagem textual indicando exatamente o que falta.
Persistência
- mapping pertence à operação/fonte atual;
- salvar de forma suficiente para retomar a jornada da operação, mas não convertê-lo em template reutilizável;
- invalidar/recalcular quando fonte/modelo/header/aba mudar.
Preview
Antes do processamento:
- gerar amostra da estrutura resultante;
- respeitar ordem/colunas do modelo;
- não modificar o modelo persistido;
- deixar claro que é prévia;
- permitir voltar ao mapeamento sem perder estado válido;
- permitir confirmar processamento.
Acessibilidade
- drag via teclado ou alternativa equivalente;
- labels explícitos;
- foco previsível;
- estados não dependem só de cor.
Testes
- 1:1;
- obrigatórias;
- conflito;
- desmapear/remapear;
- troca de fonte;
- troca de aba/header;
- preview com ordem do modelo;
- navegação por teclado.
Entrega
Documente o algoritmo de validação de mapping e o contrato do preview.