1import{e as g,f as y,G as p,c as n,a as t,y as i,b as l,F as b,h as x,H as k,I as m,J as h,o as d,g as v}from"./BYXglTKb.js";const w={class:"space-y-5"},_={key:0,class:"flex flex-col items-center gap-3 py-10 text-center"},S={class:"flex size-12 items-center justify-center rounded-full bg-green-50 dark:bg-green-950"},z=g({__name:"contact",setup(T){y({title:"Contact â Dither it!"});const u=p(),r=m(!1),s=m(!1);async function f(c){const e=c.target;r.value=!0;try{const o=new FormData(e),a=await fetch("/__forms.html",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(o).toString()});if(!a.ok)throw new Error(`HTTP ${a.status}`);s.value=!0,e.reset()}catch{u.add({title:"Failed to send",description:"Please try again later.",color:"error"})}finally{r.value=!1}}return(c,e)=>{const o=v,a=h;return d(),n("div",w,[e[4]||(e[4]=t("form",{name:"contact",netlify:"","netlify-honeypot":"bot-field",hidden:""},[t("input",{type:"text",name:"name"}),t("input",{type:"email",name:"email"}),t("textarea",{name:"message"})],-1)),i(s)?(d(),n("div",_,[t("div",S,[l(o,{name:"i-lucide-check",class:"size-6 text-green-500"})]),e[1]||(e[1]=t("div",null,[t("p",{class:"text-base font-medium text-gray-800 dark:text-gray-100"}," Message sent! "),t("p",{class:"mt-1 text-sm text-gray-500"}," Thanks for your feedback. I'll get back to you within a few days. ")],-1)),l(a,{label:"Send another",color:"neutral",variant:"ghost",size:"sm",onClick:e[0]||(e[0]=P=>s.value=!1)})])):(d(),n(b,{key:1},[e[3]||(e[3]=t("p",{class:"text-base text-gray-500 dark:text-gray-400"}," Have a feature request, found a bug, or just want to say hi? ",-1)),t("form",{name:"contact",method:"POST","data-netlify":"true","netlify-honeypot":"bot-field",class:"space-y-4",onSubmit:k(f,["prevent"])},[e[2]||(e[2]=x('<input type="hidden" name="form-name" value="contact"><p class="hidden"><label>Don't fill this out if you're human: <input name="bot-field"></label></p><div class="space-y-2"><label for="contact-name" class="block text-sm font-medium text-gray-800 dark:text-gray-100">Name</label><input id="contact-name" type="text" name="name" required class="w-full rounded-md border border-gray-100 bg-white px-3 py-2 text-gray-800 transition-colors focus:outline-none focus:ring-2 focus:ring-ditherit dark:border-gray-800 dark:bg-gray-800 dark:text-gray-100 dark:focus:ring-ditherit"></div><div class="space-y-2"><label for="contact-email" class="block text-sm font-medium text-gray-800 dark:text-gray-100">Email</label><input id="contact-email" type="email" name="email" required class="w-full rounded-md border border-gray-100 bg-white px-3 py-2 text-gray-800 transition-colors focus:outline-none focus:ring-2 focus:ring-ditherit dark:border-gray-800 dark:bg-gray-800 dark:text-gray-100 dark:focus:ring-ditherit"></div><div class="space-y-2"><label for="contact-message" class="block text-sm font-medium text-gray-800 dark:text-gray-100">Message</label><textarea id="contact-message" name="message" rows="5" required class="w-full resize-none rounded-md border border-gray-100 bg-white px-3 py-2 text-gray-800 transition-colors focus:outline-none focus:ring-2 focus:ring-ditherit dark:border-gray-800 dark:bg-gray-800 dark:text-gray-100 dark:focus:ring-ditherit"></textarea></div>',5)),l(a,{type:"submit",label:"Send message",icon:"i-lucide-send",color:"primary",loading:i(r),disabled:i(r)},null,8,["loading","disabled"])],32)],64))])}}});export{z as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.