About

Pluralist is the future of conservative media. Fast, smart and irresistible, we cover the events and ideas redefining the American right and counter conventional media narratives using innovative technology. Please contact here:

.tork-contact-form{max-width:40rem;margin:1.5rem 0;font:inherit;color:inherit}
.tork-contact-form input,.tork-contact-form textarea{display:block;width:100%;box-sizing:border-box;padding:.55rem .7rem;margin-top:.35rem;font:inherit}
.tork-contact-form button{padding:.65rem 1.15rem;font:inherit;cursor:pointer}
.tork-contact-form button:disabled{opacity:.6;cursor:wait}
.tork-contact-form__status{margin:.85rem 0 0}

(function(){
function boot(root){
var form=root.querySelector(‘form’);
var status=root.querySelector(‘.tork-contact-form__status’);
var button=form.querySelector(‘[type=submit]’);
var api=root.getAttribute(‘data-api’);
var idleLabel=button.textContent||’Send message’;
form.querySelector(‘[name=site]’).value=(location.hostname||”).replace(/^www./i,”);
form.querySelector(‘[name=page_url]’).value=location.href;
form.addEventListener(‘submit’,function(ev){
ev.preventDefault();
status.hidden=false; status.textContent=’Sending…’;
button.disabled=true; button.textContent=’Sending…’;
form.querySelector(‘[name=submitted_at]’).value=new Date().toISOString();
var fd=new FormData(form);
var payload={};
fd.forEach(function(v,k){payload[k]=String(v||”).trim();});
fetch(api,{method:’POST’,headers:{‘Content-Type’:’application/json’,Accept:’application/json’},body:JSON.stringify(payload)})
.then(function(r){return r.json().then(function(d){return {ok:r.ok,data:d||{}};});})
.then(function(res){
status.hidden=false;
if(res.ok&&res.data&&res.data.ok){status.textContent=’Thanks — your message was sent. We will get back to you soon.’;form.reset();}
else{status.textContent=(res.data&&res.data.error)||’Sorry, we could not send your message.’;}
})
.catch(function(){status.hidden=false;status.textContent=’Network error. Please try again.’;})
.finally(function(){button.disabled=false;button.textContent=idleLabel;});
});
}
document.querySelectorAll(‘.tork-contact-form’).forEach(boot);
})();

About Post Author

Follow Us