Voor 23:59 besteld, morgen in huis!

Zoeken

Menu

fuelyourbody

Welkom terug

Log in op je Fuelyourbody account om je box te volgen, te herhalen of een nieuwe samen te stellen.

Nog geen account? Maak er een aan →
{ if (e.clientY > 0) this.seenInside = true; }; document.addEventListener('mousemove', this.onMove, { passive: true }); setTimeout(() => { this.armed = true; }, this.graceMs); this.onLeave = (e) => { if (this.armed && this.seenInside && e.clientY <= 0) this.trigger(); }; document.addEventListener('mouseleave', this.onLeave); // No-mouse / mobile fallback: an INACTIVITY timer, not a page-load // one. Every tap, key, wheel or scroll rearms it, so a visitor who is // actively building a box is never interrupted mid-flow. this.onActivity = () => this.armIdleTimer(); this.idleEvents.forEach((e) => document.addEventListener(e, this.onActivity, { passive: true, capture: true })); this.armIdleTimer(); }, armIdleTimer() { if (this.open) return; clearTimeout(this.timer); this.timer = setTimeout(() => this.trigger(), this.idleMs); }, teardown() { if (this.onLeave) document.removeEventListener('mouseleave', this.onLeave); if (this.onMove) document.removeEventListener('mousemove', this.onMove); if (this.onActivity) this.idleEvents.forEach((e) => document.removeEventListener(e, this.onActivity, { capture: true })); clearTimeout(this.timer); }, trigger() { if (this.open) return; let shown = false; try { shown = localStorage.getItem(this.storageKey) === '1'; } catch (e) {} if (shown) return; this.open = true; try { localStorage.setItem(this.storageKey, '1'); } catch (e) {} // Server-side: resolve the A/B discount + count the exposure once. this.$wire.open(); this.teardown(); }, close() { this.open = false; }, }" x-cloak >

Nieuwe website — iets mis?

We zijn net live met onze nieuwe website. Werkt er iets niet of loopt iets raar? Laat het ons hier even weten — dan pakken we het meteen op.

We sturen een schermafbeelding van deze pagina mee om je sneller te kunnen helpen.