Copperhead Gin 40° 50Cl

Economisez 2%
filler

Prix:
Prix réduit€48.95 Prix normal€49.95

Description

Copperhead Gin est un gin belge présenté dans une bouteille unique. Copperhead Gin est le résultat d'une collaboration entre Yvan Vindogel (un pharmacien de Kortrijk qui s'intéresse fortement à l'aspect chirurgical du gin) et les fillards de Bernard (propriétaire des fillards bien connus de Grain Connue baies. Copperhead est mis en bouteille dans une bouteille de cuivre en cuivre rappelant une colonne de disticulation. Un cuivre est un serpent toxique et doit se référer aux serpents de la caisse de caduceus, un symbole alchimique bien connu des temps anciens et toujours utilisé en médecine. C'est pourquoi le gin est également appelé alchimie gin.

`; document.querySelector('body').insertAdjacentHTML('beforeend', mainHTMLString); window.addEventListener('message', widgetEventListener, false); function widgetEventListener(event) { if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('appstle_message_for_showWidget') !== -1) { } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('appstle_widget_showHide') !== -1) { toggleWidget(); } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('refresh_appstle_loyalty_widget') !== -1 && _ALConfig?.widget_setting?.widgetType === 'LAUNCHER') { loadAppstleLoyaltyWidget(); console.log('REFRESH WIDGET'); } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('show_appstle_loyalty_widget') !== -1) { loadAppstleLoyaltyWidget(); enableWidget(); } } function removeAppstleLoyaltyWidget() { document.querySelector('#appstle-loyalty-button')?.classList?.add('appstle-loyalty-hidden'); document.querySelector('#appstle_loyalty_iframe')?.classList?.add('appstle-loyalty-hidden'); } (function checkForWidgetRestrictions() { let isShowWidget = true; if (_ALConfig?.customerLoyalty?.customerStatus === 'EXCLUDED') { isShowWidget = false; } if (!_ALConfig?.customerId) { isShowWidget = !(_ALConfig?.widget_setting?.restrictedCustomersTag || _ALConfig?.widget_setting?.allowedCustomersTag); } if (_ALConfig?.widget_setting?.allowedCustomersTag?.length && isShowWidget) { let allowedTags = _ALConfig?.widget_setting?.allowedCustomersTag.split(','); if (allowedTags?.length > 0 && !_ALConfig?.customerTags?.some((tag) => allowedTags?.some((allowedTag) => allowedTag?.trim()?.toLowerCase() === tag?.trim()?.toLowerCase()))) { isShowWidget = false; } } if (_ALConfig?.widget_setting?.restrictedCustomersTag?.length && isShowWidget) { let restrictedTags = _ALConfig?.widget_setting?.restrictedCustomersTag?.split(','); if (restrictedTags?.length > 0 && _ALConfig?.customerTags?.some((tag) => restrictedTags?.some((restrictedTag) => restrictedTag?.trim()?.toLowerCase() === tag?.trim()?.toLowerCase()))) { isShowWidget = false; } } if (_ALConfig?.widget_setting?.blockWidgetOnPages?.length && isShowWidget) { let restrictedPages = _ALConfig?.widget_setting?.blockWidgetOnPages?.split(','); const currentPage = window?.location?.pathname; if (restrictedPages?.length > 0) { if (restrictedPages?.includes('/homepage') && currentPage === '/') { isShowWidget = false; } else if (restrictedPages?.some((page) => currentPage?.includes(page))) { isShowWidget = false; } } } if (_ALConfig?.widget_setting?.allowWidgetOnSpecificPages?.length && isShowWidget) { let allowedPages = _ALConfig?.widget_setting?.allowWidgetOnSpecificPages?.split(','); const currentPage = window?.location?.pathname; if (allowedPages?.length > 0) { if (allowedPages?.includes('/homepage') && currentPage === '/') { isShowWidget = true; } else if (allowedPages?.some((page) => currentPage?.includes(page))) { isShowWidget = true; } else { isShowWidget = false; } } } if (!_ALConfig?.customerId && _ALConfig?.widget_setting?.showToLoggedInCustomerOnly) { isShowWidget = false; } window.__APPSTLE_LOYALTY_LAUNCHER_ALLOWED = !!isShowWidget; if (isShowWidget) { showAppstleLoyaltyWidget(); } else { removeAppstleLoyaltyWidget(); } })(); function enableWidget() { document.querySelector('#appstle_loyalty_iframe')?.classList?.add('open'); document.querySelector('#appstle_loyalty_iframe')?.classList?.remove('appstle-loyalty-hidden'); setTimeout(function() { document.querySelector('#appstle_loyalty_iframe')?.classList?.toggle('show-close-icon'); }, 900); } function showAppstleLoyaltyWidget() { const launcherAllowed = window?.['__APPSTLE_LOYALTY_LAUNCHER_ALLOWED'] !== false; document.querySelector('#appstle_loyalty_iframe')?.classList?.remove('appstle-loyalty-hidden'); const btn = document.querySelector('#appstle-loyalty-button'); if (!btn) return; if (launcherAllowed) { btn.classList.remove('appstle-loyalty-hidden'); } else { btn.classList.add('appstle-loyalty-hidden'); } } document.querySelector('.appstle-loyalty-button').addEventListener('click', toggleWidget); if (_ALConfig?.widget_setting?.widgetPosition === 'LEFT') { document.getElementById('appstle_loyalty_iframe')?.classList?.add('appstle-loyalty-left'); document.querySelector('.appstle-loyalty-button')?.classList?.add('appstle-loyalty-left'); document.getElementById('appstle_loyalty_iframe')?.classList?.add('appstle-loyalty-left'); document.getElementById('snackbar')?.classList?.add('left_snackbar'); } else { document.getElementById('appstle_loyalty_iframe')?.classList?.add('appstle-loyalty-right'); document.querySelector('.appstle-loyalty-button')?.classList?.add('appstle-loyalty-right'); document.getElementById('snackbar')?.classList?.add('right_snackbar'); } const alIframeSrc = `\x3chtml> \x3chead> \x3cscript> window["Shopify"] = {}; window["__st"] = ${JSON.stringify(__st)}; window["Shopify"]["shop"] = "${location.host}"; window.appstle_public_domain = "${location.host}"; window["isAppstleLoyaltyCustomerPortal"] = true; \x3c/script> \x3cscript defer type="text/javascript" src="${_ALConfig.widgetJsPath}">\x3c/script> \x3c/head> \x3cbody>

