21 lines
893 B
TypeScript
21 lines
893 B
TypeScript
// WhatsApp: enlace wa.me con número en formato E.164 (México = 52 + número,
|
|
// sin "+", sin espacios). Devuelve null si no hay número utilizable.
|
|
export const waNumber = (raw?: string | null): string | null => {
|
|
if (!raw) return null;
|
|
const digits = raw.replace(/\D/g, '');
|
|
if (!digits) return null;
|
|
// Ya trae lada del país (52155..., 52661..., etc.)
|
|
if (digits.startsWith('52')) return digits;
|
|
// Número local de 10 dígitos: anteponer lada de México
|
|
if (digits.length === 10) return `52${digits}`;
|
|
// Otros formatos: quitar ceros a la izquierda (ej. "01" de larga distancia)
|
|
return digits.replace(/^0+/, '') || null;
|
|
};
|
|
|
|
export const waLink = (raw?: string | null, text?: string): string | null => {
|
|
const number = waNumber(raw);
|
|
if (!number) return null;
|
|
const q = text ? `?text=${encodeURIComponent(text)}` : '';
|
|
return `https://wa.me/${number}${q}`;
|
|
};
|