PageSourceSearch

https://ficcthack.web.app/assets/ContactPage-uswWzZsk.js

js ficcthack.web.app collected 2026-10-03 12:24:30 UTC 3,735 bytes, 1 lines download raw bytes

1import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,s as n}from"./pdf-BzcAw5Iz.js";import{c as r,d as i,x as a}from"./firebase-B_NrYdc4.js";import{S as o,b as s,t as c}from"./index-Bw_3Qf3z.js";import{t as l}from"./SEO-VhJ0QsQ9.js";import{n as u,t as d}from"./settings.service-Df8CvJ2s.js";import{t as f}from"./Button-C4tKe_Pe.js";import{t as p}from"./Input-DF_boKmA.js";import{i as m}from"./index.esm-9tE8rdv3.js";import{a as h,c as g,o as _}from"./types-D-1yzL4Q.js";import{t as v}from"./Textarea-DfO8wRxQ.js";import{n as y}from"./sanitize-ByKLMeBO.js";import{i as b,r as x}from"./safeUrl-BGWyc1GA.js";import{t as S}from"./FacebookFeed-B0pNLEZM.js";import{t as C}from"./SectionHeading-wfvw1mtH.js";var w=e(t(),1),T=h({name:_().trim().min(2,`Nombre muy corto`).max(80),email:_().trim().email(`Correo inválido`),subject:_().trim().min(3,`Asunto muy corto`).max(120),message:_().trim().min(10,`Mensaje muy corto`).max(2e3)});async function E(e){return(await r(i(o,s.messages),{name:y(e.name),email:e.email.trim().toLowerCase(),subject:y(e.subject),message:y(e.message),status:`new`,createdAt:a(),updatedAt:a()})).id}var D=n();function O(){let[e,t]=(0,w.useState)(``),[n,r]=(0,w.useState)(``),[i,a]=(0,w.useState)(d),{register:o,handleSubmit:s,reset:h,formState:{errors:_,isSubmitting:y}}=m({resolver:g(T)});(0,w.useEffect)(()=>{u().then(a).catch(()=>void 0)},[]);let O=s(async e=>{t(``),r(``);try{await E(e),t(`Mensaje enviado. Te contactaremos pronto.`),h()}catch{r(`No se pudo enviar. Revisa las reglas de Firestore para messages.`)}});return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(l,{title:`Contacto | Ficct Hack`,description:`Escríbenos para colaborar con la comunidad.`}),(0,D.jsxs)(`section`,{className:`container-app py-14`,children:[(0,D.jsx)(C,{title:`Contacto`,subtitle:`Colaboraciones, mentorías, eventos o consultas generales.`}),(0,D.jsxs)(`div`,{className:`grid gap-10 lg:grid-cols-[1fr_0.9fr]`,children:[(0,D.jsxs)(`form`,{onSubmit:O,className:`space-y-4`,children:[(0,D.jsx)(p,{label:`Nombre`,error:_.name?.message,...o(`name`)}),(0,D.jsx)(p,{label:`Correo`,type:`email`,error:_.email?.message,...o(`email`)}),(0,D.jsx)(p,{label:`Asunto`,error:_.subject?.message,...o(`subject`)}),(0,D.jsx)(v,{label:`Mensaje`,error:_.message?.message,...o(`message`)}),e&&(0,D.jsx)(`p`,{className:`text-sm text-[var(--success)]`,children:e}),n&&(0,D.jsx)(`p`,{className:`text-sm text-[var(--danger)]`,children:n}),(0,D.jsx)(f,{type:`submit`,loading:y,children:`Enviar mensaje`})]}),(0,D.jsxs)(`div`,{className:`space-y-6`,children:[(0,D.jsxs)(`div`,{className:`panel p-6`,children:[(0,D.jsx)(`p`,{className:`text-sm text-[var(--muted)]`,children:`Correo`}),(0,D.jsx)(`p`,{className:`font-medium`,children:i.email}),(0,D.jsx)(`p`,{className:`mt-4 text-sm text-[var(--muted)]`,children:`Teléfono`}),(0,D.jsx)(`p`,{className:`font-medium`,children:i.phone}),(0,D.jsx)(`p`,{className:`mt-4 text-sm text-[var(--muted)]`,children:`Dirección`}),(0,D.jsx)(`p`,{className:`font-medium`,children:i.address}),(0,D.jsxs)(`a`,{href:b(i.facebook||c.facebookUrl,c.facebookUrl),target:`_blank`,rel:`noopener noreferrer`,className:`mt-6 inline-flex items-center gap-2 text-[var(--accent)]`,children:[(0,D.jsx)(`i`,{className:`bx bxl-facebook-circle text-xl`}),`Facebook oficial`]})]}),x(i.mapEmbedUrl||c.defaultMapEmbed)&&(0,D.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-[var(--border)]`,children:(0,D.jsx)(`iframe`,{title:`Mapa`,src:x(i.mapEmbedUrl||c.defaultMapEmbed),className:`h-64 w-full`,loading:`lazy`,referrerPolicy:`no-referrer-when-downgrade`,sandbox:`allow-scripts allow-same-origin allow-popups`})})]})]}),(0,D.jsx)(`div`,{className:`mt-16`,children:(0,D.jsx)(S,{})})]})]})}export{O as ContactPage};

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.