{
  "version": 3,
  "sources": ["/cdn/shop/t/4/assets/ims-store-connections.js?bust=20260722"],
  "sourcesContent": ["// StockMaestro \u2014 Store Connections (multi-platform order import) v1.0\r\n(function(){\r\n  'use strict';\r\n  const ui=()=>window.SM.UI, util=()=>window.SM.UTIL;\r\n  const db=()=>window.supabase.createClient(window.IMS_SUPABASE_URL,window.IMS_SUPABASE_ANON_KEY);\r\n\r\n  // Platform types we know how to receive orders from. Only Shopify is\r\n  // implemented at present; Wix and WooCommerce are listed so the UI and\r\n  // schema are ready, but selecting them shows a \"coming soon\" note rather\r\n  // than pretending to work.\r\n  const PLATFORM_TYPES = {\r\n    shopify:     { label: 'Shopify',     implemented: true,  icon: 'ti-brand-shopify' },\r\n    woocommerce: { label: 'WooCommerce', implemented: false, icon: 'ti-brand-woocommerce' },\r\n    wix:         { label: 'Wix',         implemented: false, icon: 'ti-world' }\r\n  };\r\n\r\n  async function load(){\r\n    const content=document.getElementById('ims-stores-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    const client=db();\r\n    const [{data:stores},{data:platforms}]=await Promise.all([\r\n      client.from('store_connections').select('*').eq('company_id',companyId).order('created_at'),\r\n      client.from('platforms').select('id,name').or(`company_id.eq.${companyId},company_id.is.null`).eq('is_active',true)\r\n    ]);\r\n\r\n    // Expose platforms for the add/edit form's dropdown\r\n    window._smStorePlatforms = platforms || [];\r\n\r\n    if(!stores || !stores.length){\r\n      content.innerHTML=`\r\n        <div class=\"ims__empty\" style=\"text-align:center;padding:40px 20px\">\r\n          <i class=\"ti ti-plug-connected\" style=\"font-size:40px;color:var(--ims-text-muted)\"></i>\r\n          <p style=\"margin:12px 0 4px;font-weight:600\">No store connections yet</p>\r\n          <p style=\"color:var(--ims-text-muted);font-size:13px;margin:0 0 16px\">Connect a Shopify store to automatically import paid orders into StockMaestro.</p>\r\n        </div>`;\r\n      return;\r\n    }\r\n\r\n    content.innerHTML=`\r\n      <div class=\"ims__table-wrap\">\r\n        <table class=\"ims__table\">\r\n          <thead><tr>\r\n            <th>Store</th><th>Type</th><th>Domain</th><th>Tagged to platform</th>\r\n            <th>Status</th><th>Last order</th><th>Actions</th>\r\n          </tr></thead>\r\n          <tbody>\r\n            ${stores.map(s=>{\r\n              const type=PLATFORM_TYPES[s.platform_type]||{label:s.platform_type,icon:'ti-plug'};\r\n              const plat=(platforms||[]).find(p=>p.id===s.platform_id);\r\n              // Orders import with the webhook signing secret alone: the\r\n              // webhook carries the whole order, so no access token is needed\r\n              // (and since 2026 Shopify no longer issues the old kind easily).\r\n              const configured = !!s.webhook_secret;\r\n              return `<tr>\r\n                <td style=\"font-weight:600\">${util().sanitize(s.store_name)}</td>\r\n                <td><span class=\"ims__pill ims__pill--neutral\"><i class=\"ti ${type.icon}\"></i> ${util().sanitize(type.label)}</span></td>\r\n                <td style=\"font-size:12px;font-family:monospace\">${util().sanitize(s.store_domain)}</td>\r\n                <td style=\"font-size:12px\">${plat?util().sanitize(plat.name):'<span style=\"color:var(--ims-danger)\">Not set</span>'}</td>\r\n                <td>${s.is_active\r\n                  ? (configured\r\n                      ? '<span class=\"ims__pill ims__pill--success\">Active</span>'\r\n                      : '<span class=\"ims__pill ims__pill--warning\">Needs setup</span>')\r\n                  : '<span class=\"ims__pill ims__pill--neutral\">Paused</span>'}</td>\r\n                <td style=\"font-size:12px\">${s.last_order_at?util().formatDate(s.last_order_at):'\u2014'}</td>\r\n                <td>\r\n                  <button class=\"ims__btn ims__btn--secondary ims__btn--sm ims__btn--icon\" onclick=\"window.IMS_STORES.editStore('${util().jsArg(s.id)}')\" title=\"Edit\"><i class=\"ti ti-edit\"></i></button>\r\n                  <button class=\"ims__btn ims__btn--secondary ims__btn--sm ims__btn--icon\" onclick=\"window.IMS_STORES.showWebhookInfo('${util().jsArg(s.id)}')\" title=\"Webhook URL & setup\"><i class=\"ti ti-link\"></i></button>\r\n                  <button class=\"ims__btn ims__btn--danger ims__btn--sm ims__btn--icon\" onclick=\"window.IMS_STORES.deleteStore('${util().jsArg(s.id)}','${util().jsArg(s.store_name)}')\" title=\"Remove\"><i class=\"ti ti-trash\"></i></button>\r\n                </td>\r\n              </tr>`;\r\n            }).join('')}\r\n          </tbody>\r\n        </table>\r\n      </div>`;\r\n  }\r\n\r\n  async function editStore(id){\r\n    const client=db();\r\n    let s={ platform_type:'shopify', store_name:'', store_domain:'', access_token:'', webhook_secret:'', platform_id:'', is_active:true };\r\n    if(id){\r\n      const {data}=await client.from('store_connections').select('*').eq('id',id).maybeSingle();\r\n      if(data)s=data;\r\n    }\r\n    const platforms=window._smStorePlatforms||[];\r\n    const typeOpts=Object.entries(PLATFORM_TYPES).map(([k,v])=>\r\n      `<option value=\"${k}\" ${s.platform_type===k?'selected':''} ${!v.implemented?'disabled':''}>${v.label}${!v.implemented?' (coming soon)':''}</option>`\r\n    ).join('');\r\n    const platOpts=platforms.map(p=>`<option value=\"${p.id}\" ${s.platform_id===p.id?'selected':''}>${util().sanitize(p.name)}</option>`).join('');\r\n\r\n    ui().openModal(id?'Edit store connection':'Connect a store',`\r\n      <div class=\"ims__form-grid\">\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label ims__label--req\">Store type</label>\r\n          <select class=\"ims__select\" id=\"ims-sc-type\">${typeOpts}</select>\r\n        </div>\r\n        <div class=\"ims__form-group\">\r\n          <label class=\"ims__label ims__label--req\">Store name (label)</label>\r\n          <input class=\"ims__input\" type=\"text\" id=\"ims-sc-name\" value=\"${util().sanitize(s.store_name||'')}\" placeholder=\"e.g. Fatsofa\">\r\n        </div>\r\n        <div class=\"ims__form-group ims__form-group--full\">\r\n          <label class=\"ims__label ims__label--req\">Store domain</label>\r\n          <input class=\"ims__input\" type=\"text\" id=\"ims-sc-domain\" value=\"${util().sanitize(s.store_domain||'')}\" placeholder=\"e.g. fatsofa.myshopify.com\">\r\n          <span class=\"ims__input-hint\">The <strong>.myshopify.com</strong> address in Shopify \u2192 <strong>Settings \u2192 Domains</strong>, not your public URL. It is often a code rather than the shop's name (e.g. <strong>p700e0-pr.myshopify.com</strong>), and must match exactly.</span>\r\n        </div>\r\n        <div class=\"ims__form-group ims__form-group--full\">\r\n          <label class=\"ims__label ims__label--req\">Tag imported orders to platform</label>\r\n          <select class=\"ims__select\" id=\"ims-sc-platform\"><option value=\"\">Select platform...</option>${platOpts}</select>\r\n          <span class=\"ims__input-hint\">Usually <strong>Website / Own Store</strong>. Imported orders appear under this channel.</span>\r\n        </div>\r\n        <div class=\"ims__form-group ims__form-group--full\">\r\n          <label class=\"ims__label\">Admin API access token</label>\r\n          <input class=\"ims__input\" type=\"text\" id=\"ims-sc-token\" value=\"${util().sanitize(s.access_token||'')}\" placeholder=\"shpat_...\" autocomplete=\"off\">\r\n          <span class=\"ims__input-hint\"><strong>Not needed</strong> to import orders: leave empty. Only for a future feature (sending stock levels back to Shopify).</span>\r\n        </div>\r\n        <div class=\"ims__form-group ims__form-group--full\">\r\n          <label class=\"ims__label\">Webhook signing secret</label>\r\n          <input class=\"ims__input\" type=\"text\" id=\"ims-sc-secret\" value=\"${util().sanitize(s.webhook_secret||'')}\" placeholder=\"Webhook secret\" autocomplete=\"off\">\r\n          <span class=\"ims__input-hint\"><strong>Required.</strong> Shopify \u2192 Settings \u2192 Notifications \u2192 Webhooks: the code after \"Your webhooks will be signed with\". Proves each order genuinely came from Shopify.</span>\r\n        </div>\r\n        <div class=\"ims__form-group ims__form-group--full\">\r\n          <label style=\"display:flex;align-items:center;gap:8px;cursor:pointer\">\r\n            <input type=\"checkbox\" id=\"ims-sc-active\" ${s.is_active!==false?'checked':''}> Active \u2014 import orders from this store\r\n          </label>\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_STORES.saveStore('${util().jsArg(id||'')}')\"><i class=\"ti ti-check\"></i> Save</button>\r\n    `,'lg');\r\n  }\r\n\r\n  async function saveStore(id){\r\n    const g=idv=>document.getElementById(idv)?.value?.trim()||'';\r\n    const name=g('ims-sc-name');\r\n    const domain=g('ims-sc-domain');\r\n    const platformId=g('ims-sc-platform');\r\n    const type=g('ims-sc-type');\r\n    if(!name||!domain){ui().toast('Store name and domain are required','error');return;}\r\n    if(!platformId){ui().toast('Please choose which platform to tag orders to','error');return;}\r\n    if(!PLATFORM_TYPES[type]?.implemented){ui().toast(`${PLATFORM_TYPES[type]?.label||type} is not available yet \u2014 only Shopify is supported currently`,'error');return;}\r\n\r\n    const payload={\r\n      company_id: window.SM.AUTH.company?.id,\r\n      platform_type: type,\r\n      store_name: name,\r\n      store_domain: domain.replace(/^https?:\\/\\//,'').replace(/\\/$/,''),\r\n      platform_id: platformId,\r\n      access_token: g('ims-sc-token')||null,\r\n      webhook_secret: g('ims-sc-secret')||null,\r\n      is_active: document.getElementById('ims-sc-active')?.checked||false,\r\n      updated_at: new Date().toISOString()\r\n    };\r\n\r\n    const client=db();\r\n    const {error}= id\r\n      ? await client.from('store_connections').update(payload).eq('id',id)\r\n      : await client.from('store_connections').insert(payload);\r\n    if(error){ui().toast('Failed to save: '+error.message,'error',6000);return;}\r\n\r\n    ui().closeModal();\r\n    ui().toast(id?'Store updated':'Store connected','success');\r\n    load();\r\n    if(!id) setTimeout(()=>ui().toast('Next: click the link icon to get your webhook URL and finish setup in Shopify','info',7000),600);\r\n  }\r\n\r\n  async function showWebhookInfo(id){\r\n    const client=db();\r\n    const {data:s}=await client.from('store_connections').select('*').eq('id',id).maybeSingle();\r\n    if(!s){ui().toast('Store not found','error');return;}\r\n    const webhookUrl=`${window.IMS_SUPABASE_URL}/functions/v1/swift-processor`;\r\n\r\n    ui().openModal(`Webhook setup \u2014 ${util().sanitize(s.store_name)}`,`\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>Add this webhook in your Shopify admin so paid orders flow into StockMaestro automatically.</span>\r\n      </div>\r\n      <div class=\"ims__form-group\" style=\"margin-bottom:14px\">\r\n        <label class=\"ims__label\">1. Webhook URL (copy this)</label>\r\n        <div style=\"display:flex;gap:8px\">\r\n          <input class=\"ims__input\" type=\"text\" readonly value=\"${webhookUrl}\" id=\"ims-sc-hookurl\" style=\"font-family:monospace;font-size:12px\">\r\n          <button class=\"ims__btn ims__btn--secondary ims__btn--sm\" onclick=\"\r\n            const el=document.getElementById('ims-sc-hookurl');el.select();\r\n            navigator.clipboard.writeText(el.value).then(()=>window.SM.UI.toast('Copied','success'));\r\n          \"><i class=\"ti ti-copy\"></i></button>\r\n        </div>\r\n      </div>\r\n      <ol style=\"font-size:13px;line-height:1.9;color:var(--ims-text-sec);margin:0 0 0 18px\">\r\n        <li>In Shopify admin: <strong>Settings \u2192 Notifications \u2192 Webhooks</strong> (or your custom app \u2192 Webhooks)</li>\r\n        <li>Click <strong>Create webhook</strong></li>\r\n        <li>Event: <strong>Order creation</strong> (orders/create) \u2014 not \"Order payment\". This matters on Basic plan, where the payment webhook strips customer details.</li>\r\n        <li>Format: <strong>JSON</strong></li>\r\n        <li>URL: paste the URL above</li>\r\n        <li>Copy the <strong>signing secret</strong> Shopify shows, and paste it into this store's <em>Webhook signing secret</em> field (Edit).</li>\r\n      </ol>\r\n    `,`\r\n      <button class=\"ims__btn ims__btn--primary\" onclick=\"window.SM.UI.closeModal()\">Done</button>\r\n    `,'lg');\r\n  }\r\n\r\n  async function deleteStore(id,name){\r\n    ui().openModal('Remove store connection\uFF1F',`\r\n      <p style=\"font-size:14px\">Remove the connection to <strong>${util().sanitize(name)}</strong>?</p>\r\n      <p style=\"font-size:13px;color:var(--ims-text-muted)\">Orders already imported are kept. New orders from this store will stop importing. Remember to also delete the webhook in Shopify.</p>\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--danger\" onclick=\"window.IMS_STORES.confirmDelete('${util().jsArg(id)}')\"><i class=\"ti ti-trash\"></i> Remove</button>\r\n    `,'sm');\r\n  }\r\n\r\n  async function confirmDelete(id){\r\n    const {error}=await db().from('store_connections').delete().eq('id',id);\r\n    if(error){ui().toast('Failed: '+error.message,'error');return;}\r\n    ui().closeModal();ui().toast('Store connection removed','success');load();\r\n  }\r\n\r\n  // Wire the \"Add store\" header button\r\n  document.addEventListener('click',e=>{\r\n    if(e.target.closest('#ims-store-new-btn')) editStore('');\r\n  });\r\n\r\n  window.addEventListener('ims:panel',e=>{ if(e.detail.panel==='stores') load(); });\r\n\r\n  window.IMS_STORES={ load, editStore, saveStore, showWebhookInfo, deleteStore, confirmDelete };\r\n})();\r\n"],
  "mappings": "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",
  "names": []
}
