/* whatsapp.js — Format tanggal, render template, dan buat link wa.me */ (function (global) { 'use strict'; var HARI = ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu']; var BULAN = ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']; function parseISO(iso) { if (!iso) return null; var d = new Date(String(iso).length <= 10 ? iso + 'T00:00:00' : iso); return isNaN(d.getTime()) ? null : d; } function namaHari(iso) { var d = parseISO(iso); return d ? HARI[d.getDay()] : ''; } // 22 September 2025 function tanggalPanjang(iso) { var d = parseISO(iso); if (!d) return ''; return d.getDate() + ' ' + BULAN[d.getMonth()] + ' ' + d.getFullYear(); } function tanggalLengkap(iso) { var d = parseISO(iso); if (!d) return ''; return HARI[d.getDay()] + ', ' + d.getDate() + ' ' + BULAN[d.getMonth()] + ' ' + d.getFullYear(); } function context(candidate, settings) { var s = settings || {}; var iv = candidate.interview || {}; var tanggalSumber = iv.tanggal || candidate.tanggalMelamar || ''; return { nama: candidate.nama || '', posisi: candidate.posisi || '', perusahaan: s.perusahaan || 'E-recruitment', status: candidate.statusNama || '', tanggal: tanggalPanjang(tanggalSumber), hari: namaHari(tanggalSumber), tanggal_lengkap: tanggalLengkap(tanggalSumber), tanggal_melamar: tanggalPanjang(candidate.tanggalMelamar), jam: iv.jam || '', metode: iv.metode || '', lokasi: iv.lokasi || '', pewawancara: iv.pewawancara || '', hr: s.hr || '', jabatan_hr: s.jabatanHr || '' }; } function render(isi, ctx) { return String(isi || '').replace(/\{\{\s*([a-zA-Z_]+)\s*\}\}/g, function (match, key) { var k = key.toLowerCase(); return Object.prototype.hasOwnProperty.call(ctx, k) ? String(ctx[k]) : match; }); } function buildLink(phoneNorm, message) { return 'https://wa.me/' + phoneNorm + '?text=' + encodeURIComponent(message || ''); } function open(phoneNorm, message) { var w = global.open(buildLink(phoneNorm, message), '_blank', 'noopener'); if (w) w.focus(); } var PLACEHOLDERS = [ 'nama', 'posisi', 'perusahaan', 'status', 'tanggal', 'hari', 'jam', 'metode', 'lokasi', 'pewawancara', 'hr', 'jabatan_hr' ]; global.WA = { render: render, context: context, buildLink: buildLink, open: open, namaHari: namaHari, tanggalPanjang: tanggalPanjang, tanggalLengkap: tanggalLengkap, PLACEHOLDERS: PLACEHOLDERS }; })(window);