{
  "version": 3,
  "sources": ["/cdn/shop/t/4/assets/ims-platforms.js?bust=20260618"],
  "sourcesContent": ["(function(){\r\n  'use strict';\r\n  const ui=()=>window.SM.UI, util=()=>window.SM.UTIL;\r\n\r\n  // \u2500\u2500\u2500 HIDDEN PLATFORM IDs \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n  // System platform rows have company_id = NULL and are protected by\r\n  // Supabase RLS \u2014 we cannot UPDATE them directly from the browser.\r\n  // Instead we store an array of hidden platform IDs on the company\r\n  // record (companies.hidden_platform_ids jsonb[]).  Custom platforms\r\n  // (company_id = our company) can still be toggled via is_active.\r\n\r\n  async function getHiddenIds(){\r\n    const client=window.supabase.createClient(window.IMS_SUPABASE_URL,window.IMS_SUPABASE_ANON_KEY);\r\n    const {data}=await client\r\n      .from('companies')\r\n      .select('hidden_platform_ids')\r\n      .eq('id',window.SM.AUTH.company?.id)\r\n      .maybeSingle();\r\n    return data?.hidden_platform_ids||[];\r\n  }\r\n\r\n  async function setHiddenIds(ids){\r\n    const client=window.supabase.createClient(window.IMS_SUPABASE_URL,window.IMS_SUPABASE_ANON_KEY);\r\n    await client\r\n      .from('companies')\r\n      .update({hidden_platform_ids:ids})\r\n      .eq('id',window.SM.AUTH.company?.id);\r\n    // Keep local company object in sync so other modules see it\r\n    if(window.SM.AUTH.company) window.SM.AUTH.company.hidden_platform_ids=ids;\r\n  }\r\n\r\n  async function load(){\r\n    const content=document.getElementById('ims-platforms-content');\r\n    if(!content)return;\r\n    content.innerHTML=`<div class=\"ims__loading\"><i class=\"ti ti-loader-2 ims__spin\"></i></div>`;\r\n\r\n    const companyId=window.SM.AUTH.company?.id;\r\n    if(!companyId){\r\n      content.innerHTML=`<div class=\"ims__coming-soon\"><i class=\"ti ti-apps\"></i><h3>Not ready</h3><p>Company not loaded. Please refresh.</p></div>`;\r\n      return;\r\n    }\r\n\r\n    const client=window.supabase.createClient(window.IMS_SUPABASE_URL,window.IMS_SUPABASE_ANON_KEY);\r\n\r\n    try{\r\n      const [{data:sys},{data:custom},{data:commissions},{data:terms},hiddenIds]=await Promise.all([\r\n        client.from('platforms').select('id,name,order_type,categories,is_active,is_system,sort_order').is('company_id',null),\r\n        client.from('platforms').select('id,name,order_type,categories,is_active,is_system,sort_order').eq('company_id',companyId),\r\n        client.from('platform_commissions').select('platform_id,commission_percent,commission_fixed').eq('company_id',companyId),\r\n        client.from('platform_terms').select('*'),\r\n        getHiddenIds()\r\n      ]);\r\n\r\n      const hiddenSet=new Set(hiddenIds||[]);\r\n\r\n      // Merge: for system platforms, is_active is overridden by hiddenSet\r\n      const all=[...(sys||[]).map(p=>({...p,is_active:!hiddenSet.has(p.id)})),...(custom||[])]\r\n        .sort((a,b)=>(a.sort_order||999)-(b.sort_order||999)||(a.name||'').localeCompare(b.name||''));\r\n\r\n      // Attach terms\r\n      const termsMap={};\r\n      (terms||[]).forEach(t=>{termsMap[t.platform_id]=t;});\r\n      all.forEach(p=>{p._terms=termsMap[p.id]||null;});\r\n\r\n      // Attach commission rates (separate table because system platforms\r\n      // have company_id IS NULL and RLS blocks editing them directly).\r\n      const commMap={};\r\n      (commissions||[]).forEach(c=>{commMap[c.platform_id]=c;});\r\n      all.forEach(p=>{p._commission=commMap[p.id]||null;});\r\n\r\n      if(!all.length){\r\n        content.innerHTML=`<div class=\"ims__coming-soon\"><i class=\"ti ti-apps\"></i><h3>No platforms found</h3></div>`;\r\n        return;\r\n      }\r\n\r\n      const systemPlatforms=all.filter(p=>p.is_system);\r\n      const customPlatforms=all.filter(p=>!p.is_system);\r\n      const visiblePlatforms=all.filter(p=>p.is_active);\r\n      const hiddenPlatforms=all.filter(p=>!p.is_active);\r\n\r\n      content.innerHTML=`\r\n        <div class=\"ims__alert ims__alert--info\" style=\"margin-bottom:14px\">\r\n          <i class=\"ti ti-info-circle\"></i>\r\n          <span>\r\n            <strong>Hiding a platform</strong> removes it from the order entry dropdown \u2014 existing orders are not affected.\r\n            Use the <i class=\"ti ti-settings\" style=\"font-size:12px\"></i> <strong>Terms</strong> button to set the default delivery method, pricing basis and VAT treatment per platform.\r\n          </span>\r\n        </div>\r\n        <div class=\"ims__tabs\" id=\"ims-plat-tabs\">\r\n          <div class=\"ims__tab ims__tab--active\" data-tab=\"all\">All (${all.length})</div>\r\n          <div class=\"ims__tab\" data-tab=\"visible\">Visible (${visiblePlatforms.length})</div>\r\n          <div class=\"ims__tab\" data-tab=\"hidden\" style=\"${hiddenPlatforms.length>0?'color:var(--ims-warning);font-weight:600':''}\">Hidden (${hiddenPlatforms.length})</div>\r\n          <div class=\"ims__tab\" data-tab=\"system\">System (${systemPlatforms.length})</div>\r\n          <div class=\"ims__tab\" data-tab=\"custom\">Custom (${customPlatforms.length})</div>\r\n        </div>\r\n        <div id=\"ims-plat-content\">${renderPlatforms(all)}</div>`;\r\n\r\n      document.querySelectorAll('#ims-plat-tabs .ims__tab').forEach(tab=>{\r\n        tab.addEventListener('click',()=>{\r\n          document.querySelectorAll('#ims-plat-tabs .ims__tab').forEach(t=>t.classList.remove('ims__tab--active'));\r\n          tab.classList.add('ims__tab--active');\r\n          const filtered=\r\n            tab.dataset.tab==='visible' ? visiblePlatforms :\r\n            tab.dataset.tab==='hidden'  ? hiddenPlatforms  :\r\n            tab.dataset.tab==='system'  ? systemPlatforms  :\r\n            tab.dataset.tab==='custom'  ? customPlatforms  : all;\r\n          const c=document.getElementById('ims-plat-content');\r\n          if(c)c.innerHTML=renderPlatforms(filtered);\r\n        });\r\n      });\r\n\r\n    }catch(err){\r\n      content.innerHTML=`<div class=\"ims__coming-soon\"><i class=\"ti ti-alert-circle\"></i><h3>Error loading platforms</h3><p>${util().sanitize(err.message||String(err))}</p></div>`;\r\n    }\r\n  }\r\n\r\n  function renderPlatforms(platforms){\r\n    if(!platforms.length)return`<div class=\"ims__empty\"><i class=\"ti ti-apps\"></i><p>No platforms in this view</p></div>`;\r\n    return`<div class=\"ims__table-wrap\"><table class=\"ims__table\">\r\n      <thead><tr><th>Platform</th><th>Type</th><th>Pricing</th><th>Delivery</th><th>VAT</th><th>Visibility</th><th>Source</th><th></th></tr></thead>\r\n      <tbody>${platforms.map(p=>{\r\n        const t=p._terms;\r\n        const isHidden=!p.is_active;\r\n        return`<tr style=\"${isHidden?'opacity:0.5':''}\">\r\n          <td>\r\n            <div style=\"font-weight:600;${isHidden?'color:var(--ims-text-muted)':''}\">${util().sanitize(p.name)}</div>\r\n            ${isHidden?'<div style=\"font-size:10px;color:var(--ims-warning);font-weight:500\"><i class=\"ti ti-eye-off\" style=\"font-size:10px\"></i> Hidden from orders</div>':''}\r\n          </td>\r\n          <td><span class=\"ims__pill ims__pill--${p.order_type==='wholesale'?'info':'neutral'}\">${p.order_type==='wholesale'?'Wholesale':'Retail'}</span></td>\r\n          <td style=\"font-size:12px\">${t?fmtPricing(t.pricing_basis):'Default'}</td>\r\n          <td style=\"font-size:12px\">${t?fmtDelivery(t.delivery_arrangement):'We deliver'}</td>\r\n          <td style=\"font-size:12px\">${t?fmtVAT(t.vat_treatment):'Standard'}</td>\r\n          <td>\r\n            <span class=\"ims__pill ims__pill--${p.is_active?'success':'warning'}\">\r\n              <i class=\"ti ti-${p.is_active?'eye':'eye-off'}\" style=\"font-size:10px\"></i>\r\n              &nbsp;${p.is_active?'Visible':'Hidden'}\r\n            </span>\r\n          </td>\r\n          <td><span class=\"ims__pill ims__pill--${p.is_system?'accent':'neutral'}\">${p.is_system?'System':'Custom'}</span></td>\r\n          <td>\r\n            <div class=\"ims__btn-group\">\r\n              <button class=\"ims__btn ims__btn--secondary ims__btn--sm ims__btn--icon\"\r\n                onclick=\"window.IMS_PLATFORMS.editTerms('${util().jsArg(p.id)}','${util().jsArg(p.name)}')\"\r\n                title=\"Set delivery method &amp; terms\">\r\n                <i class=\"ti ti-settings\"></i>\r\n              </button>\r\n              ${!p.is_system?`\r\n                <button class=\"ims__btn ims__btn--secondary ims__btn--sm ims__btn--icon\"\r\n                  onclick=\"window.IMS_PLATFORMS.editPlatform('${util().jsArg(p.id)}')\"\r\n                  title=\"Edit platform name/type\">\r\n                  <i class=\"ti ti-edit\"></i>\r\n                </button>`:''\r\n              }\r\n              <button\r\n                class=\"ims__btn ims__btn--${p.is_active?'danger':'success'} ims__btn--sm\"\r\n                onclick=\"window.IMS_PLATFORMS.toggleActive('${util().jsArg(p.id)}',${!p.is_active},${!!p.is_system},'${util().jsArg(p.name)}')\"\r\n                title=\"${p.is_active?'Hide from order entry':'Show in order entry'}\">\r\n                <i class=\"ti ti-${p.is_active?'eye-off':'eye'}\"></i>\r\n                ${p.is_active?'Hide':'Show'}\r\n              </button>\r\n            </div>\r\n          </td>\r\n        </tr>`;\r\n      }).join('')}\r\n      </tbody>\r\n    </table></div>`;\r\n  }\r\n\r\n  function fmtPricing(b){\r\n    return{\r\n      wholesale_excl_vat:'Wholesale excl. VAT',wholesale_incl_vat:'Wholesale incl. VAT',\r\n      rrp_excl_vat:'RRP excl. VAT',rrp_incl_vat:'RRP incl. VAT',\r\n      custom_per_product:'Custom / product'\r\n    }[b]||b||'Default';\r\n  }\r\n\r\n  function fmtDelivery(a){\r\n    return{\r\n      we_deliver:'We deliver',customer_collects:'Customer collects',\r\n      walk_in:'Walk-in',flexible:'Flexible',third_party:'3rd party courier'\r\n    }[a]||a||'We deliver';\r\n  }\r\n\r\n  function fmtVAT(v){\r\n    return{standard:'Standard 20%',zero_rated:'Zero rated',exempt:'Exempt',reverse_charge:'Reverse charge'}[v]||v||'Standard';\r\n  }\r\n\r\n  function showNewPlatform(){\r\n    ui().openModal('Add custom platform',`\r\n      <div class=\"ims__form-grid\">\r\n        <div class=\"ims__form-group ims__form-group--full\">\r\n          <label class=\"ims__label ims__label--req\">Platform name</label>\r\n          <input class=\"ims__input\" type=\"text\" id=\"ims-np-name\" placeholder=\"e.g. My Website, Trade Show, Walk-in\">\r\n        </div>\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label ims__label--req\">Order type</label>\r\n          <select class=\"ims__select\" id=\"ims-np-type\">\r\n            <option value=\"retail\">Retail</option>\r\n            <option value=\"wholesale\">Wholesale</option>\r\n          </select>\r\n        </div>\r\n      </div>\r\n    `,`\r\n      <button class=\"ims__btn ims__btn--ghost\" onclick=\"window.SM.UI.closeModal()\">Cancel</button>\r\n      <button class=\"ims__btn ims__btn--primary\" onclick=\"window.IMS_PLATFORMS.savePlatform('')\"><i class=\"ti ti-check\"></i> Add</button>\r\n    `,'sm');\r\n  }\r\n\r\n  async function editPlatform(id){\r\n    const client=window.supabase.createClient(window.IMS_SUPABASE_URL,window.IMS_SUPABASE_ANON_KEY);\r\n    const {data:p}=await client.from('platforms').select('*').eq('id',id).maybeSingle();\r\n    if(!p)return;\r\n    ui().openModal(`Edit: ${p.name}`,`\r\n      <div class=\"ims__form-grid\">\r\n        <div class=\"ims__form-group ims__form-group--full\">\r\n          <label class=\"ims__label ims__label--req\">Name</label>\r\n          <input class=\"ims__input\" type=\"text\" id=\"ims-np-name\" value=\"${util().sanitize(p.name||'')}\" data-system=\"${p.is_system?'1':'0'}\"${p.is_system?' readonly title=\"System platform name cannot be changed\"':''}>\r\n        </div>\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label\">Order type</label>\r\n          <select class=\"ims__select\" id=\"ims-np-type\">\r\n            <option value=\"retail\" ${p.order_type==='retail'?'selected':''}>Retail</option>\r\n            <option value=\"wholesale\" ${p.order_type==='wholesale'?'selected':''}>Wholesale</option>\r\n          </select>\r\n        </div>\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label\">Commission %</label>\r\n          <input class=\"ims__input\" type=\"number\" step=\"0.01\" min=\"0\" id=\"ims-np-comm-pct\" value=\"${p._commission?.commission_percent ?? 0}\" placeholder=\"e.g. 15\">\r\n        </div>\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label\">Fixed fee per order (\u00A3)</label>\r\n          <input class=\"ims__input\" type=\"number\" step=\"0.01\" min=\"0\" id=\"ims-np-comm-fixed\" value=\"${p._commission?.commission_fixed ?? 0}\" placeholder=\"e.g. 0.30\">\r\n        </div>\r\n        <div class=\"ims__form-group ims__form-group--full\">\r\n          <span class=\"ims__input-hint\">Commission is charged on the full order value (item price including delivery). Leave at 0 for your own direct sales \u2014 website, wholesale, retail.</span>\r\n        </div>\r\n      </div>\r\n    `,`\r\n      <button class=\"ims__btn ims__btn--ghost\" onclick=\"window.SM.UI.closeModal()\">Cancel</button>\r\n      <button class=\"ims__btn ims__btn--primary\" onclick=\"window.IMS_PLATFORMS.savePlatform('${util().jsArg(id)}')\"><i class=\"ti ti-check\"></i> Save</button>\r\n    `,'sm');\r\n  }\r\n\r\n  async function savePlatform(existingId){\r\n    const name=document.getElementById('ims-np-name')?.value?.trim();\r\n    const type=document.getElementById('ims-np-type')?.value||'retail';\r\n    if(!name){ui().toast('Name required','error');return;}\r\n    const companyId=window.SM.AUTH.company?.id;\r\n    const client=window.supabase.createClient(window.IMS_SUPABASE_URL,window.IMS_SUPABASE_ANON_KEY);\r\n\r\n    // Editing a SYSTEM platform's name would be blocked by RLS (company_id\r\n    // IS NULL). Only update the platforms row for custom platforms or new\r\n    // ones. Commission always saves to the company-owned table regardless.\r\n    let platformId = existingId;\r\n    if(existingId){\r\n      const isSystem = document.getElementById('ims-np-name')?.dataset?.system === '1';\r\n      if(!isSystem){\r\n        const {error}=await client.from('platforms').update({name,order_type:type}).eq('id',existingId);\r\n        if(error){ui().toast('Failed: '+error.message,'error');return;}\r\n      }\r\n    } else {\r\n      const {data:inserted,error}=await client.from('platforms')\r\n        .insert({name,order_type:type,categories:['all'],company_id:companyId,is_system:false,is_active:true,sort_order:999})\r\n        .select('id').maybeSingle();\r\n      if(error){ui().toast('Failed: '+error.message,'error');return;}\r\n      platformId = inserted?.id;\r\n    }\r\n\r\n    // Save commission to the company-owned table (works for system + custom).\r\n    const commPct   = parseFloat(document.getElementById('ims-np-comm-pct')?.value) || 0;\r\n    const commFixed = parseFloat(document.getElementById('ims-np-comm-fixed')?.value) || 0;\r\n    if(platformId){\r\n      const {error:commErr}=await client.from('platform_commissions').upsert({\r\n        company_id: companyId,\r\n        platform_id: platformId,\r\n        commission_percent: commPct,\r\n        commission_fixed: commFixed,\r\n        updated_at: new Date().toISOString()\r\n      }, { onConflict: 'company_id,platform_id' });\r\n      if(commErr){ui().toast('Commission not saved: '+commErr.message,'error',6000);}\r\n    }\r\n\r\n    ui().closeModal();ui().toast(existingId?'Updated':'Added','success');load();\r\n  }\r\n\r\n  // \u2500\u2500\u2500 TOGGLE ACTIVE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n  // For SYSTEM platforms (company_id IS NULL): RLS blocks direct UPDATE,\r\n  // so we store hidden IDs in companies.hidden_platform_ids instead.\r\n  // For CUSTOM platforms (company_id = ours): update is_active directly.\r\n  async function toggleActive(id, newActive, isSystem, name){\r\n    const action=newActive?'show':'hide';\r\n\r\n    if(isSystem){\r\n      // Read current hidden list, add/remove this ID, write back\r\n      const hidden=await getHiddenIds();\r\n      const hiddenSet=new Set(hidden);\r\n      if(newActive){\r\n        hiddenSet.delete(id);\r\n      } else {\r\n        hiddenSet.add(id);\r\n      }\r\n      const {error}=await (async()=>{\r\n        const client=window.supabase.createClient(window.IMS_SUPABASE_URL,window.IMS_SUPABASE_ANON_KEY);\r\n        return client.from('companies')\r\n          .update({hidden_platform_ids:[...hiddenSet]})\r\n          .eq('id',window.SM.AUTH.company?.id);\r\n      })();\r\n      if(error){ui().toast('Failed to update: '+error.message,'error');return;}\r\n      if(window.SM.AUTH.company) window.SM.AUTH.company.hidden_platform_ids=[...hiddenSet];\r\n    } else {\r\n      // Custom platform \u2014 update is_active directly (RLS allows this)\r\n      const client=window.supabase.createClient(window.IMS_SUPABASE_URL,window.IMS_SUPABASE_ANON_KEY);\r\n      const {error}=await client.from('platforms').update({is_active:newActive}).eq('id',id);\r\n      if(error){ui().toast('Failed to update: '+error.message,'error');return;}\r\n    }\r\n\r\n    ui().toast(\r\n      `${util().sanitize(name)} ${newActive?'is now visible in order entry':'is now hidden from order entry'}`,\r\n      newActive?'success':'info'\r\n    );\r\n    load();\r\n  }\r\n\r\n  // \u2500\u2500\u2500 TERMS MODAL \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n  async function editTerms(platformId, platformName){\r\n    const client=window.supabase.createClient(window.IMS_SUPABASE_URL,window.IMS_SUPABASE_ANON_KEY);\r\n    const {data:existing}=await client.from('platform_terms').select('*').eq('platform_id',platformId).maybeSingle();\r\n    const t=existing||{};\r\n    const currentDelivery=t.delivery_arrangement||'we_deliver';\r\n\r\n    const sel=(id,opts,field)=>`<select class=\"ims__select\" id=\"${id}\">${\r\n      opts.map(o=>`<option value=\"${o.v}\" ${t[field]===o.v?'selected':''}>${o.l}</option>`).join('')\r\n    }</select>`;\r\n\r\n    const deliveryOpts=[\r\n      {v:'we_deliver',        icon:'ti-truck-delivery', label:'We deliver',         sub:'MDF delivers to customer address'},\r\n      {v:'customer_collects', icon:'ti-building-store', label:'Customer collects',  sub:'Customer picks up from our warehouse'},\r\n      {v:'walk_in',           icon:'ti-walk',           label:'Walk-in',            sub:'Customer walks in and takes goods on the day'},\r\n      {v:'flexible',          icon:'ti-arrows-exchange',label:'Flexible',           sub:'Decided per order \u2014 no fixed default'},\r\n      {v:'third_party',       icon:'ti-package',        label:'3rd party courier',  sub:'Customer arranges their own courier'},\r\n    ];\r\n\r\n    ui().openModal(`Terms &amp; delivery: ${platformName}`,`\r\n      <div class=\"ims__alert ims__alert--info\" style=\"margin-bottom:14px\">\r\n        <i class=\"ti ti-info-circle\"></i>\r\n        <span>These are <strong>defaults only</strong> \u2014 you can override the delivery method on individual orders at any time.</span>\r\n      </div>\r\n\r\n      <div style=\"margin-bottom:16px\">\r\n        <div style=\"font-size:13px;font-weight:600;color:var(--ims-text);margin-bottom:8px\">\r\n          <i class=\"ti ti-truck\" style=\"color:var(--ims-accent)\"></i> &nbsp;Default delivery method\r\n        </div>\r\n        <div style=\"display:grid;grid-template-columns:repeat(5,1fr);gap:8px\" id=\"ims-pt-delivery-cards\">\r\n          ${deliveryOpts.map(opt=>deliveryCard(opt,currentDelivery)).join('')}\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"ims__form-grid\">\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label\">Delivery charges paid by</label>\r\n          ${sel('ims-pt-del-charges',[\r\n            {v:'our_account',       l:'Our account (we pay)'},\r\n            {v:'their_account',     l:'Their account (they pay)'},\r\n            {v:'included_in_price', l:'Included in price'},\r\n            {v:'charged_separately',l:'Charged separately'},\r\n            {v:'not_applicable',    l:'N/A \u2014 no delivery'},\r\n          ],'delivery_charges')}\r\n        </div>\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label\">Pricing basis</label>\r\n          ${sel('ims-pt-pricing',[\r\n            {v:'rrp_incl_vat',       l:'RRP incl. VAT (retail)'},\r\n            {v:'rrp_excl_vat',       l:'RRP excl. VAT'},\r\n            {v:'wholesale_incl_vat', l:'Wholesale incl. VAT'},\r\n            {v:'wholesale_excl_vat', l:'Wholesale excl. VAT'},\r\n            {v:'custom_per_product', l:'Custom per product'},\r\n          ],'pricing_basis')}\r\n        </div>\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label\">VAT treatment</label>\r\n          ${sel('ims-pt-vat',[\r\n            {v:'standard',      l:'Standard 20%'},\r\n            {v:'zero_rated',    l:'Zero rated'},\r\n            {v:'exempt',        l:'Exempt'},\r\n            {v:'reverse_charge',l:'Reverse charge'},\r\n          ],'vat_treatment')}\r\n        </div>\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label\">Invoice format</label>\r\n          ${sel('ims-pt-invoice',[\r\n            {v:'standard_vat',l:'Standard VAT invoice'},\r\n            {v:'proforma',    l:'Pro forma'},\r\n            {v:'commercial',  l:'Commercial (exports)'},\r\n            {v:'no_vat',      l:'No VAT shown'},\r\n            {v:'receipt',     l:'Receipt (walk-in / cash)'},\r\n          ],'invoice_format')}\r\n        </div>\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label\">Payment terms</label>\r\n          <select class=\"ims__select\" id=\"ims-pt-payment\">\r\n            ${['Immediate / cash','Advance payment','7 days','14 days','30 days','60 days','90 days'].map(o=>`\r\n              <option ${t.payment_terms===o?'selected':''}>${o}</option>`).join('')}\r\n          </select>\r\n        </div>\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label\">Price label on invoice</label>\r\n          <input class=\"ims__input\" type=\"text\" id=\"ims-pt-label\"\r\n            value=\"${util().sanitize(t.price_label||'Price')}\" placeholder=\"e.g. Unit price\">\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"ims__alert ims__alert--warning\" style=\"margin-top:12px\">\r\n        <i class=\"ti ti-bulb\"></i>\r\n        <span>\r\n          <strong>Quick guide:</strong> &nbsp;\r\n          Amazon / eBay \u2192 We deliver, Our account &nbsp;|&nbsp;\r\n          Wholesale (Faire etc.) \u2192 Flexible, Their account &nbsp;|&nbsp;\r\n          Walk-in customer \u2192 Walk-in, N/A &nbsp;|&nbsp;\r\n          Wayfair / Temu \u2192 Customer collects, Their account\r\n        </span>\r\n      </div>\r\n    `,`\r\n      <button class=\"ims__btn ims__btn--ghost\" onclick=\"window.SM.UI.closeModal()\">Cancel</button>\r\n      <button class=\"ims__btn ims__btn--primary\" onclick=\"window.IMS_PLATFORMS.saveTerms('${util().jsArg(platformId)}','${util().jsArg(existing?.id||'')}')\">\r\n        <i class=\"ti ti-check\"></i> Save terms\r\n      </button>\r\n    `,'lg');\r\n  }\r\n\r\n  function deliveryCard(opt, selected){\r\n    const active=selected===opt.v;\r\n    return`<label style=\"display:flex;flex-direction:column;gap:5px;padding:10px 8px;\r\n      border:2px solid ${active?'var(--ims-accent)':'var(--ims-border)'};\r\n      border-radius:var(--ims-radius);cursor:pointer;\r\n      background:${active?'var(--ims-accent-bg)':'var(--ims-surface2)'};\r\n      transition:all .15s;text-align:center;align-items:center\"\r\n      onclick=\"window.IMS_PLATFORMS.selectDelivery('${util().jsArg(opt.v)}')\">\r\n      <input type=\"radio\" name=\"ims-delivery-opt\" value=\"${opt.v}\" ${active?'checked':''} style=\"display:none\">\r\n      <i class=\"ti ${opt.icon}\" style=\"font-size:20px;color:${active?'var(--ims-accent)':'var(--ims-text-muted)'}\"></i>\r\n      <div style=\"font-size:11px;font-weight:600;color:${active?'var(--ims-accent)':'var(--ims-text)'};line-height:1.2\">${opt.label}</div>\r\n      <div style=\"font-size:10px;color:var(--ims-text-muted);line-height:1.2\">${opt.sub}</div>\r\n    </label>`;\r\n  }\r\n\r\n  function selectDelivery(value){\r\n    const opts=[\r\n      {v:'we_deliver',        icon:'ti-truck-delivery', label:'We deliver',         sub:'MDF delivers to customer address'},\r\n      {v:'customer_collects', icon:'ti-building-store', label:'Customer collects',  sub:'Customer picks up from our warehouse'},\r\n      {v:'walk_in',           icon:'ti-walk',           label:'Walk-in',            sub:'Customer walks in and takes goods on the day'},\r\n      {v:'flexible',          icon:'ti-arrows-exchange',label:'Flexible',           sub:'Decided per order \u2014 no fixed default'},\r\n      {v:'third_party',       icon:'ti-package',        label:'3rd party courier',  sub:'Customer arranges their own courier'},\r\n    ];\r\n    const container=document.getElementById('ims-pt-delivery-cards');\r\n    if(!container)return;\r\n    container.innerHTML=opts.map(opt=>deliveryCard(opt,value)).join('');\r\n  }\r\n\r\n  async function saveTerms(platformId, existingTermsId){\r\n    const g=id=>document.getElementById(id)?.value||'';\r\n    const deliveryRadio=document.querySelector('input[name=\"ims-delivery-opt\"]:checked');\r\n    const data={\r\n      platform_id:          platformId,\r\n      pricing_basis:        g('ims-pt-pricing'),\r\n      price_label:          g('ims-pt-label'),\r\n      delivery_arrangement: deliveryRadio?.value||'we_deliver',\r\n      delivery_charges:     g('ims-pt-del-charges'),\r\n      vat_treatment:        g('ims-pt-vat'),\r\n      invoice_format:       g('ims-pt-invoice'),\r\n      payment_terms:        g('ims-pt-payment')\r\n    };\r\n    const client=window.supabase.createClient(window.IMS_SUPABASE_URL,window.IMS_SUPABASE_ANON_KEY);\r\n    const {error}=existingTermsId\r\n      ?await client.from('platform_terms').update(data).eq('id',existingTermsId)\r\n      :await client.from('platform_terms').insert(data);\r\n    if(error){ui().toast('Failed: '+error.message,'error');return;}\r\n    ui().closeModal();ui().toast('Terms saved','success');load();\r\n  }\r\n\r\n  window.addEventListener('ims:panel',e=>{if(e.detail.panel==='platforms')load();});\r\n  window.addEventListener('ims:ready',()=>{\r\n    document.getElementById('ims-platform-new-btn')?.addEventListener('click',showNewPlatform);\r\n  });\r\n\r\n  window.IMS_PLATFORMS={load,showNewPlatform,editPlatform,savePlatform,editTerms,selectDelivery,saveTerms,toggleActive};\r\n})();\r\n"],
  "mappings": "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",
  "names": []
}
