1import{d as M,q as B,r as l,c as n,o as i,a as S,b as t,w as R,u as q,h as I,t as r,f as y,j as d,F as C,g as K,n as V,k as _,v as u,i as F,B as D,_ as J}from"./app-C2kr94m-.js";import{M as X}from"./MarketingFooter-BiP-8rDc.js";import{S as G}from"./SiteHeader-Ze1Wz8ph.js";import"./MarketingUserDropdown-D75HZ6AA.js";import"./createLucideIcon-BqobmcYC.js";import"./users-DZwyA9a9.js";import"./clock-CEdMBVmc.js";import"./NavLinks-9v3_SVNY.js";const H={class:"ucp contact-page"},L={class:"content"},Q={class:"panel"},$={class:"panel-head"},Y={class:"panel-title"},Z={class:"panel-desc"},ee={key:0,class:"panel-body"},te={class:"sent-echo"},ae={class:"ucp-label"},se={class:"sent-text"},le={key:1,class:"panel-body"},oe={class:"field field-start"},ne={class:"seg"},ie=["onClick"],re={key:0,class:"field"},de=["disabled"],ue={class:"field"},pe=["placeholder","disabled"],ce={key:1,class:"error-text"},ve={class:"row-end"},me=["disabled"],fe={class:"panel-head"},be={class:"panel-title"},ye={key:0,class:"panel-desc"},he={key:1,class:"panel-desc"},ge={key:0,class:"panel-body"},_e={class:"field-grid"},we={class:"field"},ke=["disabled"],xe={class:"field"},Se=["disabled"],Ce={class:"field"},Ve=["disabled"],Fe={class:"field"},Ne=["disabled"],Pe={class:"field"},Ue=["disabled"],Ae={class:"field"},Ee=["disabled"],Oe={key:0,class:"error-text"},Te={class:"row-end"},We=["disabled"],je=M({__name:"Contact",setup(ze){const N=D(),P=_(()=>N.props.auth?.user),T=_(()=>!!N.props.features?.partnerProgram),U=l(null);B(()=>{window.location.hash==="#partner"&&U.value?.scrollIntoView({behavior:"smooth",block:"start"})});function A(){return document.querySelector('meta[name="csrf-token"]')?.content??""}const E=[{value:"feature",label:"Feedback"},{value:"bug",label:"Bug"},{value:"question",label:"Question"}],c=l("feature"),v=l(""),w=l(""),k=l(""),p=l(!1),h=l(!1),f=l(null),W=_(()=>c.value==="bug"?"What did you run, and what did the result say?":c.value==="question"?"What would you like to know?":"What's on your mind?");async function j(){if(!(!v.value.trim()||p.value)){p.value=!0,f.value=null;try{const m=await fetch("/feedback",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","X-CSRF-TOKEN":A()},body:JSON.stringify({type:c.value,message:v.value,email:P.value?null:w.value||null,website:k.value,page_url:window.location.href,user_agent:navigator.userAgent})});if(m.ok)h.value=!0;else{const e=await m.json(),a=e.errors?Object.values(e.errors)[0]:null;f.value=(Array.isArray(a)?a[0]:a)||e.message||"Failed to send."}}catch{f.value="Network error. Please try again."}finally{p.value=!1}}}const s=l({name:"",email:"",organization:"",scheme:"",spec_url:"",message:""}),x=l(""),o=l(!1),g=l(!1),b=l(null),O=_(()=>s.value.name.trim()&&s.value.email.trim()&&s.value.organization.trim()&&s.value.scheme.trim()&&s.value.message.trim());async function z(){if(!(!O.value||o.value)){o.value=!0,b.value=null;try{const m=await fetch("/contact/partner",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","X-CSRF-TOKEN":A()},body:JSON.stringify({...s.value,spec_url:s.value.spec_url||null,website:x.value})});if(m.ok)g.value=!0;else{const e=await m.json(),a=e.errors?Object.values(e.errors)[0]:null;b.value=(Array.isArray(a)?a[0]:a)||e.message||"Failed to send."}}catch{b.value="Network error. Please try again."}finally{o.value=!1}}}return(m,e)=>(i(),n(C,null,[S(q(I),{title:"Contact"},{default:R(()=>[...e[10]||(e[10]=[t("meta",{name:"description",content:"Send feedback on UCP Playground, or apply to bring your identity, payments or fulfillment scheme into the partner program."},null,-1),t("link",{rel:"canonical",href:"https://ucpplayground.com/contact"},null,-1)])]),_:1}),t("div",H,[S(G,{breadcrumbs:[{label:"Contact"}]}),t("div",L,[e[25]||(e[25]=t("header",{class:"page-head"},[t("span",{class:"ucp-label"},"Contact"),t("h1",{class:"head-title"},"Get in touch"),t("p",{class:"head-blurb"}," Feedback and bug reports land directly with the team â no account needed. Scheme operators can apply to the partner program below. ")],-1)),t("section",Q,[t("div",$,[t("span",Y,r(h.value?"Message sent":"Send feedback"),1),t("p",Z,r(h.value?"We read every message. If you left an email, a reply lands there.":"Report a bug, ask a question, or tell us a result looks wrong."),1)]),h.value?(i(),n("div",ee,[t("div",te,[t("span",ae,r(E.find(a=>a.value===c.value)?.label),1),t("span",se,r(v.value),1)])])):(i(),n("div",le,[t("div",oe,[e[11
1]||(e[11]=t("span",{class:"field-label"},"Type",-1)),t("div",ne,[(i(),n(C,null,K(E,a=>t("button",{key:a.value,type:"button",class:V(["seg-btn",{"seg-btn-active":c.value===a.value}]),onClick:Me=>c.value=a.value},r(a.label),11,ie)),64))])]),P.value?y("",!0):(i(),n("div",re,[e[12]||(e[12]=t("span",{class:"field-label"},"Email",-1)),d(t("input",{"onUpdate:modelValue":e[0]||(e[0]=a=>w.value=a),type:"email",class:"text-input",placeholder:"Optional â for a reply",disabled:p.value},null,8,de),[[u,w.value]])])),d(t("input",{"onUpdate:modelValue":e[1]||(e[1]=a=>k.value=a),type:"text",name:"website",tabindex:"-1",autocomplete:"off",class:"honeypot"},null,512),[[u,k.value]]),t("div",ue,[e[13]||(e[13]=t("span",{class:"field-label"},"Message",-1)),d(t("textarea",{"onUpdate:modelValue":e[2]||(e[2]=a=>v.value=a),rows:"5",class:"text-area",placeholder:W.value,disabled:p.value},null,8,pe),[[u,v.value]])]),f.value?(i(),n("p",ce,r(f.value),1)):y("",!0),t("div",ve,[t("button",{class:V(["btn-primary",{"btn-dim":!v.value.trim()}]),disabled:p.value,onClick:j},r(p.value?"Sendingâ¦":"Send"),11,me)])]))]),t("section",{id:"partner",ref_key:"partnerRef",ref:U,class:"panel"},[t("div",fe,[t("span",be,r(g.value?"Application received":"Apply to the partner program"),1),g.value?(i(),n("p",ye,"We'll reply from the team to set up a scoping call.")):(i(),n("p",he,[e[17]||(e[17]=F(" For operators of identity, payments or fulfillment schemes who want their conformance surface testable on the harness. ",-1)),T.value?(i(),n(C,{key:0},[e[14]||(e[14]=F(" See ",-1)),e[15]||(e[15]=t("a",{class:"desc-link",href:"/docs/partner-program/overview"},"the program docs",-1)),e[16]||(e[16]=F(" for what partnership covers. ",-1))],64)):y("",!0)]))]),g.value?y("",!0):(i(),n("div",ge,[t("div",_e,[t("div",we,[e[18]||(e[18]=t("span",{class:"field-label"},"Name",-1)),d(t("input",{"onUpdate:modelValue":e[3]||(e[3]=a=>s.value.name=a),type:"text",class:"text-input",autocomplete:"name",disabled:o.value},null,8,ke),[[u,s.value.name]])]),t("div",xe,[e[19]||(e[19]=t("span",{class:"field-label"},"Email",-1)),d(t("input",{"onUpdate:modelValue":e[4]||(e[4]=a=>s.value.email=a),type:"email",class:"text-input",autocomplete:"email",disabled:o.value},null,8,Se),[[u,s.value.email]])]),t("div",Ce,[e[20]||(e[20]=t("span",{class:"field-label"},"Organization",-1)),d(t("input",{"onUpdate:modelValue":e[5]||(e[5]=a=>s.value.organization=a),type:"text",class:"text-input",autocomplete:"organization",disabled:o.value},null,8,Ve),[[u,s.value.organization]])]),t("div",Fe,[e[21]||(e[21]=t("span",{class:"field-label"},"Scheme or protocol",-1)),d(t("input",{"onUpdate:modelValue":e[6]||(e[6]=a=>s.value.scheme=a),type:"text",class:"text-input",placeholder:"What would the harness test?",disabled:o.value},null,8,Ne),[[u,s.value.scheme]])])]),t("div",Pe,[e[22]||(e[22]=t("span",{class:"field-label"},"Spec or developer docs",-1)),d(t("input",{"onUpdate:modelValue":e[7]||(e[7]=a=>s.value.spec_url=a),type:"url",class:"text-input text-input--mono",placeholder:"https:// â optional",disabled:o.value},null,8,Ue),[[u,s.value.spec_url]])]),d(t("input",{"onUpdate:modelValue":e[8]||(e[8]=a=>x.value=a),type:"text",name:"website",tabindex:"-1",autocomplete:"off",class:"honeypot"},null,512),[[u,x.value]]),t("div",Ae,[e[23]||(e[23]=t("span",{class:"field-label"},"Where does conformance hurt today?",-1)),d(t("textarea",{"onUpdate:modelValue":e[9]||(e[9]=a=>s.value.message=a),rows:"4",class:"text-area",placeholder:"What do implementers get wrong, and what would you want a readout to show?",disabled:o.value},null,8,Ee),[[u,s.value.message]])]),b.value?(i(),n("p",Oe,r(b.value),1)):y("",!0),t("div",Te,[e[24]||(e[24]=t("span",{class:"row-note"},"Criteria are published and identical for every scheme â fees never touch a result.",-1)),t("button",{class:V(["btn-primary",{"btn-dim":!O.value}]),disabled:o.value,onClick:z},r(o.value?"Sendingâ¦":"Apply"),11,We)])]))],512)]),S(X)])],64))}}),Ge=J(je,[["__scopeId","data-v-8efc3c95"]]);export{Ge 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.