PageSourceSearch

https://nunalaw.gl/assets/contact-B0QbmYmJ.js

js nunalaw.gl collected 2026-10-10 01:45:46 UTC 5,895 bytes, 1 lines download raw bytes

1import{r,j as e,ae as w}from"./vendor-DSaSvFIf.js";import{u as v,i as k,I as j,B as y}from"./index-Cb_2MwU8.js";import{T as C}from"./textarea-DWE9YmDw.js";import{P as S}from"./page-hero-BHtj8MR_.js";import{u as P}from"./seo-DIrVLKR7.js";const R="6LedViItAAAAAOpDkJhqrUykWW8sDRfEEQ2_jPfY",b="https://www.google.com/recaptcha/api.js?render=explicit";let d=null;function E(){return window.grecaptcha?.render?Promise.resolve():d||(d=new Promise((o,t)=>{let i=0,c=0;const s=()=>{window.clearInterval(i),window.clearTimeout(c)},n=a=>{s(),d=null,t(a)};if(!document.querySelector(`script[src="${b}"]`)){const a=document.createElement("script");a.src=b,a.async=!0,a.defer=!0,a.onerror=()=>n(new Error("Failed to load reCAPTCHA")),document.head.appendChild(a)}i=window.setInterval(()=>{window.grecaptcha?.render&&(s(),o())},100),c=window.setTimeout(()=>n(new Error("reCAPTCHA load timed out")),15e3)}),d)}const T=r.forwardRef(function({onChange:t},i){const c=r.useRef(null),s=r.useRef(null),n=r.useRef(t);return n.current=t,r.useImperativeHandle(i,()=>({reset:()=>{s.current!==null&&window.grecaptcha&&(window.grecaptcha.reset(s.current),n.current(null))}})),r.useEffect(()=>{let a=!1;return E().then(()=>{a||!c.current||s.current!==null||(s.current=window.grecaptcha.render(c.current,{sitekey:R,callback:u=>n.current(u),"expired-callback":()=>n.current(null),"error-callback":()=>n.current(null)}))}).catch(()=>{}),()=>{a=!0}},[]),e.jsx("div",{ref:c})});function L(){const{language:o,t}=v(),[i,c]=r.useState(""),[s,n]=r.useState(""),[a,u]=r.useState(""),[x,m]=r.useState("idle"),[g,p]=r.useState(null),h=r.useRef(null),f=k();P({title:t("contactPageTitle"),description:o==="en"?"Contact Nuna Law — offices in Nuuk and Copenhagen. Phone +299 32 13 70, [email protected].":o==="kl"?"Nuna Law attavigikkit — allaffeqarfiit Nuummi Københavnimilu. Oqarasuaat +299 32 13 70.":"Kontakt Nuna Law — kontorer i Nuuk og København. Telefon +299 32 13 70, [email protected].",path:"/kontakt"});const N=l=>{if(l.preventDefault(),!g){m("captcha");return}m("idle"),f.mutate({data:{name:i,email:s,message:a,recaptchaToken:g??""}},{onSuccess:()=>{m("success"),c(""),n(""),u(""),p(null),h.current?.reset()},onError:()=>{m("error"),p(null),h.current?.reset()}})};return e.jsxs("div",{className:"flex flex-col min-h-screen bg-background",children:[e.jsx(S,{eyebrow:t("contactPageEyebrow"),title:t("contactPageTitle")}),e.jsx("div",{className:"container mx-auto px-4 max-w-[1200px] py-24",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 lg:gap-24",children:[e.jsxs(w.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.2},children:[e.jsx("h2",{className:"text-3xl font-serif text-primary mb-6",children:t("contactFormHeading")}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-12",children:t("contactFormBody")}),e.jsxs("form",{onSubmit:N,className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-semibold uppercase tracking-wider text-primary",children:t("contactName")}),e.jsx(j,{value:i,onChange:l=>c(l.target.value),className:"border-border rounded-none h-12 focus-visible:ring-accent",required:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-semibold uppercase tracking-wider text-primary",children:t("contactEmail")}),e.jsx(j,{type:"email",value:s,onChange:l=>n(l.target.value),className:"border-border rounded-none h-12 focus-visible:ring-accent",required:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"text-sm font-semibold uppercase tracking-wider text-primary",children:t("contactMessage")}),e.jsx(C,{value:a,onChange:l=>u(l.target.value),className:"border-border rounded-none min-h-[150px] resize-none focus-visible:ring-accent",required:!0})]}),e.jsx(T,{ref:h,onChange:p}),e.jsx(y,{type:"submit",disabled:f.isPending,className:"bg-accent text-white hover:bg-accent/90 rounded-none px-8 py-6 text-sm tracking-widest font-semibold uppercase disabled:opacity-60",children:f.isPending?t("contactSending"):t("contactSend")}),x==="success"&&e.jsx("p",{className:"text-sm font-semibold text-green-700",role:"status",children:t("contactSuccess")}),x==="error"&&e.jsx("p",{className:"text-sm font-semibold text-red-600",role:"alert",children:t("contactError")}),x==="captcha"&&e.jsx("p",{className:"text-sm font-semibold text-red-600",role:"alert",children:t("contactCaptchaRequired")})]})]}),e.jsx(w.div,{initial:{opacity:0,x:20}
1,animate:{opacity:1,x:0},transition:{delay:.4},className:"bg-primary text-white p-12 lg:p-16 flex flex-col justify-center",children:e.jsxs("div",{className:"space-y-12",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-serif mb-6 uppercase tracking-wider text-accent",children:t("contactInfo")}),e.jsxs("div",{className:"space-y-4 text-white/80 leading-relaxed",children:[e.jsxs("p",{children:[e.jsx("strong",{className:"text-white block mb-1",children:t("contactPhone")}),e.jsx("a",{href:"tel:+299321370",className:"hover:text-accent",children:"+299 32 13 70"})]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white block mb-1",children:"E-mail"}),e.jsx("a",{href:"mailto:[email protected]",className:"hover:text-accent",children:"[email protected]"})]})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-serif mb-6 uppercase tracking-wider text-accent",children:"Nuuk"}),e.jsxs("div",{className:"text-white/80 leading-relaxed",children:[e.jsx("p",{children:"Qullilerfik 2, 6."}),e.jsx("p",{children:"3900 Nuuk"})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-serif mb-6 uppercase tracking-wider text-accent",children:"København"}),e.jsxs("div",{className:"text-white/80 leading-relaxed",children:[e.jsx("p",{children:"Philip Heymans Allé 7"}),e.jsx("p",{children:"2900 Hellerup"})]})]})]})})]})})]})}export{L as Contact};

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.