{
  "version": 3,
  "sources": ["/cdn/shop/t/67/assets/eq-skio-customer-portal.js?t=08.10.2026"],
  "sourcesContent": ["(function (global) {\r\n    \"use strict\";\r\n\r\n    var LOG_PREFIX = \"[STOCKED-DELIVERY-PORTAL]\";\r\n    function log() { try { console.log.apply(console, [LOG_PREFIX].concat([].slice.call(arguments))); } catch (e) { } }\r\n    function warn() { try { console.warn.apply(console, [LOG_PREFIX].concat([].slice.call(arguments))); } catch (e) { } }\r\n\r\n    var PORTAL_UI_HTML = `\r\n        <div data-binaery-ui=\"portal-ddp\" class=\"binaery-portal-ddp\" style=\"margin-bottom: 1rem; padding: 1rem; border: 1px solid #e5e7eb; border-radius: 0.75rem; background: #ffffff;\">\r\n        <div data-binaery-label=\"next-delivery\" style=\"font-size: 0.875rem; font-weight: 600; margin-bottom: 0.5rem; color: #111827;\">Next delivery: \u2014</div>\r\n        <button type=\"button\" data-binaery-btn=\"delivery-date\" style=\"width: 100%; padding: 0.625rem 1rem; background: #000000; color: #ffffff; border: none; border-radius: 0.5rem; cursor: pointer; font-weight: 600; font-size: 0.875rem; transition: opacity 0.2s;\">Choose delivery date</button>\r\n        </div>\r\n`;\r\n\r\n    var CALENDAR_HTML = `\r\n  <div class=\"binaery-overlay\" data-binaery-role=\"overlay\" style=\"display:none;\">\r\n    <div class=\"binaery-modal\">\r\n      <button type=\"button\" class=\"binaery-modal-close\" data-binaery-role=\"close\" aria-label=\"Close\">&times;</button>\r\n      <div class=\"binaery-modal-body\">\r\n        <div class=\"binaery-modal-calendar\" data-binaery-role=\"calendar-host\">\r\n          <div class=\"binaery-calendar\">\r\n            <div class=\"binaery-calendar-header\">\r\n              <button type=\"button\" class=\"binaery-calendar-nav\" data-binaery-role=\"prev\" aria-label=\"Previous month\">\u2039</button>\r\n              <div class=\"binaery-calendar-month\" data-binaery-role=\"month-label\"></div>\r\n              <button type=\"button\" class=\"binaery-calendar-nav\" data-binaery-role=\"next\" aria-label=\"Next month\">\u203A</button>\r\n            </div>\r\n            <div class=\"binaery-calendar-weekdays\" data-binaery-role=\"weekday-row\">\r\n              <div class=\"binaery-calendar-weekday\"></div>\r\n              <div class=\"binaery-calendar-weekday\"></div>\r\n              <div class=\"binaery-calendar-weekday\"></div>\r\n              <div class=\"binaery-calendar-weekday\"></div>\r\n              <div class=\"binaery-calendar-weekday\"></div>\r\n              <div class=\"binaery-calendar-weekday\"></div>\r\n              <div class=\"binaery-calendar-weekday\"></div>\r\n            </div>\r\n            <div class=\"binaery-calendar-grid\" data-binaery-role=\"day-grid\">\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"0\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"1\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"2\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"3\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"4\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"5\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"6\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"7\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"8\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"9\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"10\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"11\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"12\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"13\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"14\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"15\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"16\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"17\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"18\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"19\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"20\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"21\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"22\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"23\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"24\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"25\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"26\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"27\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"28\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"29\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"30\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"31\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"32\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"33\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"34\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"35\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"36\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"37\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"38\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"39\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"40\"></button>\r\n              <button type=\"button\" class=\"binaery-calendar-cell\" data-day-index=\"41\"></button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"binaery-modal-actions\" style=\"display: flex; gap: 0.75rem; margin-top: 1rem;\">\r\n          <button type=\"button\" class=\"binaery-ddp-btn\" data-binaery-role=\"cancel\" style=\"flex: 1;\">Cancel</button>\r\n          <button type=\"button\" class=\"binaery-ddp-btn binaery-ddp-btn--primary\" data-binaery-role=\"save\" style=\"flex: 1; background: #000; color: #fff;\">Save date</button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n`;\r\n\r\n    function qs(sel, root) { return (root || document).querySelector(sel); }\r\n    function qsa(sel, root) { return Array.prototype.slice.call((root || document).querySelectorAll(sel)); }\r\n\r\n    function readCfg() {\r\n        var node = document.getElementById(\"binaery-portal-config\");\r\n        var cfg = {\r\n            updateEndpoint: \"https://stockedfood.eqserver.net/skio/updateSubscriptionDate\",\r\n            batchEndpoint: \"https://stockedfood.eqserver.net/skio/getSubscriptionsBatch\",\r\n            firstDay: 1,\r\n            label: \"Choose delivery date\",\r\n            shop: \"stockedfood.myshopify.com\"\r\n        };\r\n\r\n        if (!node) return cfg;\r\n\r\n        if (node.dataset.updateEndpoint) cfg.updateEndpoint = node.dataset.updateEndpoint;\r\n        if (node.dataset.batchEndpoint) cfg.batchEndpoint = node.dataset.batchEndpoint;\r\n        if (node.dataset.label) cfg.label = node.dataset.label;\r\n        if (node.dataset.firstDay) cfg.firstDay = parseInt(node.dataset.firstDay, 10) || 1;\r\n        if (node.dataset.shop) cfg.shop = node.dataset.shop;\r\n\r\n        return cfg;\r\n    }\r\n\r\n    var cfg = global.BINAERY_PORTAL_CFG || readCfg();\r\n    log(\"INIT cfg\", cfg);\r\n\r\n    var rafScanId = null;\r\n    var observer = null;\r\n    var subscriptionDataCache = {};\r\n    var isFetchingBatch = false;\r\n\r\n    function inPortal() {\r\n        var p = (global.location && global.location.pathname) || \"\";\r\n        return p.indexOf(\"/a/\") === 0;\r\n    }\r\n\r\n    function isSubscriptionsPage() {\r\n        var p = (global.location && global.location.pathname) || \"\";\r\n        return p.indexOf(\"/a/account/subscriptions\") === 0;\r\n    }\r\n\r\n    function ensureCalendarLoaded() {\r\n        return !!(global.BinaeryCalendar && typeof global.BinaeryCalendar.initOverlay === \"function\");\r\n    }\r\n\r\n    function getSubscriptionIdFromCard(card) {\r\n        var v =\r\n            card.getAttribute(\"data-subscription-id\") ||\r\n            (card.dataset && (card.dataset.subscriptionId || card.dataset.subId)) ||\r\n            \"\";\r\n\r\n        if (v) return v;\r\n\r\n        var inner = qs(\"[data-subscription-id]\", card);\r\n        if (inner) return inner.getAttribute(\"data-subscription-id\") || \"\";\r\n\r\n        return \"\";\r\n    }\r\n\r\n    function normalizeISO(x) {\r\n        if (!x) return \"\";\r\n        var s = String(x).trim();\r\n        if (s.length >= 10 && s.charAt(4) === \"-\" && s.charAt(7) === \"-\") return s.slice(0, 10);\r\n        return s;\r\n    }\r\n\r\n    function isoToDDMMYYYY(iso) {\r\n        if (!iso) return \"\";\r\n        var p = String(iso).slice(0, 10).split(\"-\");\r\n        if (p.length !== 3) return \"\";\r\n        var pad = function(n) { return String(n).length < 2 ? \"0\" + n : n; };\r\n        return pad(p[2]) + \".\" + pad(p[1]) + \".\" + p[0];\r\n    }\r\n\r\n    function ddmmToIso(str) {\r\n        if (!str) return \"\";\r\n        var p = str.trim().split(\".\");\r\n        if (p.length !== 3) return \"\";\r\n        // DD.MM.YYYY -> YYYY-MM-DD\r\n        return p[2] + \"-\" + p[1] + \"-\" + p[0];\r\n    }\r\n\r\n    function parseSkioDate(str) {\r\n        if (!str) return \"\";\r\n        var d = new Date(str);\r\n        if (isNaN(d.getTime())) {\r\n            if (str.split(\" \").length === 2) {\r\n                var year = new Date().getFullYear();\r\n                d = new Date(str + \" \" + year);\r\n            }\r\n            if (isNaN(d.getTime())) return \"\";\r\n        }\r\n        var y = d.getFullYear();\r\n        var m = (d.getMonth() + 1).toString().padStart(2, \"0\");\r\n        var day = d.getDate().toString().padStart(2, \"0\");\r\n        return y + \"-\" + m + \"-\" + day;\r\n    }\r\n\r\n    function extractDateFromCard(card) {\r\n        var dateEl = qs('[data-testid=\"NextChargeDate\"]', card) || \r\n                     qs('[data-testid=\"NextRenewalDate\"]', card) ||\r\n                     qs('.skio-next-billing-date', card);\r\n        \r\n        if (dateEl) {\r\n            var dateStr = dateEl.textContent.trim();\r\n            log(\"Extracted date string from DOM:\", dateStr);\r\n            return parseSkioDate(dateStr);\r\n        }\r\n        \r\n        return \"\";\r\n    }\r\n\r\n    function getUiTemplateRoot() {\r\n        var wrap = document.getElementById(\"binaery-portal-ui-template\");\r\n        if (wrap && wrap.firstElementChild) return wrap.firstElementChild;\r\n        \r\n        var div = document.createElement(\"div\");\r\n        div.innerHTML = PORTAL_UI_HTML.trim();\r\n        return div.firstElementChild;\r\n    }\r\n\r\n    function cardHasUi(card) {\r\n        return !!qs('[data-binaery-ui=\"portal-ddp\"]', card);\r\n    }\r\n\r\n    function isCancelled(card) {\r\n        return !!qs('[data-chipname=\"cancelled\"]', card);\r\n    }\r\n\r\n    function cloneUi() {\r\n        var root = getUiTemplateRoot();\r\n        if (!root) return null;\r\n        \r\n        var ui = root.cloneNode(true);\r\n\r\n        var btn = qs('[data-binaery-btn=\"delivery-date\"]', ui);\r\n        if (btn) btn.textContent = cfg.label || \"Choose delivery date\";\r\n\r\n        return ui;\r\n    }\r\n\r\n    function setNextDeliveryLabel(uiRoot, iso) {\r\n        var label = qs('[data-binaery-label=\"next-delivery\"]', uiRoot);\r\n        if (!label) return;\r\n\r\n        var formatted = isoToDDMMYYYY(normalizeISO(iso));\r\n        label.textContent = \"Next delivery: \" + (formatted || \"\u2014\");\r\n    }\r\n\r\n    function toggleLoading(show) {\r\n        var id = \"binaery-portal-loading-overlay\";\r\n        var el = document.getElementById(id);\r\n        if (show) {\r\n            if (!el) {\r\n                el = document.createElement(\"div\");\r\n                el.id = id;\r\n                el.style = \"position:fixed; inset:0; background:rgba(255,255,255,0.7); z-index:2147483647; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(2px);\";\r\n                el.innerHTML = '<div style=\"width:40px; height:40px; border:4px solid #f3f3f3; border-top:4px solid #000; border-radius:50%; animation: binaery-spin 1s linear infinite;\"></div><style>@keyframes binaery-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }</style>';\r\n                document.body.appendChild(el);\r\n            }\r\n            el.style.display = \"flex\";\r\n        } else if (el) {\r\n            el.style.display = \"none\";\r\n        }\r\n    }\r\n\r\n    function formatSkioPaymentDate(date) {\r\n        var months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n        return months[date.getMonth()] + \" \" + date.getDate() + \", \" + date.getFullYear();\r\n    }\r\n\r\n    function getSundayBefore(iso) {\r\n        var d = new Date(iso);\r\n        var day = d.getDay(); // 0 = Sun, 1 = Mon ...\r\n        // Sunday before (or same day if already Sunday)\r\n        d.setDate(d.getDate() - day);\r\n        return d;\r\n    }\r\n\r\n    function updatePaymentDateLabel(card, deliveryIso) {\r\n        var sunday = getSundayBefore(deliveryIso);\r\n        var formattedShort = formatSkioPaymentDate(sunday);\r\n        \r\n        var chip = qs('[data-testid=\"chip\"]', card);\r\n        if (chip) {\r\n            // Update aria-label: Shipment 2026-06-07T00:00:00+00:00\r\n            // Using a simple ISO string for the aria-label\r\n            var y = sunday.getFullYear();\r\n            var m = (sunday.getMonth() + 1).toString().padStart(2, \"0\");\r\n            var day = sunday.getDate().toString().padStart(2, \"0\");\r\n            var isoStr = y + \"-\" + m + \"-\" + day + \"T00:00:00+00:00\";\r\n            chip.setAttribute(\"aria-label\", \"Shipment \" + isoStr);\r\n            \r\n            // The text is usually inside span > span > span\r\n            var dateSpan = qs('span[title]', chip);\r\n            if (dateSpan) {\r\n                dateSpan.textContent = formattedShort;\r\n                dateSpan.setAttribute(\"title\", formattedShort + \" (Asia/Calcutta) \");\r\n            }\r\n        }\r\n    }\r\n\r\n    function showCustomConfirm(dateStr) {\r\n        return new Promise(function (resolve) {\r\n            // Create the overlay container\r\n            var overlay = document.createElement(\"div\");\r\n            overlay.className = \"binaery-overlay confirm-modal-overlay\";\r\n            overlay.style = \"position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:2147483647; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(3px); font-family: inherit;\";\r\n\r\n            // Create the modal container\r\n            var modal = document.createElement(\"div\");\r\n            modal.style = \"background:#ffffff; border-radius:16px; padding:32px; width:90%; max-width:440px; box-shadow:0 10px 25px rgba(0,0,0,0.15); position:relative; text-align:center; box-sizing:border-box; animation: binaery-fade-in 0.2s ease-out;\";\r\n\r\n            // Animation style\r\n            var styleTag = document.createElement(\"style\");\r\n            styleTag.textContent = \"@keyframes binaery-fade-in { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }\";\r\n            document.head.appendChild(styleTag);\r\n\r\n            // Close button (x)\r\n            var closeBtn = document.createElement(\"button\");\r\n            closeBtn.style = \"position:absolute; top:16px; right:16px; background:#f5f5f5; border:none; border-radius:50%; width:32px; height:32px; cursor:pointer; display:flex; align-items:center; justify-content:center; font-weight:bold; color:#212121; font-size:16px; line-height:1; padding:0; margin:0;\";\r\n            closeBtn.innerHTML = \"&times;\";\r\n            closeBtn.onclick = function () {\r\n                cleanup();\r\n                resolve(false);\r\n            };\r\n            modal.appendChild(closeBtn);\r\n\r\n            // Header\r\n            var header = document.createElement(\"h3\");\r\n            header.textContent = \"Immediate Payment Confirm\";\r\n            header.style = \"margin:0 0 16px 0; font-size:18px; font-weight:bold; color:#212121; text-transform:uppercase; letter-spacing:0.5px;\";\r\n            modal.appendChild(header);\r\n\r\n            // Message text\r\n            var text = document.createElement(\"p\");\r\n            text.innerHTML = \"Selecting a delivery date in the current week (<strong>\" + dateStr + \"</strong>) will trigger payment for this order immediately.<br><br>Are you sure you want to proceed?\";\r\n            text.style = \"margin:0 0 28px 0; font-size:14px; line-height:1.5; color:#555555; text-align:center;\";\r\n            modal.appendChild(text);\r\n\r\n            // Buttons Container\r\n            var btnContainer = document.createElement(\"div\");\r\n            btnContainer.style = \"display:flex; gap:12px; justify-content:stretch;\";\r\n\r\n            // Cancel Button\r\n            var cancelBtn = document.createElement(\"button\");\r\n            cancelBtn.textContent = \"CANCEL\";\r\n            cancelBtn.style = \"flex:1; background:#212121; color:#ffffff; border:none; border-radius:8px; padding:12px 16px; font-size:13px; font-weight:bold; cursor:pointer; text-transform:uppercase; transition: background 0.2s;\";\r\n            cancelBtn.onmouseenter = function() { cancelBtn.style.background = \"#333333\"; };\r\n            cancelBtn.onmouseleave = function() { cancelBtn.style.background = \"#212121\"; };\r\n            cancelBtn.onclick = function () {\r\n                cleanup();\r\n                resolve(false);\r\n            };\r\n            btnContainer.appendChild(cancelBtn);\r\n\r\n            // Proceed Button\r\n            var proceedBtn = document.createElement(\"button\");\r\n            proceedBtn.textContent = \"SAVE DATE\";\r\n            proceedBtn.style = \"flex:1; background:#fdbb30; color:#212121; border:none; border-radius:8px; padding:12px 16px; font-size:13px; font-weight:bold; cursor:pointer; text-transform:uppercase; transition: background 0.2s;\";\r\n            proceedBtn.onmouseenter = function() { proceedBtn.style.background = \"#e5a720\"; };\r\n            proceedBtn.onmouseleave = function() { proceedBtn.style.background = \"#fdbb30\"; };\r\n            proceedBtn.onclick = function () {\r\n                cleanup();\r\n                resolve(true);\r\n            };\r\n            btnContainer.appendChild(proceedBtn);\r\n\r\n            modal.appendChild(btnContainer);\r\n            overlay.appendChild(modal);\r\n            document.body.appendChild(overlay);\r\n\r\n            function cleanup() {\r\n                overlay.remove();\r\n                styleTag.remove();\r\n            }\r\n        });\r\n    }\r\n\r\n    async function updateSubscriptionDate(iso) {\r\n        var ctx = global.__BINAERY_PORTAL_CONTEXT__;\r\n        if (!ctx) return;\r\n\r\n        log(\"Updating subscription date...\", iso, ctx);\r\n        toggleLoading(true);\r\n\r\n        // Calculate the Sunday of the current week (cutoff Sunday) in UK time\r\n        var ukTodayStr = window.ukToday;\r\n        if (!ukTodayStr) {\r\n            var d = new Date();\r\n            var yy = d.getFullYear();\r\n            var mm = String(d.getMonth() + 1).padStart(2, \"0\");\r\n            var dd = String(d.getDate()).padStart(2, \"0\");\r\n            ukTodayStr = yy + \"-\" + mm + \"-\" + dd;\r\n        }\r\n        var p = ukTodayStr.split(\"-\").map(function(x) { return parseInt(x, 10); });\r\n        var date = new Date(p[0], p[1] - 1, p[2]);\r\n        var dow = date.getDay(); // 0 = Sun, 1 = Mon ...\r\n        var daysUntilSunday = (7 - dow) % 7;\r\n        date.setDate(date.getDate() + daysUntilSunday);\r\n        \r\n        var yy = date.getFullYear();\r\n        var mm = String(date.getMonth() + 1).padStart(2, \"0\");\r\n        var dd = String(date.getDate()).padStart(2, \"0\");\r\n        var cutoffSunday = yy + \"-\" + mm + \"-\" + dd;\r\n\r\n        var currentIso = ctx.currentIso || \"\";\r\n        var chargeImmediately = (iso <= cutoffSunday) && (iso !== currentIso);\r\n        log(\"Cutoff Sunday:\", cutoffSunday, \"Selected date:\", iso, \"currentIso:\", currentIso, \"chargeImmediately:\", chargeImmediately);\r\n\r\n        if (chargeImmediately) {\r\n            var formattedDate = isoToDDMMYYYY(iso);\r\n            toggleLoading(false);\r\n            var confirmed = await showCustomConfirm(formattedDate);\r\n            if (!confirmed) {\r\n                return;\r\n            }\r\n            toggleLoading(true);\r\n        }\r\n\r\n        var payload = {\r\n            shop: cfg.shop,\r\n            subscriptionId: ctx.subscriptionId,\r\n            nextDateISO: iso,\r\n            note: isoToDDMMYYYY(iso),\r\n            chargeImmediately: chargeImmediately\r\n        };\r\n\r\n        try {\r\n            var res = await global.fetch(ctx.updateEndpoint, {\r\n                method: \"POST\",\r\n                headers: { \"Content-Type\": \"application/json\" },\r\n                body: JSON.stringify(payload)\r\n            });\r\n\r\n            var json = await res.json();\r\n            if (json.ok) {\r\n                log(\"Update successful, updating UI state...\");\r\n                \r\n                // Update local cache\r\n                if (subscriptionDataCache[ctx.subscriptionId]) {\r\n                    subscriptionDataCache[ctx.subscriptionId].billing = subscriptionDataCache[ctx.subscriptionId].billing || {};\r\n                    subscriptionDataCache[ctx.subscriptionId].billing.note = isoToDDMMYYYY(iso);\r\n                }\r\n\r\n                ctx.currentIso = iso; // Update the context active date\r\n\r\n                // Update the labels on the card immediately\r\n                qsa('[data-testid=\"SubscriptionCard\"]').forEach(function (card) {\r\n                    if (getSubscriptionIdFromCard(card) === ctx.subscriptionId) {\r\n                        setNextDeliveryLabel(card, iso);\r\n                        updatePaymentDateLabel(card, iso);\r\n                    }\r\n                });\r\n\r\n                // Close the calendar modal\r\n                var overlay = qs('.binaery-overlay[data-binaery-role=\"overlay\"]');\r\n                if (overlay) overlay.remove();\r\n\r\n                // Optional: show a small toast or reload\r\n                if (chargeImmediately) {\r\n                    if (typeof toast === \"function\") toast(\"Payment triggered and delivery date updated! Reloading...\");\r\n                    else alert(\"Payment triggered and delivery date updated successfully!\");\r\n                    setTimeout(function () {\r\n                        global.location.reload();\r\n                    }, 1500);\r\n                } else {\r\n                    if (typeof toast === \"function\") toast(\"Delivery date updated!\");\r\n                    else log(\"Delivery date updated successfully!\");\r\n                }\r\n            } else {\r\n                // alert(\"Failed to update: \" + (json.message || \"Unknown error\"));\r\n                warn(\"Failed to update\", json.message);\r\n            }\r\n        } catch (e) {\r\n            warn(\"Update failed\", e);\r\n            // alert(\"An error occurred while updating the delivery date.\");\r\n        } finally {\r\n            toggleLoading(false);\r\n        }\r\n    }\r\n\r\n    function hookCalendarSave() {\r\n        if (!global.BinaeryCalendar) {\r\n            setTimeout(hookCalendarSave, 500);\r\n            return;\r\n        }\r\n\r\n        if (global.BinaeryCalendar.__PORTAL_HOOKED__) return;\r\n        global.BinaeryCalendar.__PORTAL_HOOKED__ = true;\r\n\r\n        var origSetDate = global.BinaeryCalendar.setSelectedDeliveryDate;\r\n        global.BinaeryCalendar.setSelectedDeliveryDate = function (iso) {\r\n            if (global.__BINAERY_PORTAL_CONTEXT__) {\r\n                updateSubscriptionDate(iso);\r\n            } else if (typeof origSetDate === \"function\") {\r\n                origSetDate(iso);\r\n            }\r\n        };\r\n    }\r\n\r\n    function openCalendarOverlay(shop, subscriptionId, rules) {\r\n        if (!ensureCalendarLoaded()) {\r\n            warn(\"BinaeryCalendar not loaded.\");\r\n            return;\r\n        }\r\n\r\n        var tpl = document.getElementById(\"binaery-calendar-template\");\r\n        var overlay = null;\r\n\r\n        if (tpl) {\r\n            overlay = (tpl.content && tpl.content.firstElementChild)\r\n                ? tpl.content.firstElementChild.cloneNode(true)\r\n                : tpl.firstElementChild.cloneNode(true);\r\n        } else {\r\n            var div = document.createElement(\"div\");\r\n            div.innerHTML = CALENDAR_HTML.trim();\r\n            overlay = div.firstElementChild;\r\n        }\r\n\r\n        if (!overlay) {\r\n            warn(\"Could not create calendar overlay.\");\r\n            return;\r\n        }\r\n\r\n        overlay.style.display = \"flex\";\r\n        document.body.appendChild(overlay);\r\n\r\n        global.BinaeryCalendar.initOverlay(overlay, cfg, rules || {});\r\n\r\n        overlay.addEventListener(\"click\", function (e) {\r\n            if (e.target === overlay) overlay.remove();\r\n        });\r\n    }\r\n\r\n    function injectIntoCard(card) {\r\n        if (cardHasUi(card) || isCancelled(card) || card.dataset.binaeryInjecting === \"1\") return;\r\n        card.dataset.binaeryInjecting = \"1\";\r\n\r\n        var subscriptionId = getSubscriptionIdFromCard(card);\r\n        var shop = cfg.shop || (global.Shopify && global.Shopify.shop);\r\n\r\n        if (!subscriptionId || !shop) {\r\n            card.dataset.binaeryInjecting = \"0\";\r\n            return;\r\n        }\r\n\r\n        var baseRules = global.BinaeryRulesData || {\r\n            disabledWeekdays: [0, 1, 2, 6],\r\n            disabledDates: [],\r\n            disabledRanges: []\r\n        };\r\n\r\n        var rules = JSON.parse(JSON.stringify(baseRules));\r\n        rules.isSkioPortal = true;\r\n        \r\n        // Get delivery date from batch data or DOM\r\n        var currentIso = \"\";\r\n        var subData = subscriptionDataCache[subscriptionId];\r\n        if (subData && subData.billing && subData.billing.note) {\r\n            currentIso = ddmmToIso(subData.billing.note);\r\n            log(\"Using date from batch API:\", subData.billing.note, \"->\", currentIso);\r\n        } else {\r\n            currentIso = extractDateFromCard(card);\r\n            log(\"Using date from DOM extraction:\", currentIso);\r\n        }\r\n\r\n        if (currentIso) {\r\n            rules.currentDeliveryDate = currentIso;\r\n        }\r\n\r\n        var ui = cloneUi();\r\n        if (!ui) {\r\n            card.dataset.binaeryInjecting = \"0\";\r\n            return;\r\n        }\r\n\r\n        setNextDeliveryLabel(ui, currentIso);\r\n\r\n        var btn = qs('[data-binaery-btn=\"delivery-date\"]', ui);\r\n        if (btn) {\r\n            btn.addEventListener(\"click\", function (e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n\r\n                global.__BINAERY_PORTAL_CONTEXT__ = {\r\n                    shop: shop,\r\n                    subscriptionId: subscriptionId,\r\n                    updateEndpoint: cfg.updateEndpoint,\r\n                    currentIso: currentIso\r\n                };\r\n\r\n                openCalendarOverlay(shop, subscriptionId, rules);\r\n            });\r\n        }\r\n\r\n        card.prepend(ui);\r\n        card.dataset.binaeryInjecting = \"0\";\r\n    }\r\n\r\n    async function fetchSubscriptionBatch(ids) {\r\n        if (!ids.length) return null;\r\n        try {\r\n            var res = await global.fetch(cfg.batchEndpoint, {\r\n                method: \"POST\",\r\n                headers: { \"Content-Type\": \"application/json\" },\r\n                body: JSON.stringify({ subscriptionIds: ids })\r\n            });\r\n            var json = await res.json();\r\n            return json.ok ? json.subscriptions : null;\r\n        } catch (e) {\r\n            warn(\"Batch fetch failed\", e);\r\n            return null;\r\n        }\r\n    }\r\n\r\n    async function scan() {\r\n        if (!inPortal() || !isSubscriptionsPage() || isFetchingBatch) return;\r\n        \r\n        var cards = qsa('[data-testid=\"SubscriptionCard\"]');\r\n        if (!cards.length) return;\r\n\r\n        var idsToFetch = [];\r\n        cards.forEach(function(card) {\r\n            if (cardHasUi(card) || isCancelled(card)) return;\r\n            var id = getSubscriptionIdFromCard(card);\r\n            if (id && !subscriptionDataCache[id]) {\r\n                idsToFetch.push(id);\r\n            }\r\n        });\r\n\r\n        if (idsToFetch.length) {\r\n            isFetchingBatch = true;\r\n            log(\"Fetching batch data for IDs:\", idsToFetch);\r\n            var subs = await fetchSubscriptionBatch(idsToFetch);\r\n            if (subs) {\r\n                subs.forEach(function(sub) {\r\n                    subscriptionDataCache[sub.id] = sub;\r\n                });\r\n            }\r\n            isFetchingBatch = false;\r\n        }\r\n\r\n        cards.forEach(injectIntoCard);\r\n    }\r\n\r\n    function scheduleScan() {\r\n        if (rafScanId) return;\r\n        rafScanId = global.requestAnimationFrame(function () {\r\n            rafScanId = null;\r\n            scan();\r\n        });\r\n    }\r\n\r\n    function startObserver() {\r\n        if (observer) return;\r\n        observer = new MutationObserver(scheduleScan);\r\n        observer.observe(document.body, { childList: true, subtree: true });\r\n    }\r\n\r\n    function boot() {\r\n        hookCalendarSave();\r\n        startObserver();\r\n        scheduleScan();\r\n        setTimeout(scheduleScan, 500);\r\n        setTimeout(scheduleScan, 1500);\r\n    }\r\n\r\n    if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", boot);\r\n    else boot();\r\n\r\n})(window);\r\n"],
  "mappings": "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",
  "names": ["cfg"]
}
