Se provi Sleepm, raccontaci la tua esperienza. Con il tuo permesso, condivideremo le tue parole con chi sta valutando se questo prodotto fa al caso loro.
✦
Grazie.
La tua storia fa parte della famiglia Sleepm. Una volta che l'avremo abbinata al tuo ordine, potrebbe essere pubblicata sul sito.
(function(){
var f=document.getElementById('lstForm');if(!f){return;}var t0=Date.now(),rate=0,msg=f.querySelector('.lst-err');
var stars=f.querySelectorAll('.lst-star');[].forEach.call(stars,function(s,ix){s.addEventListener('click',function(){rate=ix+1;[].forEach.call(stars,function(x,j){x.classList.toggle('on',j<rate);x.setAttribute('aria-pressed',j<rate?'true':'false');});});});
function err(m){msg.textContent=m;msg.hidden=false;}
f.addEventListener('submit',function(e){e.preventDefault();msg.hidden=true;var E=f.elements;
if(!E.product.value){return err('Please choose which Sleepm you have.');}
if(!rate){return err('Please tap a star rating.');}
if(E.story.value.trim().length<20){return err('Please write a sentence or two about your experience.');}
if(!E.first.value.trim()||!E.phone.value.trim()){return err('Please add your name and phone number (we only use it to verify your purchase).');}
if(!/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(E.email.value.trim())){return err('Please enter a valid email address.');}
var lines=['REVIEW SUBMISSION (verify purchase before publishing)','Product: '+E.product.value,'Rating: '+rate+' of 5','City: '+(E.city.value.trim()||'-'),'Permission to publish first name + city: '+(E.ok.checked?'YES':'NO'),'','Review:',E.story.value.trim()];
var fd=new FormData();fd.append('action','sleepm_contact');fd.append('first',E.first.value.trim());fd.append('last',E.last.value.trim()||'-');fd.append('email',E.email.value.trim());fd.append('phone',E.phone.value.trim());fd.append('heard[]','Review submission');fd.append('message',lines.join('\n'));fd.append('page',location.href);fd.append('website',E.website.value);fd.append('t',String(Date.now()-t0));
if(E.photo.files&&E.photo.files[0]){var x=E.photo.files[0];if(x.size>10*1024*1024){return err('Photos only, up to 10 MB.');}fd.append('photo',x);}
var b=f.querySelector('.lst-go');b.disabled=true;var old=b.textContent;b.textContent='Sending…';
fetch('/wp-admin/admin-ajax.php',{method:'POST',body:fd,credentials:'same-origin'}).then(function(r){return r.json();}).then(function(j){if(j&&j.success){f.hidden=true;document.querySelector('.lst-ok').hidden=false;}else{err((j&&j.data&&j.data.message)||'Something went wrong. Please try again.');b.disabled=false;b.textContent=old;}}).catch(function(){err('Something went wrong. Please try again.');b.disabled=false;b.textContent=old;});
});
})();
Qui non ci sono prezzi
Sleepm viaggia di mano in mano.
Ogni Sleepm viene condiviso con la tua famiglia: qualcuno vicino a te, che parla la tua lingua e che lo usa anche lui. Sono disponibili opzioni di finanziamento.
(function(){ var cv=document.getElementById('dust'),cx=cv.getContext('2d'),W,H; function size(){W=cv.width=innerWidth;H=cv.height=innerHeight}size();addEventListener('resize',size); var P=[];var GOLD=[255,217,138],PERI=[159,176,255],WHITE=[240,243,255]; function spawn(x,y,opt){opt=opt||{};var c=[GOLD,PERI,WHITE][Math.random()*3|0]; P.push({x:x,y:y,vx:(Math.random()-.5)*(opt.sp||1.2),vy:(Math.random()-.5)*1.2,life:1,decay:.012+Math.random()*.02,s:opt.s||(1+Math.random()*2.2),c:c,tw:Math.random()*6.28});} addEventListener('mousemove',function(e){for(var i=0;i<3;i++)spawn(e.clientX+(Math.random()-.5)*10,e.clientY+(Math.random()-.5)*10,{sp:.9});}); setInterval(function(){spawn(Math.random()*W,Math.random()*H*.6,{sp:.3,s:1});},300); function loop(){cx.clearRect(0,0,W,H);cx.globalCompositeOperation='lighter'; for(var i=P.length-1;i>=0;i--){var p=P[i];p.x+=p.vx;p.y+=p.vy;p.life-=p.decay;p.tw+=.25; if(p.life<=0){P.splice(i,1);continue} var a=p.life*(.55+.45*Math.sin(p.tw)); var g=cx.createRadialGradient(p.x,p.y,0,p.x,p.y,p.s*3.2); g.addColorStop(0,'rgba('+p.c[0]+','+p.c[1]+','+p.c[2]+','+a+')');g.addColorStop(1,'rgba('+p.c[0]+','+p.c[1]+','+p.c[2]+',0)'); cx.fillStyle=g;cx.beginPath();cx.arc(p.x,p.y,p.s*3.2,0,6.28);cx.fill();} requestAnimationFrame(loop);}loop(); var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting)e.target.classList.add('awake');});},{threshold:.15}); document.querySelectorAll('.awaken').forEach(function(el){io.observe(el)}); })();