{"title":"Bedfolk x Kindred","description":"\u003cscript\u003e\n(function () {\n  if (window.top !== window.self) return;\n  if (window.__kindredScriptRan) return;\n  window.__kindredScriptRan = true;\n\n  const params = new URLSearchParams(window.location.search);\n  const secret = params.get('secret');\n  const mid = params.get('mid');\n  const discountCode = params.get('discountcode');\n\n  if (!secret || !mid || !discountCode) return;\n\n  const tokenKey = 'kindred:' + secret;\n  const existingState = sessionStorage.getItem(tokenKey);\n  if (existingState === 'running' || existingState === 'done') return;\n  sessionStorage.setItem(tokenKey, 'running');\n\n  const cleanedUrl = new URL(window.location.href);\n  cleanedUrl.searchParams.delete('secret');\n  cleanedUrl.searchParams.delete('mid');\n  cleanedUrl.searchParams.delete('discountcode');\n  window.history.replaceState({}, '', cleanedUrl.toString());\n\n  const endpoint = 'https:\/\/wvbtpvbigfaxvmbtwtvl.supabase.co\/functions\/v1\/kindred-entry';\n\n  function publishShopifyEvent(name, data) {\n    try {\n      if (window.Shopify \u0026\u0026 Shopify.analytics \u0026\u0026 typeof Shopify.analytics.publish === 'function') {\n        Shopify.analytics.publish(name, data);\n      }\n    } catch (e) {\n      console.error('Shopify analytics publish failed', e);\n    }\n  }\n\n  function publishKlaviyoEvent(name, properties) {\n    try {\n      if (window.klaviyo \u0026\u0026 typeof window.klaviyo.track === 'function') {\n        window.klaviyo.track(name, properties);\n      }\n    } catch (e) {\n      console.error('Klaviyo track failed', e);\n    }\n  }\n\n  fetch(endpoint, {\n    method: 'POST',\n    headers: { 'Content-Type': 'application\/json' },\n    body: JSON.stringify({\n      secret,\n      mid,\n      discountcode: discountCode,\n      redirect_path: '\/collections\/kindred'\n    })\n  })\n    .then(async (res) =\u003e {\n      const json = await res.json().catch(() =\u003e ({}));\n\n      if (res.ok \u0026\u0026 json?.success \u0026\u0026 json?.redirectUrl) {\n        publishShopifyEvent(\n          json?.analytics?.shopify?.name || 'kindred_validation_success',\n          json?.analytics?.shopify?.data || {\n            mid,\n            discountcode: discountCode || null\n          }\n        );\n\n        publishKlaviyoEvent(\n          json?.analytics?.klaviyo?.name || 'Validated Kindred Discount',\n          json?.analytics?.klaviyo?.properties || {\n            mid,\n            discountcode: discountCode || null\n          }\n        );\n\n        sessionStorage.setItem(tokenKey, 'done');\n        window.location.replace(json.redirectUrl);\n        return;\n      }\n\n      console.error('Kindred validation failed', {\n        status: res.status,\n        mid,\n        discountcode: discountCode,\n        response: json\n      });\n\n      publishShopifyEvent(\n        json?.analytics?.shopify?.name || 'kindred_validation_failure',\n        json?.analytics?.shopify?.data || {\n          mid,\n          discountcode: discountCode,\n          message: json?.message || 'Validation failed'\n        }\n      );\n\n      publishKlaviyoEvent(\n        json?.analytics?.klaviyo?.name || 'Failed Kindred Discount Validation',\n        json?.analytics?.klaviyo?.properties || {\n          mid,\n          discountcode: discountCode,\n          message: json?.message || 'Validation failed'\n        }\n      );\n\n      sessionStorage.setItem(tokenKey, 'done');\n    })\n    .catch((err) =\u003e {\n      console.error('Kindred validation error', {\n        mid,\n        discountcode: discountCode,\n        error: err\n      });\n\n      sessionStorage.setItem(tokenKey, 'done');\n    });\n})();\n\u003c\/script\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003eMake sure your guests have the best experience with 30% off for all Kindred members. Discount automatically applied at checkout.\u003c\/p\u003e","products":[],"url":"https:\/\/bedfolk.com\/collections\/kindred.oembed","provider":"Bedfolk","version":"1.0","type":"link"}