// @ts-nocheck // ISWANAH HQ LIVE CUSTOMER MONITORING // Google Apps Script Web App - TV layout: New Customers only, larger images, // walking penguin footer restored, sizing tuned for 55" TV const SHEET_ID = "11daVvYM8S3Ak7ElDueSq5Oatt-NhaN9SBbmXmqR6YNU"; const SHEET_NAME = "BranchData"; const REFRESH_SECONDS = 10; // confirmed: auto-refresh fires every 10s via setInterval below const IMAGE_IDS = { cry: "1TBuvCnhPPNooDzkPvmGB5y_UQKI0Av3w", sad: "1B4UAkj15nUf-SemeVAosPrQ6Yec_xOGr", happy: "1f2QDEpLwyF_9eYQ5fqC5mbuZXVqCoEa9", rocket: "1QaDQu_l1al6aTTw2MBb2GlCVW0NfvPOJ" }; const SOUND_ID = "1cOye-ryKJV-OMlqY4AC0-aalquzhEp8a"; const CACHE_TTL_SECONDS = 21600; function fileToDataUrl_(fileId, cachePrefix) { const cache = CacheService.getScriptCache(); const cacheKey = cachePrefix + "_" + fileId; const cached = cache.get(cacheKey); if (cached) return cached; const blob = DriveApp.getFileById(fileId).getBlob(); const dataUrl = "data:" + blob.getContentType() + ";base64," + Utilities.base64Encode(blob.getBytes()); try { cache.put(cacheKey, dataUrl, CACHE_TTL_SECONDS); } catch (error) { console.log("Cache skipped: " + error); } return dataUrl; } function getStatusImages_() { const result = {}; Object.keys(IMAGE_IDS).forEach(function (key) { result[key] = fileToDataUrl_(IMAGE_IDS[key], "image"); }); return result; } function doGet() { const images = getStatusImages_(); const sound = fileToDataUrl_(SOUND_ID, "sound"); const html = `