PageSourceSearch

https://notedoctors.ai/_next/static/chunks/site-footer-CDsKf9pk.js

js notedoctors.ai collected 2026-10-05 15:19:25 UTC 6,300 bytes, 1 lines download raw bytes

1import{r as e}from"./rolldown-runtime-C60lm6uB.js";import{i as t,r as n}from"./framework-BaE7mD_r.js";var r=e(n(),1);function i(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e;if(![`name`,`email`,`subject`,`message`].every(e=>typeof t[e]==`string`))return null;let{name:n,email:r,subject:i,message:a}=Object.fromEntries([`name`,`email`,`subject`,`message`].map(e=>[e,t[e].trim()]));return!n||n.length>100||/[\x00-\x1f\x7f]/.test(n)||r.length>254||!/^[^\s@<>;,]+@[^\s@<>;,]+\.[^\s@<>;,]+$/.test(r)||/[\x00-\x1f\x7f]/.test(r)||!i||i.length>120||/[\x00-\x1f\x7f]/.test(i)||!a||a.length>2e3||/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/.test(a)?null:{name:n,email:r,subject:i,message:a}}var a=t();function o(){let e=(0,r.useRef)(null),t=(0,r.useId)(),n=(0,r.useId)(),[o,s]=(0,r.useState)(``),[c,l]=(0,r.useState)(!1),u=(0,r.useRef)(!1),d=(0,r.useRef)(null),f=`mt-2 w-full rounded-xl border border-slate-300 bg-white px-3 py-3 text-base text-slate-900 focus:border-teal-600 focus:outline-2 focus:outline-teal-600`;return(0,a.jsxs)(`footer`,{className:`border-t border-slate-200 bg-white/85 px-5 py-6 text-sm text-slate-600`,children:[(0,a.jsxs)(`div`,{className:`mx-auto flex max-w-[1500px] flex-wrap items-center justify-between gap-x-6 gap-y-2`,children:[(0,a.jsxs)(`p`,{className:`m-0`,children:[`© `,new Date().getFullYear(),` NoteDoctors.ai`]}),(0,a.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,a.jsxs)(`a`,{href:`https://www.facebook.com/profile.php?id=61593643604905`,target:`_blank`,rel:`noopener noreferrer`,className:`rounded-full border border-teal-700 bg-white px-5 py-2.5 text-sm font-semibold text-teal-800 hover:bg-teal-50 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-teal-700`,children:[`Facebook`,(0,a.jsx)(`span`,{className:`sr-only`,children:` — NoteDoctors.ai (opens in a new tab)`})]}),(0,a.jsxs)(`a`,{href:`/disclaimer`,target:`_blank`,rel:`noopener noreferrer`,className:`rounded-full border border-teal-700 bg-white px-5 py-2.5 text-sm font-semibold text-teal-800 hover:bg-teal-50 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-teal-700`,children:[`Disclaimer`,(0,a.jsx)(`span`,{className:`sr-only`,children:` (opens in a new tab)`})]}),(0,a.jsx)(`button`,{type:`button`,onClick:()=>{s(``),d.current&&Date.now()-d.current.submittedAt>23*36e5&&(d.current=null),e.current?.showModal()},className:`rounded-full border border-teal-700 bg-teal-700 px-5 py-2.5 text-sm font-semibold text-white hover:bg-teal-800 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-teal-700`,"aria-haspopup":`dialog`,children:`Contact`})]})]}),(0,a.jsxs)(`dialog`,{ref:e,"aria-labelledby":t,"aria-describedby":n,className:`fixed inset-0 m-auto max-h-[90dvh] w-[calc(100%-2rem)] max-w-lg overflow-y-auto rounded-2xl border border-slate-200 bg-white p-5 text-left text-slate-800 shadow-xl backdrop:bg-slate-950/40 sm:p-7`,children:[(0,a.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-4`,children:[(0,a.jsx)(`h2`,{id:t,className:`text-2xl font-bold text-teal-800`,children:`Contact NoteDoctors`}),(0,a.jsx)(`button`,{type:`button`,onClick:()=>e.current?.close(),className:`rounded-lg px-3 py-2 text-sm font-semibold text-teal-800 hover:bg-teal-50`,children:`Close`})]}),(0,a.jsx)(`p`,{id:n,className:`text-sm leading-6 text-slate-600`,children:`Questions, feedback, or help with your account? Fill in the form below. Please do not include patient information or medical records. This is not for medical advice or emergencies.`}),(0,a.jsxs)(`form`,{className:`mt-5 space-y-4`,"aria-busy":c,onChange:()=>{s(``),d.current=null},onSubmit:async e=>{if(e.preventDefault(),u.current)return;let t=e.currentTarget,n=new FormData(t),r=i({name:n.get(`name`),email:n.get(`email`),subject:n.get(`subject`),message:n.get(`message`)});if(!r){s(`Please complete every field with a valid email address and a message of up to 2,000 characters.`);return}d.current??={requestId:crypto.randomUUID(),submittedAt:Date.now()},u.current=!0,l(!0),s(`Sending your message…`);try{let e=await fetch(`/api/contact`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...r,website:String(n.get(`website`)||``),...d.current}),signal:AbortSignal.timeout(2e4)});s((await e.json()).message||`Your message could not be confirmed. Please try again later.`),e.ok&&(t.reset(),d.current=null)}catch{s(`Your message could not be confirmed. Your text is still here; please check your connection and try again.`)}finally{u.current=!1,l(!1)}}
1,children:[(0,a.jsxs)(`fieldset`,{disabled:c,className:`space-y-4 border-0 p-0`,children:[(0,a.jsx)(`div`,{hidden:!0,"aria-hidden":`true`,children:(0,a.jsxs)(`label`,{children:[`Leave this empty`,(0,a.jsx)(`input`,{name:`website`,tabIndex:-1,autoComplete:`off`})]})}),(0,a.jsxs)(`label`,{className:`block text-sm font-semibold`,children:[`Name`,(0,a.jsx)(`input`,{name:`name`,autoComplete:`name`,required:!0,maxLength:100,className:f})]}),(0,a.jsxs)(`label`,{className:`block text-sm font-semibold`,children:[`Email address`,(0,a.jsx)(`input`,{name:`email`,type:`email`,autoComplete:`email`,required:!0,maxLength:254,className:f})]}),(0,a.jsxs)(`label`,{className:`block text-sm font-semibold`,children:[`Subject`,(0,a.jsx)(`input`,{name:`subject`,required:!0,maxLength:120,placeholder:`How can we help?`,className:f})]}),(0,a.jsxs)(`label`,{className:`block text-sm font-semibold`,children:[`Message`,(0,a.jsx)(`textarea`,{name:`message`,required:!0,maxLength:2e3,rows:4,placeholder:`Describe your question or feedback.`,className:`${f} resize-y`})]}),(0,a.jsx)(`p`,{className:`text-sm leading-5 text-slate-600`,children:`Send directly to the NoteDoctors inbox. Your name, email address, and message are sent through our email service so we can respond. Do not include patient information.`}),(0,a.jsx)(`button`,{type:`submit`,disabled:c,className:`w-full rounded-xl bg-teal-700 px-5 py-3 text-base font-semibold text-white hover:bg-teal-800 disabled:cursor-wait disabled:opacity-60 focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-teal-700`,children:c?`Sending…`:`Send message`})]}),(0,a.jsx)(`p`,{role:`status`,className:`text-sm leading-5 text-teal-800`,children:o})]})]})]})}export{o as SiteFooter};

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.