Files
SKEEN-Proyecto/frontend/src/lib/whatsapp.ts

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}`;
};