\x3c/body> \x3c/html>`; function toggleWidget() { loadAppstleLoyaltyWidget(); if (_ALConfig?.widget_setting?.widgetType?.toUpperCase() === 'LAUNCHER' && _ALConfig?.widget_setting?.forceRedirectDedicatedPage === true) { window.open(`/${_ALConfig?.proxy_path_prefix}`); } else { document.querySelector('#appstle_loyalty_iframe')?.classList?.toggle('open'); showAppstleLoyaltyWidget(); setTimeout(function() { document.querySelector('#appstle_loyalty_iframe')?.classList?.toggle('show-close-icon'); }, 900); } } const loadAppstleLoyaltyWidget = () => { var iframe = document.querySelectorAll('#appstle_loyalty_iframe'); iframe.forEach(function(item) { item.contentWindow._ALConfig = _ALConfig; item.contentWindow.document.open('text/html', 'replace'); item.contentWindow.document.write(alIframeSrc); item.contentWindow.document.close(); }); }; const launcherDataType = _ALConfig?.widget_setting?.launcherDataType || 'POINTS'; const loyaltyButtonTitle = document.getElementById('loyalty-widget-title'); if (_ALConfig?.shop_labels?.widgetTitle) { loyaltyButtonTitle.innerHTML = parseHtmlStringContent(_ALConfig?.shop_labels?.widgetTitle); } (function() { const { customerLoyalty, widget_setting } = _ALConfig || {}; if (!customerLoyalty) return; const showTier = widget_setting?.showTierName; const launcherButtonElement = document.querySelector('#appstle-loyalty-button'); const pointsEl = document.querySelector('.loyalty_widget_available_points'); if (!pointsEl) return; const fmt = new Intl.NumberFormat(); const { storeCreditBalance = 0, availablePoints = 0, currentVipTier = '' } = customerLoyalty; let displayValue; if (launcherDataType === 'STORE_CREDITS') { displayValue = formatStoreCreditAmount(storeCreditBalance); } else if ((launcherDataType === 'VIP_TIER') && currentVipTier) { displayValue = String(currentVipTier); } else { const n = Number(availablePoints) || 0; displayValue = fmt.format(formatNumberByPointRoundType(n)); } pointsEl.textContent = displayValue; launcherButtonElement?.classList.add('appstle_show_points'); })(); function handleDeepLink() { const loyaltyDeepLinks = [ '#appstle-loyalty', '#appstle-refer', '#appstle-loyalty-earn-rewards', '#appstle-loyalty-redeem-rewards', '#appstle-loyalty-referrals', '#appstle-loyalty-vip-program' ]; if (!_ALConfig?.widget_setting?.showWidget || !loyaltyDeepLinks.some(hash => location?.hash?.includes(hash))) { return; } loadAppstleLoyaltyWidget(); enableWidget(); setTimeout(() => { document.querySelector('#appstle_loyalty_iframe')?.classList?.add('show-close-icon'); }, 900); } handleDeepLink(); const widgetReferralUrl = new URL(window.location.href); if (_ALConfig?.referralEnabled && widgetReferralUrl?.searchParams.get('appstle_referral') && _ALConfig?.widget_setting?.widgetType === 'LAUNCHER') { let referralRedirectUrl = _ALConfig?.widget_setting?.referralRedirectUrl; let redirectURL = referralRedirectUrl + window.location.search; if (referralRedirectUrl) { let referralUrlObj; try { referralUrlObj = new URL(referralRedirectUrl, window.location.origin); } catch { referralUrlObj = null; } let referralPath = referralUrlObj ? referralUrlObj.pathname.replace(/\/+$/, '') : referralRedirectUrl.replace(/\/+$/, ''); let currentPath = window.location.pathname.replace(/\/+$/, ''); if (referralPath && currentPath !== referralPath) { window.open(redirectURL, '_self'); } } setTimeout(() => { loadAppstleLoyaltyWidget(); enableWidget(); }, 200); } (function observeURLChanges() { let lastUrl = location.href; const handleUrlChange = () => { if (location.href !== lastUrl) { handleDeepLink(); lastUrl = location.href; } }; new MutationObserver(handleUrlChange).observe(document.body, { subtree: true, childList: true }); window.addEventListener('popstate', handleUrlChange); window.addEventListener('hashchange', handleUrlChange); })(); const alDOMObserver = new MutationObserver(function(mutations_list) { mutations_list.forEach(function(mutation) { mutation.addedNodes.forEach(function(added_node) { if (added_node.id === 'appstle_loyalty_iframe') { var iframe = document.querySelectorAll('#appstle_loyalty_iframe'); iframe.forEach(function(item) { item.contentWindow._ALConfig = _ALConfig; item.contentWindow.document.open('text/html', 'replace'); item.contentWindow.document.write(alIframeSrc); item.contentWindow.document.close(); }); alDOMObserver.disconnect(); } }); }); }); alDOMObserver.observe(document.querySelector('body'), { subtree: true, childList: true }); } try { const versionUrl = `${location.origin}/${_ALConfig?.proxy_path_prefix || 'apps/loyalty'}/app-loyalty-version`; fetch(versionUrl) .then(res => res.json()) .then(data => { if (data) { const widgetJsUrl = new URL(_ALConfig.widgetJsPath); const widgetCssUrl = new URL(_ALConfig.widgetCssPath); widgetJsUrl.searchParams.set('v', data); widgetCssUrl.searchParams.set('v', data); _ALConfig.widgetJsPath = widgetJsUrl.toString(); _ALConfig.widgetCssPath = widgetCssUrl.toString(); } }) .catch(() => { }) .finally(() => { executeLoyaltyWidget(); }); } catch (err) { executeLoyaltyWidget(); } const storeCreditMismatch = _ALConfig?.customerId && _ALConfig?.customerStoreCreditBalance >= 0 && _ALConfig?.customerLoyalty?.storeCreditBalance >= 0 && _ALConfig?.customerLoyalty?.storeCreditBalance !== _ALConfig?.customerStoreCreditBalance; if (storeCreditMismatch && _ALConfig.shop === 'olineloyalty27.myshopify.com') { const updateCustomerUrl = `/${_ALConfig?.proxy_path_prefix || 'apps/loyalty'}/cp/api/update-customer`; try { fetch(updateCustomerUrl, { method: 'POST' }) .then((response) => { if(response.ok) {} }) .catch(() => {}); } catch (err) {} } const dedicatedPageURL = new URL(window.location.href); const decodeUrl = (content) => { if (typeof content !== 'string') return content; try { const htmlDecoded = content?.replace(/\\\//g, '/'); return JSON.parse(`"${htmlDecoded}"`); } catch (error) { console.error('Error parsing content:', error); return content; } }; if (dedicatedPageURL?.searchParams?.get('appstle_referral') && _ALConfig?.widget_setting?.widgetType === 'DEDICATED_PAGE') { const customUrl = decodeUrl(_ALConfig?.widget_setting?.referralCustomRedirectUrl); if (customUrl) { const normalizedCustomPath = customUrl.startsWith('/') ? customUrl : `/${customUrl}`; if (window.location.pathname !== normalizedCustomPath) { const redirectUrl = new URL(window.location.href); redirectUrl.pathname = normalizedCustomPath; window.open(redirectUrl.toString(), '_self'); } } else if (dedicatedPageURL?.searchParams?.get('appstle_referral') && _ALConfig?.widget_setting?.widgetType === 'DEDICATED_PAGE' && !window.location.href.includes(_ALConfig?.proxy_path_prefix)) { window.open(`${window.location.origin}/${_ALConfig?.proxy_path_prefix}${window.location.search}`, '_self'); } } const dedicatedPageEventListener = (event) => { if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('refresh_appstle_loyalty_page') !== -1) { initiateAppstleLoyaltyPage(); console.log('REFRESH PAGE'); } }; window.addEventListener('message', dedicatedPageEventListener, false); function initiateAppstleLoyaltyPage() { if (document.querySelector('#appstleLoyaltyPage')) { const appstleLoyaltyPageElement = document.getElementById('appstleLoyaltyPage'); while (appstleLoyaltyPageElement.firstChild) { appstleLoyaltyPageElement.firstChild.remove(); } document.title = ""; setTimeout(() => { let metaDescription = document.querySelector('meta[name="description"]'); if (metaDescription) { metaDescription.content = ""; } else { metaDescription = document.createElement('meta'); metaDescription.name = 'description'; metaDescription.content = ""; document.head.appendChild(metaDescription); } }, 500); if (appstleLoyaltyPageElement) { const loadDedicatedPageAsset = (createAsset, attempt, onSettle) => { const asset = createAsset(); let settled = false; const settle = () => { if (settled) return; settled = true; if (typeof onSettle === 'function') { onSettle(); } }; asset.onload = settle; asset.onerror = () => { asset.remove(); if (attempt < 4) { setTimeout(() => loadDedicatedPageAsset(createAsset, attempt + 1, onSettle), 1000 * Math.pow(2, attempt - 1)); } else { settle(); } }; } const appendDedicatedPageWidgetScript = () => { loadDedicatedPageAsset(() => { const s = document.createElement('script'); s.setAttribute('src', _ALConfig?.widgetJsPath); s.async = false; document.body.appendChild(s); return s; }, 1); } const executeDedicatedPageScript = () => { let widgetScriptAppended = false; const appendWidgetScriptOnce = () => { if (widgetScriptAppended) return; widgetScriptAppended = true; appendDedicatedPageWidgetScript(); }; try { const preload = document.createElement('link'); preload.rel = 'preload'; preload.as = 'script'; preload.href = _ALConfig?.widgetJsPath; document.head.appendChild(preload); } catch (e) {} loadDedicatedPageAsset(() => { const link = document.createElement('link'); link.type = 'text/css'; link.rel = 'stylesheet'; link.href = _ALConfig?.widgetCssPath; document.head.appendChild(link); return link; }, 1, appendWidgetScriptOnce); setTimeout(appendWidgetScriptOnce, 8000); } try { const versionUrl = `${location.origin}/${_ALConfig?.proxy_path_prefix || 'apps/loyalty'}/app-loyalty-version`; fetch(versionUrl).then(res => res.json()).then(data => { if (data) { const widgetJsUrl = new URL(_ALConfig.widgetJsPath); const widgetCssUrl = new URL(_ALConfig.widgetCssPath); widgetJsUrl.searchParams.set('v', data); widgetCssUrl.searchParams.set('v', data); _ALConfig.widgetJsPath = widgetJsUrl.toString(); _ALConfig.widgetCssPath = widgetCssUrl.toString(); } }).catch(() => {}).finally(() => { executeDedicatedPageScript(); }); } catch (err) { executeDedicatedPageScript(); } } } else { setTimeout(() => { initiateAppstleLoyaltyPage(); }, 2000); } } const dedicatedPageReferralUrl = new URL(window.location.href)?.searchParams.get('appstle_referral'); if (_ALConfig?.widget_setting?.showWidget === true) { initiateAppstleLoyaltyPage(); } (async function() { const isAvailableVisitShop = _ALConfig?.pointEarnRules?.length > 0 && _ALConfig?.pointEarnRules?.find((rule) => rule?.type === 'VISIT_SHOP' && rule?.status === 'ACTIVE'); if (_ALConfig?.customerId && isAvailableVisitShop) { if (!sessionStorage.getItem('syncVisitStore') && ((_ALConfig?.customerId && isAvailableVisitShop && isAvailableVisitShop?.id) || (_ALConfig?.referralEnabled && _ALConfig?.referralLoyalty?.referralType === 'VISIT_SHOP'))) { try { const response = await fetch(`/${_ALConfig?.proxy_path_prefix || 'apps/loyalty'}/cp/api/customer-visit-store`, { method: 'POST', headers: {'Content-Type': 'application/json'}, }); if (response?.ok) { sessionStorage.setItem('syncVisitStore', 'true'); } } catch (error) { console.error('Error:', error); } } } })(); const loyaltyCustomStyles = ``; document.querySelector('body').insertAdjacentHTML('beforeend', loyaltyCustomStyles);