Frontend: - Implementar máscara de entrada de telefone para números BR ((XX) XXXXX-XXXX). - Atualizar formulário de cadastro para enviar dados completos do perfil do candidato (endereço, formação, habilidades, etc.). - Corrigir problemas de idioma misto na página de Detalhes da Vaga e adicionar traduções faltantes. Backend: - Atualizar modelo de Usuário, Entidade e DTOs para incluir campos de perfil (Data de Nascimento, Endereço, Formação, etc.). - Atualizar UserRepository para persistir e recuperar os dados estendidos do usuário no PostgreSQL. - Atualizar RegisterCandidateUseCase para mapear campos de entrada para a entidade Usuário.
24 lines
614 B
TypeScript
24 lines
614 B
TypeScript
import { clsx, type ClassValue } from "clsx"
|
|
import { twMerge } from "tailwind-merge"
|
|
|
|
export function cn(...inputs: ClassValue[]) {
|
|
return twMerge(clsx(inputs))
|
|
}
|
|
|
|
export function formatPhone(value: string): string {
|
|
// Remove non-numeric characters
|
|
const digits = value.replace(/\D/g, "");
|
|
|
|
// Limit to 11 digits
|
|
const limited = digits.substring(0, 11);
|
|
|
|
// Apply mask
|
|
if (limited.length <= 10) {
|
|
// (xx) xxxx-xxxx
|
|
return limited.replace(/(\d{2})(\d{4})(\d{0,4})/, "($1) $2-$3");
|
|
} else {
|
|
// (xx) xxxxx-xxxx
|
|
return limited.replace(/(\d{2})(\d{5})(\d{0,4})/, "($1) $2-$3");
|
|
}
|
|
}
|
|
|