{"id":763,"date":"2025-10-02T15:17:02","date_gmt":"2025-10-02T12:17:02","guid":{"rendered":"https:\/\/ecomed.com.ua\/promo\/"},"modified":"2025-10-02T15:57:27","modified_gmt":"2025-10-02T12:57:27","slug":"promo","status":"publish","type":"page","link":"https:\/\/ecomed.com.ua\/en\/promo\/","title":{"rendered":"Promo"},"content":{"rendered":"<div class=\"pl-wrap\"\n     data-code-social=\"SS10MED25\"\n     data-code-google=\"GS10MED25\"\n     data-code-default=\"NS10MED25\"\n     data-tg-social=\"https:\/\/t.me\/ecomed_sale_bot?start=ZGw6MjkzNDA3\"\n     data-tg-google=\"https:\/\/t.me\/ecomed_sale_bot?start=ZGw6MjkzNDA0\"\n     data-shop-url=\"https:\/\/ecomed.com.ua\/en\/shops\/\"\n     data-i18n-copy=\"Copy code\"\n     data-i18n-copied=\"Copied\"\n     data-i18n-shot=\"Save as image\">\n\n    <section class=\"pl-hero\">\n        <h1>10% off medical apparel<\/h1>\n    \n    <\/section>\n\n    <!-- A\/B containers (both rendered; JS decides which one to show) -->\n    <div class=\"pl-ab\">\n        <!-- PROMO block -->\n        <div id=\"pl-block-promo\" class=\"pl-card\" hidden>\n            <div class=\"pl-badge\">10% OFF<\/div>\n            <h2>Your promo code<\/h2>\n            <div class=\"pl-code\" id=\"pl-code\">\u2022\u2022\u2022\u2022\u2022<\/div>\n            <div class=\"pl-actions\">\n                <button class=\"pl-btn\" id=\"pl-copy\">\ud83d\udccb Copy code<\/button>\n                <button class=\"pl-btn\" id=\"pl-shot\">\ud83d\udcf8 Save as image<\/button>\n            <\/div>\n\n            <div class=\"pl-howto\">\n                <h3>How to use the promo code<\/h3>\n                <ol>\n                    <li>Visit our store or go to the online shop.<\/li>\n                    <li>Choose medical apparel and add to cart.<\/li>\n                    <li>Show the code at checkout or enter it at the payment step \u2014 10% discount applies automatically.<\/li>\n                <\/ol>\n            <\/div>\n\n            <div class=\"pl-contacts\">\n                <div class=\"pl-buttons\">\n                    <a class=\"pl-btn outline\" href=\"https:\/\/ecomed.com.ua\/en\/shops\/\" target=\"_blank\" rel=\"noopener\">Store contacts<\/a>\n                    <a class=\"pl-btn outline\" href=\"https:\/\/med-uniform.com.ua\/?promocode=NS10MED25\" target=\"_blank\" rel=\"noopener\">Open catalog<\/a>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- TELEGRAM block -->\n        <div id=\"pl-block-telegram\" class=\"pl-card\" hidden>\n            <div class=\"pl-badge tg\">TG<\/div>\n            <h2>Telegram<\/h2>\n            <p class=\"pl-sub\">Subscribe to our Telegram to get a 10% promo code and deals.<\/p>\n            <p><a id=\"pl-tg-link\" class=\"pl-btn primary\" href=\"#\" target=\"_blank\" rel=\"noopener\">\ud83d\ude80 Open Telegram<\/a><\/p>\n           \n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n    .pl-wrap{max-width:960px;margin:40px auto;padding:0 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,\"Helvetica Neue\",Arial,sans-serif;color:#1f2937}\n    .pl-hero{ text-align:center; margin-bottom:24px }\n    .pl-note {margin-top: 20px;}\n    .pl-hero h1{font-size:clamp(28px,4vw,40px);margin:.2em 0}\n    .pl-sub{opacity:.8; margin-bottom:20px;}\n    .pl-ab{display:grid;grid-template-columns:1fr;gap:20px}\n    .pl-card{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06);padding:24px}\n    .pl-badge{position:absolute;top:12px;right:12px;background:#10b981;color:#fff;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px}\n    .pl-badge.tg{background:#2aa0da}\n    .pl-code{font-size:clamp(28px,5vw,48px);letter-spacing:.06em;font-weight:800;background:#f3f4f6;border:1px dashed #d1d5db;border-radius:12px;padding:16px 20px;display:inline-block;margin:8px 0}\n    .pl-actions{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 18px}\n    .pl-btn{appearance:none;border:0;border-radius:12px;background:#111827;color:#fff;padding:12px 16px;font-weight:600;cursor:pointer}\n    .pl-btn.primary{background:#2aa0da}\n    .pl-btn:disabled{opacity:.6;cursor:not-allowed}\n    .pl-link{color:#111827;text-decoration:underline}\n    .pl-contacts{margin-top:18px}\n    .pl-contacts h3{margin:.8em 0 .4em}\n    .pl-contacts-list{margin:0;padding-left:18px}\n     @media (min-width:900px){.pl-ab{display: flex; justify-content: center;}}\n    .pl-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}\n    .pl-btn.outline{background:#fff;color:#111827;border:1px solid #d1d5db}\n    .pl-btn.outline:hover{filter:brightness(.98)}\n<\/style>\n\n<script>\n(function(){\n    const wrap = document.currentScript.previousElementSibling.previousElementSibling; \/\/ <style> then our <div>\n    const cfg = wrap && wrap.matches('.pl-wrap') ? wrap : document.querySelector('.pl-wrap');\n    if(!cfg) return;\n\n    const url = new URL(window.location.href);\n    const utm = (url.searchParams.get('utm_source') || '').toLowerCase().trim();\n\n    const blockPromo = cfg.querySelector('#pl-block-promo');\n    const blockTG    = cfg.querySelector('#pl-block-telegram');\n    const codeEl     = cfg.querySelector('#pl-code');\n    const copyBtn    = cfg.querySelector('#pl-copy');\n    const shotBtn    = cfg.querySelector('#pl-shot');\n    const tgLink     = cfg.querySelector('#pl-tg-link');\n\n    \/\/ codes from shortcode attributes\n    const CODES = {\n        social: cfg.getAttribute('data-code-social')  || 'PROMO',\n        google: cfg.getAttribute('data-code-google')  || 'PROMO',\n        def:    cfg.getAttribute('data-code-default') || 'PROMO'\n    };\n\n    \/\/ Telegram links from shortcode attributes\n    const TG = {\n        social: cfg.getAttribute('data-tg-social') || '#',\n        google: cfg.getAttribute('data-tg-google') || '#'\n    };\n\n    \/\/ i18n for JS labels\n    const I18N = {\n        copy:   cfg.getAttribute('data-i18n-copy')   || 'Copy code',\n        copied: cfg.getAttribute('data-i18n-copied') || 'Copied',\n        shot:   cfg.getAttribute('data-i18n-shot')   || 'Save as image'\n    };\n\n    \/\/ --- Decide which block to show ---\n    const utmValid = (utm === 'socialmedia' || utm === 'google');\n    if (!utm || !utmValid) {\n        \/\/ No UTM or unsupported value \u2192 Promo block only\n        if(blockPromo) blockPromo.hidden = false;\n    } else {\n        \/\/ A\/B 50\/50, persisted for consistency\n        const KEY = 'pl_ab_group_v3';\n        let group = localStorage.getItem(KEY);\n        if (!group) {\n            group = Math.random() < 0.5 ? 'promo' : 'telegram';\n            localStorage.setItem(KEY, group);\n        }\n        if (group === 'promo') {\n            blockPromo.hidden = false;\n        } else {\n            blockTG.hidden = false;\n        }\n    }\n\n    \/\/ --- Assign promo code (no persistence; depends on UTM) ---\n    let assigned = CODES.def;\n    if (utm === 'socialmedia') assigned = CODES.social;\n    else if (utm === 'google') assigned = CODES.google;\n    if (codeEl) codeEl.textContent = assigned;\n\n    \/\/ Copy to clipboard\n    if (copyBtn) {\n        copyBtn.addEventListener('click', async () => {\n            try{ await navigator.clipboard.writeText(assigned); copyBtn.textContent = '\u2705 ' + I18N.copied; setTimeout(()=>{copyBtn.textContent='\ud83d\udccb '+I18N.copy;}, 1800);}catch(e){ alert(assigned); }\n        });\n    }\n\n    \/\/ Screenshot (lazy-load html2canvas)\n    async function takeShot(){\n        if (!window.html2canvas){\n            await new Promise((res,rej)=>{\n                const s = document.createElement('script');\n                s.src = 'https:\/\/cdn.jsdelivr.net\/npm\/html2canvas@1.4.1\/dist\/html2canvas.min.js';\n                s.onload = res; s.onerror = rej; document.head.appendChild(s);\n            });\n        }\n        const target = blockPromo; if (!target) return;\n        const canvas = await html2canvas(target, {backgroundColor:'#ffffff', scale:2});\n        const url = canvas.toDataURL('image\/png');\n        const a = document.createElement('a');\n        a.href = url;\n        a.download = 'promo-'+assigned+'.png';\n        a.click();\n    }\n    if (shotBtn) shotBtn.addEventListener('click', takeShot);\n\n    \/\/ Telegram link pick\n    let href = '#';\n    if (utm === 'socialmedia') href = TG.social;\n    else if (utm === 'google') href = TG.google;\n    if (tgLink) tgLink.setAttribute('href', href);\n})();\n<\/script>\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-promo.php","meta":{"footnotes":""},"class_list":["post-763","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ecomed.com.ua\/en\/wp-json\/wp\/v2\/pages\/763","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ecomed.com.ua\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ecomed.com.ua\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ecomed.com.ua\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ecomed.com.ua\/en\/wp-json\/wp\/v2\/comments?post=763"}],"version-history":[{"count":1,"href":"https:\/\/ecomed.com.ua\/en\/wp-json\/wp\/v2\/pages\/763\/revisions"}],"predecessor-version":[{"id":764,"href":"https:\/\/ecomed.com.ua\/en\/wp-json\/wp\/v2\/pages\/763\/revisions\/764"}],"wp:attachment":[{"href":"https:\/\/ecomed.com.ua\/en\/wp-json\/wp\/v2\/media?parent=763"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}