UX Dashboard: fila Hoy en la clinica, KPIs clickeables, deltas; Cumpleanos wa.me E.164; Mis ventas con grafica diaria
This commit is contained in:
20
frontend/src/lib/whatsapp.ts
Normal file
20
frontend/src/lib/whatsapp.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
// 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}`;
|
||||
};
|
||||
Reference in New Issue
Block a user