diff --git a/src/components/viewer3d/ModelViewer3D.tsx b/src/components/viewer3d/ModelViewer3D.tsx index 0369272..d638447 100644 --- a/src/components/viewer3d/ModelViewer3D.tsx +++ b/src/components/viewer3d/ModelViewer3D.tsx @@ -956,33 +956,33 @@ export const ModelViewer3D: React.FC = ({
- {/* Card de Controle de Seleção Flutuante Abaixo do Cubo */} + {/* Card de Controle de Seleção Flutuante Harmonizado Abaixo do Cubo */}
0 - ? 'bg-slate-900/95 border-fuchsia-500/50 shadow-fuchsia-950/50 ring-1 ring-fuchsia-500/30' - : 'bg-white/80 dark:bg-slate-900/70 border-slate-200/80 dark:border-slate-800/80 opacity-75 hover:opacity-100' + ? 'bg-white/95 dark:bg-slate-900/95 border-slate-300 dark:border-slate-700 shadow-slate-300/40 dark:shadow-slate-950/60 ring-1 ring-blue-500/20' + : 'bg-white/80 dark:bg-slate-900/70 border-slate-200 dark:border-slate-800/80 opacity-75 hover:opacity-100' }`} style={{ minWidth: '130px' }} > - {/* Badge Indicador de Seleção Ativa */} + {/* Badge Indicador de Seleção Ativa Sóbrio */} {selectedCount > 0 && ( -
- +
+ {selectedCount} {selectedCount === 1 ? 'peça' : 'peças'}
)} - {/* Botão Gerar Lista da Seleção ("Acende" e Habilita quando há peças selecionadas) */} + {/* Botão Gerar Lista da Seleção (Azul Escuro no claro / Azul Elegante no escuro) */} - {/* Botão Limpar Seleção */} + {/* Botão Limpar Seleção Harmonizado */}
- {/* KPIs Resumo no Topo */} -
-
-
+ {/* KPIs Resumo no Topo (Tons Sóbrios de Azul Escuro, Verde Escuro e Cinza) */} +
+ {/* Card 1: Total de Peças (Azul Escuro no claro / Azul Claro no escuro) */} +
+
- + Total de Peças - + {totalPhysicalPieces}
-
-
+ {/* Card 2: Marcas Distintas (Cinza Escuro no claro / Cinza Claro no escuro) */} +
+
- + Marcas Distintas - + {totalDistinctMarks}
-
-
+ {/* Card 3: Ordem de Fabricação (Verde Escuro no claro / Verde Claro no escuro) */} +
+
- + Ordem de Fabricação - + {selectedOF || 'N/A'}
-
-
+ {/* Card 4: Status / Seleção (Cinza Neutro / Azul) */} +
+
- + Status - + {totalPhysicalPieces > 0 ? 'Filtro Ativo' : 'Vazio'}
- {/* Tabela de Itens Selecionados com Rolagem Suave */} + {/* Tabela de Itens Selecionados Sóbria e Harmonizada */}
{consolidatedList.length === 0 ? (
- -

Nenhuma peça selecionada

+ +

Nenhuma peça selecionada

- Clique nas peças na cena 3D (ou clique duplo para pegar todas da mesma marca) para incluí-las nesta lista. + Clique nas peças na cena 3D (ou clique duplo para selecionar todas da mesma marca) para incluí-las nesta lista.

) : ( -
+
- + - - - {consolidatedList.map((item, idx) => ( - - - - - - - + {consolidatedList.map((item, idx) => { + const isPendente = !item.currentStage || item.currentStage.toLowerCase().includes('pendente'); + return ( + + + + + + + - - ))} + className={`px-2.5 py-0.5 rounded-full text-[10px] font-bold uppercase tracking-wider inline-flex items-center gap-1.5 border ${ + isPendente + ? 'bg-slate-100 text-slate-700 border-slate-200 dark:bg-slate-800 dark:text-slate-400 dark:border-slate-700' + : 'bg-emerald-50 text-emerald-900 border-emerald-200/80 dark:bg-emerald-950/50 dark:text-emerald-300 dark:border-emerald-800/60' + }`} + > + + {item.currentStage} + + + + ); + })}
Marca Principal Fase Perfil / Bitola + Qtd. 3D Qtd. OF Etapa / Apontamento
- - {item.pieceMark} - - - {item.phase} - - - {item.section} - - {item.selectedCount} - - {item.pointedQty} / {item.totalQty} - - +
+ + {item.pieceMark} + + + {item.phase} + + + {item.section} + + {item.selectedCount} + + {item.pointedQty} / {item.totalQty} + - {item.currentStage} - -
)}
- {/* Rodapé com Botões de Ação */} -
+ {/* Rodapé com Botões de Ação Harmonizados */} +
-
+
+ {/* Exportar Excel em tom Azul Escuro / Verde Escuro Industrial */}