if (typeof (performance) !== 'undefined' && performance.mark) { performance.mark(markName); } } markPerformance('docStart'); var recordLifecycleEvents = true; function trackEvent(key, params) { if (!recordLifecycleEvents) { return; } var eventRequest = new XMLHttpRequest(); eventRequest.open('POST', 'https://events.api.copperstatesupplyinc.shop/api/client-event', true); eventRequest.withCredentials = true; eventRequest.setRequestHeader('accept', 'application/json, text/plain, */*'); eventRequest.setRequestHeader('content-type', 'application/json;charset=UTF-8'); eventRequest.send( JSON.stringify({ event_key: key, parameter_tokens: params, }) ); } trackEvent("retailers-html_init-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]); if (document.readyState === "loading") { document.addEventListener('DOMContentLoaded', function (event) { trackEvent("retailers-resource_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]); }); window.addEventListener('load', function() { trackEvent("retailers-load_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]); }); } else if (document.readyState === "interactive") { trackEvent("retailers-resource_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]); window.addEventListener('load', function() { trackEvent("retailers-load_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]); }); } else { trackEvent("retailers-resource_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]); trackEvent("retailers-load_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]); } window.loadTimeInteractions = []; const captureLoadTimeInteraction = function(event) { window.loadTimeInteractions.push({ type: event.type, time: performance.now(), selector: event.target && event.target.tagName ? event.target.tagName.toLowerCase() + (event.target.getAttribute('data-test-id') ? '.' + event.target.getAttribute('data-test-id') : '') : 'unknown' }); }; window.startLoadTimeInteractionTracking = function() { var hasExistingListener = function(eventType) { var listeners = window.getEventListeners ? window.getEventListeners(window)[eventType] || [] : []; return listeners.some(function(l) { return l.listener === captureLoadTimeInteraction; }); }; pointerEvents.concat(keyboardEvents, inputEvents).forEach(function(eventType) { if (!hasExistingListener(eventType)) { window.addEventListener(eventType, captureLoadTimeInteraction); } }); }; window.stopLoadTimeInteractionTracking = function() { window.loadTimeInteractions = []; pointerEvents.concat(keyboardEvents, inputEvents).forEach(function(eventType) { window.removeEventListener(eventType, captureLoadTimeInteraction); }); }; var pointerEvents = ["click", "pointerdown"]; var keyboardEvents = ["keydown", "keyup"]; var inputEvents = ["input", "change"]; window.startLoadTimeInteractionTracking(); window.addEventListener('scroll', function() { window.mostRecentScrollTime = performance.now(); }); window.addEventListener('error', function (event) { var globalErrorEventMessage = "Empty error event"; if (event) { globalErrorEventMessage = event.message + " at " + event.filename + ":" + event.lineno + ":" + event.colno; } trackEvent("retailers-webretailerglobalerror-error", [globalErrorEventMessage]); }); document.onvisibilitychange = () => { if (document.visibilityState === "hidden") { const url = '/api/client-event'; const data = new Blob( [JSON.stringify({ event_key: 'sessions-session_abandoned-action_unknown', client_created_at: Date.now() })], { type: "application/json" } ); window.navigator.sendBeacon(url, data); } }; document.addEventListener('load', (event) => { if (event.target && event.target.tagName === "IMG") { event.target.faireLoadTimeStamp = event.timeStamp; } }, { capture: true } );
Comme Avant is an atypical company, a terribly imperfect human adventure that participates, on its scale, in the ecological transition. We produce what we think is essential by eliminating all that is superfluous, to focus on the essentials. Thanks to our independence, we feel free to be against the current, without thinking about profit before ecology. It is in our manufacturing workshop, near Marseille, that we produce effective cosmetics, household products and sustainable clothing by hand. In all transparency and without taboo, we are constantly improving our products, while minimizing our waste. A philosophy at least and better, designed for the planet and future generations.
Sign up to unlock wholesale pricing on Comme Avant and thousands of brands on Faire, the marketplace for retailers.
Sign up to unlock wholesale pricing on Comme Avant and thousands of brands on Faire, the marketplace for retailers.
Sign up to unlock wholesale pricing on Comme Avant and thousands of brands on Faire, the marketplace for retailers.