fix: ordenacao numerica natural para marca de pecas (1, 2, 3... 10 em vez de alfabetica)

This commit is contained in:
2026-09-09 16:56:28 +00:00
parent 3ec309e9f7
commit bd429856a6
4 changed files with 10 additions and 5 deletions
@@ -157,11 +157,11 @@ export const SeletorItensOtimizado: React.FC<SeletorItensOtimizadoProps> = ({
peca.marca.toLowerCase().includes(filtroNumeroPeca.toLowerCase())
);
}
return pecasFiltradas.sort((a, b) => a.marca.localeCompare(b.marca));
return pecasFiltradas.sort((a, b) => a.marca.localeCompare(b.marca, undefined, { numeric: true, sensitivity: 'base' }));
}, [pecasDisponiveis, filtroNumeroPeca]);
const componentesOrdenados = useMemo(() => {
return componentesDisponiveis.sort((a, b) => a.marca.localeCompare(b.marca));
return componentesDisponiveis.sort((a, b) => a.marca.localeCompare(b.marca, undefined, { numeric: true, sensitivity: 'base' }));
}, [componentesDisponiveis]);
const fetchPecas = useCallback(async (term: string) => {
@@ -303,7 +303,7 @@ export const ItensRomaneioModal: React.FC<ItensRomaneioModalProps> = ({
return parseInt(aNum[0]) - parseInt(bNum[0]);
}
return a.marca.localeCompare(b.marca);
return a.marca.localeCompare(b.marca, undefined, { numeric: true, sensitivity: 'base' });
});
}, [pecasDisponiveis, faseFilter, marcaFilter]);
@@ -88,7 +88,7 @@ export const RomaneioReportModal: React.FC<RomaneioReportModalProps> = ({
if (typeof marcaA === 'number' && typeof marcaB === 'number') {
return marcaA - marcaB;
}
return String(marcaA).localeCompare(String(marcaB));
return String(marcaA).localeCompare(String(marcaB), undefined, { numeric: true, sensitivity: 'base' });
});
});