PageSourceSearch

https://samaritans.org.hk/assets/BefriendingEmail-DmvDLHQp.js

js samaritans.org.hk collected 2026-09-24 15:15:26 UTC 4,852 bytes, 1 lines download raw bytes

1import{u as y,r as h,j as e,B as b,t as u}from"./index-BY0Ct7ka.js";import{o as v,s as t,l as N,u as w,e as g,F as E,a as n,b as o,c as l,d as i,I as c,f as m,T as F,t as S}from"./form-g0fH4HmA.js";import{T as M,a as T,F as k}from"./Footer-BQwqt1Ig.js";import{P as B,a as I}from"./about-hero-bg-DQGHhVAm.js";import{M as P}from"./mail-Cwx7C2lJ.js";const q=v({name:t().trim().min(1,{message:"Name is required"}).max(100,{message:"Name must be less than 100 characters"}),email:t().trim().email({message:"Invalid email address"}).max(255,{message:"Email must be less than 255 characters"}),phone:t().max(20,{message:"Phone must be less than 20 characters"}).optional().or(N("")),message:t().trim().min(1,{message:"Message is required"}).max(5e3,{message:"Message must be less than 5000 characters"})}),L=()=>{const{t:s}=y(),[d,x]=h.useState(!1),r=w({resolver:S(q),defaultValues:{name:"",email:"",phone:"",message:""}});h.useEffect(()=>{g.init("vv-A51NACksCgrrea")},[]);const j=async a=>{x(!0);try{await g.send("service_coe9dq3","template_9vnh9jv",{from_name:a.name,from_email:a.email,phone:a.phone||"",message:a.message}),u({title:s("訊息已發送!","Message sent!"),description:s("我們會盡快回覆你。","We will get back to you soon.")}),r.reset()}catch(f){console.error("EmailJS error:",f),u({title:s("發送失敗","Failed to send"),description:s("請稍後再試。","Please try again later."),variant:"destructive"})}finally{x(!1)}},p=[{label:s("首頁","Home"),href:"/"},{label:s("服務項目","Services"),href:"/services"},{label:s("「益友」電郵服務","Befriending Email")}];return e.jsxs("div",{className:"min-h-screen flex flex-col",children:[e.jsx(M,{}),e.jsx(T,{}),e.jsxs("main",{id:"main-content",className:"flex-1",children:[e.jsx(B,{title:s("「益友」電郵服務","Befriending Email"),backgroundImage:I,breadcrumbs:p}),e.jsx("section",{className:"py-12 md:py-16 lg:py-20",children:e.jsxs("div",{className:"container max-w-4xl",children:[e.jsx("div",{className:"flex justify-center mb-8",children:e.jsx("div",{className:"w-20 h-20 rounded-full bg-primary/10 flex items-center justify-center",children:e.jsx(P,{className:"w-10 h-10 text-primary"})})}),e.jsxs("div",{className:"prose prose-lg max-w-none space-y-6 text-center",children:[e.jsx("p",{className:"text-lg text-foreground/90 leading-relaxed",children:s("如果你不想透過電話傾談,或所處的地方不方便致電,你可能和其他服務使用者一樣,選擇用文字表達你的感受。","If you prefer not to call or if there is no quiet place to talk, there is another way to contact The Samaritans. You may prefer to write down how you are feeling and contact us via our befriending email.")}),e.jsx("p",{className:"text-lg text-foreground/90 leading-relaxed",children:s("撒瑪利亞會的「益友電郵」服務透過保密的電子郵件提供情緒支援。若你不希望使用真實姓名,可以採用化名或筆名來函。我們會盡力在二十四小時之內回覆你的電郵。","We provide emotional support via email. You don't have to give your name if you don't want to. Emailers may use a pseudonym or pen name. We try our best to get back to you within 24 hours.")}),e.jsxs("p",{className:"text-lg text-foreground/90 leading-relaxed",children:[s("電郵地址:","Email: "),e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline font-medium",children:"[email protected]"})]})]}),e.jsx("div",{className:"mt-16 pt-12 border-t border-border",children:e.jsx(E,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(j),className:"space-y-6 max-w-xl mx-auto",children:[e.jsx(n,{control:r.control,name:"name",render:({field:a})=>e.jsxs(o,{children:[e.jsxs(l,{children:[s("姓名","Name")," *"]}),e.jsx(i,{children:e.jsx(c,{placeholder:s("請輸入你的姓名","Enter your name"),...a})}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email",render:({field:a})=>e.jsxs(o,{children:[e.jsxs(l,{children:[s("電郵地址","Email")," *"]}),e.jsx(i,{children:e.jsx(c,{type:"email",placeholder:s("請輸入你的電郵地址","Enter your email"),...a})}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"phone",render:({field:a})=>e.jsxs(o,{children:[e.jsx(l,{children:s("電話號碼(選填)","Phone (optional)")}),e.jsx(i,{children:e.jsx(c,{type:"tel",placeholder:s("請輸入你的電話號碼","Enter your phone number"),...a})}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"message",render:({field:a})=>e.jsxs(o,{children:[e.jsxs(l,{children:[s("訊息","Message")," *"]}),e.jsx(i,{children:e.jsx(F,{placeholder:s("請輸入你的訊息","Enter your message"),rows:6,...a})}),e.jsx(m,{})]})}),e.jsx(b,{type:"submit",className:"w-full",disabled:d,children:d?s("發送中...","Sending..."):s("發送訊息","Send Message")})]})})})]})})]}),e.jsx(k,{})]})};export{L 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.