PageSourceSearch

https://mrdev-studio.pl/assets/ContactSection-BtpFAFdz.js

js mrdev-studio.pl collected 2026-09-24 15:10:20 UTC 10,829 bytes, 1 lines download raw bytes

1import{j as t,m as w}from"./vendor-motion-CJ7_hwUm.js";import{r as h}from"./vendor-router-BS3aRNYz.js";import{d as f,t as V}from"./index-CSy7JWBg.js";import{p as K}from"./pricing-IHJO1nJ8.js";class g{constructor(a=0,s="Network Error"){this.status=a,this.text=s}}const q=()=>{if(typeof localStorage!="undefined")return{get:e=>Promise.resolve(localStorage.getItem(e)),set:(e,a)=>Promise.resolve(localStorage.setItem(e,a)),remove:e=>Promise.resolve(localStorage.removeItem(e))}},n={origin:"https://api.emailjs.com",blockHeadless:!1,storageProvider:q()},j=e=>e?typeof e=="string"?{publicKey:e}:e.toString()==="[object Object]"?e:{}:{},B=(e,a="https://api.emailjs.com")=>{if(!e)return;const s=j(e);n.publicKey=s.publicKey,n.blockHeadless=s.blockHeadless,n.storageProvider=s.storageProvider,n.blockList=s.blockList,n.limitRate=s.limitRate,n.origin=s.origin||a},k=async(e,a,s={})=>{const o=await fetch(n.origin+e,{method:"POST",headers:s,body:a}),i=await o.text(),l=new g(o.status,i);if(o.ok)return l;throw l},N=(e,a,s)=>{if(!e||typeof e!="string")throw"The public key is required. Visit https://dashboard.emailjs.com/admin/account";if(!a||typeof a!="string")throw"The service ID is required. Visit https://dashboard.emailjs.com/admin";if(!s||typeof s!="string")throw"The template ID is required. Visit https://dashboard.emailjs.com/admin/templates"},O=e=>{if(e&&e.toString()!=="[object Object]")throw"The template params have to be the object. Visit https://www.emailjs.com/docs/sdk/send/"},z=e=>e.webdriver||!e.languages||e.languages.length===0,S=()=>new g(451,"Unavailable For Headless Browser"),I=(e,a)=>{if(!Array.isArray(e))throw"The BlockList list has to be an array";if(typeof a!="string")throw"The BlockList watchVariable has to be a string"},W=e=>{var a;return!((a=e.list)!=null&&a.length)||!e.watchVariable},C=(e,a)=>e instanceof FormData?e.get(a):e[a],R=(e,a)=>{if(W(e))return!1;I(e.list,e.watchVariable);const s=C(a,e.watchVariable);return typeof s!="string"?!1:e.list.includes(s)},L=()=>new g(403,"Forbidden"),D=(e,a)=>{if(typeof e!="number"||e<0)throw"The LimitRate throttle has to be a positive number";if(a&&typeof a!="string")throw"The LimitRate ID has to be a non-empty string"},M=async(e,a,s)=>{const o=Number(await s.get(e)||0);return a-Date.now()+o},T=async(e,a,s)=>{if(!a.throttle||!s)return!1;D(a.throttle,a.id);const o=a.id||e;return await M(o,a.throttle,s)>0?!0:(await s.set(o,Date.now().toString()),!1)},_=()=>new g(429,"Too Many Requests"),P=async(e,a,s,o)=>{const i=j(o),l=i.publicKey||n.publicKey,m=i.blockHeadless||n.blockHeadless,p=i.storageProvider||n.storageProvider,u={...n.blockList,...i.blockList},b={...n.limitRate,...i.limitRate};return m&&z(navigator)?Promise.reject(S()):(N(l,e,a),O(s),s&&R(u,s)?Promise.reject(L()):await T(location.pathname,b,p)?Promise.reject(_()):k("/api/v1.0/email/send",JSON.stringify({lib_version:"4.4.1",user_id:l,service_id:e,template_id:a,template_params:s}),{"Content-type":"application/json"}))},$=e=>{if(!e||e.nodeName!=="FORM")throw"The 3rd parameter is expected to be the HTML form element or the style selector of the form"},A=e=>typeof e=="string"?document.querySelector(e):e,J=async(e,a,s,o)=>{const i=j(o),l=i.publicKey||n.publicKey,m=i.blockHeadless||n.blockHeadless,p=n.storageProvider||i.storageProvider,u={...n.blockList,...i.blockList},b={...n.limitRate,...i.limitRate};if(m&&z(navigator))return Promise.reject(S());const c=A(s);N(l,e,a),$(c);const d=new FormData(c);return R(u,d)?Promise.reject(L()):await T(location.pathname,b,p)?Promise.reject(_()):(d.append("lib_version","4.4.1"),d.append("service_id",e),d.append("template_id",a),d.append("user_id",l),k("/api/v1.0/email/send-form",d))},U={init:B,send:P,sendForm:J,EmailJSResponseStatus:g},v=(e=0)=>({initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-80px"},transition:{delay:e,duration:.65,ease:[.22,1,.36,1]}}),ee=({activePackage:e,lockedPackage:a,selectedPackage:s})=>{const o=h.useRef(),[i,l]=h.useState({name:"",email:"",message:"",package:a||""}),[m,p]=h.useState(!1),[u,b]=h.useState(null);h.useEffect(()=>{a?l(r=>({...r,package:a})):s!=null&&s.name?l(r=>({...r,package:s.name})):e!=null&&e.name&&l(r=>({...r,package:e.name}))},[e,a,s]);const c=r=>l(x=>({...x,[r.target.name]:r.target.value})),d=async r=>{r.preventDefault(),p(!0);const x="service_rmx01d9",H="template_7jn2qtr",E="RYo9z9F74sBn2d-Rl";try{await U.sendForm(x,H,o.current,E),b("success"),V("formularz_kontakt",{package_name:i.package||"nie wybrano"}),l({name:"",email:"",message:"",package:""})}catch(Y){b("error")}finally{p(!1)}},y=["w-full rounded-xl px-4 py-3.5 text-white text-sm placeholder-gray-700","focus:outline-none focus:border-primary/40 transition-all duration-200","bg-white/[0.03] border border-white/[0.07] focus:bg-white/[0.05]"].join(" "),F=a?[a]:K.map(r=>r.title);return t.jsxs("section",{id:"contact",className:"py-20 lg:py-28 px-6 relative overflow-hidden font-display",children:[t.jsx("div",{className:"absolute top-0 left-0 w-full h-px pointer-events-none",style:{background:"linear-gradient(90deg,transparent,rgba(43,108,238,0.35),transparent)"}}),t.jsx("div",{className:"absolute -top-40 left-1/2 -translate-x-1/2 w-[800px] h-[400px] rounded-full pointer-events-none",style:{background:"radial-gradient(ellipse,rgba(43,108,238,0.06) 0%,transparent 70%)"}}),t.jsx("div",{className:"max-w-6xl mx-auto relative z-10",children:t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20",children:[t.jsxs(w.div,{...v(0),className:"flex flex-col justify-center",children:[t.jsx("p",{className:"text-[10px] font-bold uppercase tracking-[0.22em] text-primary mb-4",children:"Kontakt"}),t.jsxs("h2",{className:"text-5xl md:text-6xl font-black text-white tracking-tight leading-[1.04] mb-6",children:["Zacznijmy",t.jsx("br",{}),t.jsx("span",{className:"text-transparent bg-clip-text",style:{backgroundImage:"linear-gradient(135deg,#60a5fa 0%,#2b6cee 50%,#8b5cf6 100%)"},children:"rozmawiać."})]}),t.jsx("p",{className:"text-gray-500 text-lg font-light leading-relaxed mb-10",children:"Bezpłatna konsultacja, wycena w 24h i pełna transparentność od pierwszej rozmowy."}),t.jsx("div",{className:"flex flex-col gap-4",children:[{icon:"phone",label:"Telefon",value:f.contact.phone,href:`tel:${f.contact.phone.replace(/\s/g,"")}`},{icon:"mail",label:"E-mail",value:f.contact.email,href:`mailto:${f.contact.email}`},{icon:"location_on",label:"Adres",value:f.contact.address,href:null}].map(r=>
1t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center shrink-0",style:{background:"rgba(43,108,238,0.12)",border:"1px solid rgba(43,108,238,0.2)"},children:t.jsx("span",{className:"material-symbols-outlined text-base text-primary",children:r.icon})}),t.jsxs("div",{children:[t.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-gray-700 mb-0.5",children:r.label}),r.href?t.jsx("a",{href:r.href,className:"text-sm text-gray-400 hover:text-white transition-colors font-medium",children:r.value}):t.jsx("p",{className:"text-sm text-gray-400 font-medium",children:r.value})]})]},r.label))})]}),t.jsx(w.div,{...v(.1),children:t.jsx("div",{className:"rounded-2xl p-8 border border-white/[0.06]",style:{background:"#0a0f1e"},children:u==="success"?t.jsxs("div",{className:"text-center py-10",children:[t.jsx("div",{className:"w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-4",style:{background:"rgba(34,197,94,0.15)",border:"1px solid rgba(34,197,94,0.25)"},children:t.jsx("span",{className:"material-symbols-outlined text-3xl text-green-400",children:"check_circle"})}),t.jsx("h3",{className:"text-xl font-bold text-white mb-2",children:"Wiadomość wysłana!"}),t.jsx("p",{className:"text-gray-500 text-sm",children:"Odezwę się do Ciebie w ciągu 24h roboczych."})]}):t.jsxs("form",{ref:o,onSubmit:d,className:"flex flex-col gap-4",children:[t.jsx("input",{type:"hidden",name:"package_name",value:i.package||"Nie wybrano"}),t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-[10px] font-bold uppercase tracking-widest text-gray-700 mb-2",children:"Imię i nazwisko"}),t.jsx("input",{name:"name",type:"text",required:!0,placeholder:"Jan Kowalski",value:i.name,onChange:c,className:y})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-[10px] font-bold uppercase tracking-widest text-gray-700 mb-2",children:"E-mail"}),t.jsx("input",{name:"email",type:"email",required:!0,placeholder:"[email protected]",value:i.email,onChange:c,className:y})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-[10px] font-bold uppercase tracking-widest text-gray-700 mb-2",children:"Pakiet (opcjonalnie)"}),t.jsxs("select",{name:"package",value:i.package,onChange:c,disabled:!!a,className:`${y} cursor-pointer disabled:opacity-60 disabled:cursor-not-allowed appearance-none`,children:[t.jsx("option",{value:"",style:{background:"#0a0f1e"},children:"Wybierz pakiet..."}),F.map((r,x)=>t.jsx("option",{value:r,style:{background:"#0a0f1e"},children:r},x)),!a&&t.jsx("option",{value:"Nie wiem — potrzebuję doradztwa",style:{background:"#0a0f1e"},children:"Nie wiem — potrzebuję doradztwa"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-[10px] font-bold uppercase tracking-widest text-gray-700 mb-2",children:"Wiadomość"}),t.jsx("textarea",{name:"message",rows:5,required:!0,placeholder:"Opisz swój projekt lub zadaj pytanie...",value:i.message,onChange:c,className:`${y} resize-none`})]}),u==="error"&&t.jsxs("p",{className:"text-red-400 text-xs flex items-center gap-2",children:[t.jsx("span",{className:"material-symbols-outlined text-base",children:"error"}),"Błąd wysyłki. Spróbuj zadzwonić bezpośrednio."]}),t.jsxs("button",{type:"submit",disabled:m,className:"w-full py-4 rounded-xl font-bold text-white text-sm transition-all duration-300 disabled:opacity-60 disabled:cursor-not-allowed cursor-pointer relative overflow-hidden group",children:[t.jsx("div",{className:"absolute inset-0 transition-opacity duration-500",style:{background:"linear-gradient(135deg,#1d4ed8,#2b6cee,#7c3aed)"}}),t.jsx("div",{className:"absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500",style:{background:"linear-gradient(135deg,#7c3aed,#2b6cee,#1d4ed8)"}}),t.jsx("span",{className:"relative z-10 flex items-center justify-center gap-2",children:m?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"w-4 h-4 rounded-full border-2 border-white border-t-transparent animate-spin"}),t.jsx("span",{children:"Wysyłanie..."})]}):t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"material-symbols-outlined text-base",children:"send"}),t.jsx("span",{children:"Wyślij wiadomość"})]})})]})]})})})]})})]})};export{ee 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.