1import{_}from"./DNB89T1q.js";import{I as V}from"./B0k-HLMs.js";import{B as k}from"./Qif8L7US.js";import{a as f,b as w,i as E}from"./GOaYPZeo.js";import{e as $,f as P,m as y,_ as D,c as d,o as m,a as t,b as i,j as S,l as u,w as v,d as g,t as s,i as z,s as F,p as N}from"./BSlxqLUX.js";import{F as T,N as q}from"./DucUqid_.js";import"./DTTcPvYn.js";const I=$({name:"DemoRequestForm",components:{Input:V,Button:k},setup(){return{localePath:y()}},data(){return{formData:{name:"",email:"",organization:"",role:""},errors:{name:"",email:"",organization:"",role:""},isSubmitting:!1,isSubmitted:!1,submitError:""}},methods:{validateForm(){let e=!0;return this.errors={name:"",email:"",organization:"",role:""},this.formData.name.trim().length<2&&(this.errors.name="Please enter your name",e=!1),E(this.formData.email)||(this.errors.email="Please enter a valid email address",e=!1),this.formData.organization.trim().length<2&&(this.errors.organization="Please enter your organization name",e=!1),this.formData.role.trim().length<2&&(this.errors.role="Please enter your role",e=!1),e},async handleSubmit(){if(this.submitError="",!!this.validateForm()){this.isSubmitting=!0;try{const e={name:f(this.formData.name),email:f(this.formData.email),organization:f(this.formData.organization),role:f(this.formData.role),source:"demo_unlock"},o=await w(e);if(o.success){this.isSubmitted=!0;const{gtag:r}=P();r("event","demo_request",{event_category:"form_submission",event_label:e.organization})}else this.submitError=o.error||"Failed to submit. Please try again."}catch{this.submitError="An unexpected error occurred. Please try again later."}finally{this.isSubmitting=!1}}}}}),L={class:"demo-form-container"},B={key:0,class:"form-section"},R={key:0,class:"submit-error"},C={class:"privacy-notice"},U={key:1,class:"success-section"},A={class:"success-message"},M={class:"next-step"};function W(e,o,r,c,p,l){const n=u("Input"),h=u("Button"),b=_;return m(),d("div",L,[e.isSubmitted?(m(),d("div",U,[t("div",A,[o[5]||(o[5]=t("div",{class:"success-icon"},"â",-1)),t("h2",null,s(e.$t("demo.successTitle")),1),t("p",null,s(e.$t("demo.successMessage")),1)]),t("div",M,[t("p",null,s(e.$t("demo.successCta")),1),i(b,{to:e.localePath("/pricing")},{default:v(()=>[i(h,{variant:"primary",size:"lg"},{default:v(()=>[g(s(e.$t("demo.viewPlans")),1)]),_:1})]),_:1},8,["to"])])])):(m(),d("div",B,[t("form",{onSubmit:o[4]||(o[4]=z((...a)=>e.handleSubmit&&e.handleSubmit(...a),["prevent"])),class:"demo-form"},[i(n,{modelValue:e.formData.name,"onUpdate:modelValue":o[0]||(o[0]=a=>e.formData.name=a),label:e.$t("demo.labelName"),type:"text",placeholder:e.$t("demo.placeholderName"),required:"",error:e.errors.name,autocomplete:"name"},null,8,["modelValue","label","placeholder","error"]),i(n,{modelValue:e.formData.email,"onUpdate:modelValue":o[1]||(o[1]=a=>e.formData.email=a),label:e.$t("demo.labelEmail"),type:"email",placeholder:"[email protected]",required:"",error:e.errors.email,autocomplete:"email"},null,8,["modelValue","label","error"]),i(n,{modelValue:e.formData.organization,"onUpdate:modelValue":o[2]||(o[2]=a=>e.formData.organization=a),label:e.$t("demo.labelOrg"),type:"text",placeholder:e.$t("demo.placeholderOrg"),required:"",error:e.errors.organization,autocomplete:"organization"},null,8,["modelValue","label","placeholder","error"]),i(n,{modelValue:e.formData.role,"onUpdate:modelValue":o[3]||(o[3]=a=>e.formData.role=a),label:e.$t("demo.labelRole"),type:"text",placeholder:e.$t("demo.placeholderRole"),required:"",error:e.errors.role,autocomplete:"organization-title"},null,8,["modelValue","label","placeholder","error"]),i(h,{type:"submit",variant:"primary",size:"lg","full-width":"",loading:e.isSubmitting,disabled:e.isSubmitting},{default:v(()=>[g(s(e.isSubmitting?e.$t("demo.submitting"):e.$t("demo.submitButton")),1)]),_:1},8,["loading","disabled"]),e.submitError?(m(),d("div",R,s(e.submitError),1)):S("",!0),t("p",C,s(e.$t("demo.privacyNotice")),1)],32)]))])}const O=D(I,[["render",W],["__scopeId","data-v-64887452"]]),j=$({name:"DemoPage",components:{DemoRequestForm:O,Navigation:q,Footer:T},setup(){const e=y(),{trackVideoEvent:o}=F();return{localePath:e,trackVideoEvent:o}},mounted(){const e=this.$refs.demoVideo;if(!e)return;let o=!1,r=!1,c=!1,p=!1;e.addEventListener("play",()=>{o||(this.trackVideoEvent("play","demo"),o=!0)}),e.addEventListener("pause",()=>{e.currentTime<e.duration&&this.trackVideoEvent("pause","demo",{video_percent:Math.round(e.currentTime/e.duration*100)})}),e.addEventListener("ended",()=>{this.trackVideoEvent("complete","demo")}),e.addEventListener("timeupdate",()=>{if(!e.duration)return;const l=e.currentTime/e.duration*100;l>=25&&!r&&(this.trackVideoEvent("progress","demo",{video_percent:25}),r=!0),l>=50&&!c&&(this.trackVideoEvent("progress","demo",{video_percent:50}),c=!0),l>=75&&!p&&(this.trackVideoEvent("progress","demo",{video_percent:75}),p=!0)})},head(){return{title:"Watch the Demo - Pawsitive Foster",meta:[{name:"description",content:"See how Pawsitive Foster can transform your shelter operations. Watch our demo to see the platform in action."},{property:"og:title",content:"Watch the Demo - Pawsitive Foster"},{property:"og:description",content:"See how Pawsitive Foster can transform your shelter operations."}]}}}),G=N("/videos/pawsitive-demo.mp4"),H={class:"demo-page"},J={class:"demo-header"},K={class:"container"},Q={class:"eyebrow"},X={class:"subtitle"},Y={class:"video-section"},Z={class:"container"},x={class:"demo-video-container"},ee={ref:"demoVideo",controls:"",playsinline:"",controlsList:"nodownload",oncontextmenu:"return false",class:"demo-video","aria-label":"Pawsitive Foster product demo"},te={class:"form-section"},oe={class:"container"},se={class:"form-heading"},ae={class:"form-subheading"},ie={class:"benefits-section"},re={class:"container"},ne={class:"benefits-grid"},le={class:"benefit-card"},de={class:"benefit-card"},me={class:"benefit-card"},ue={class:"pricing-cta"};function ce(e,o,r,c,p,l){const n=u("Navigation"),h=u("DemoRequestForm"),b=_,a=u("Footer");return m(),d("div",H,[i(n),t("section",J,[t("div",K,[t("span",Q,s(e.$t("nav.watchDemo")),1),t("h1",null,s(e.$t("demo.title")),1),t("p",X,s(e.$t("demo.subtitle")),1)])]),t("section",Y,[t("div",Z,[t("div",x,[t("video",ee,[...o[0]||(o[0]=[t("source",{src:G,type:"video/mp4"},null,-1),t("track",{kind:"captions",src:"/videos/pawsitive-demo-captions.vtt",srclang:"en",label:"English",default:""},null,-1)])],512)])])]),t("section",te,[t("div",oe,[t("h2",se,s(e.$t("demo.formHeading")),1),t("p",ae,s(e.$t("demo.formSubheading")),1),i(h)])]),t("section",ie,[t("div",re,[t("div",ne,[t("div",le,[t("h3",null,s(e.$t("demo.benefitSmartTitle")),1),t("p",null,s(e.$t("demo.benefitSmartDesc")),1
1)]),t("div",de,[t("h3",null,s(e.$t("demo.benefitCommsTitle")),1),t("p",null,s(e.$t("demo.benefitCommsDesc")),1)]),t("div",me,[t("h3",null,s(e.$t("demo.benefitInsightsTitle")),1),t("p",null,s(e.$t("demo.benefitInsightsDesc")),1)])]),t("div",ue,[i(b,{to:e.localePath("/pricing"),class:"web-link-arrow web-link-arrow--muted"},{default:v(()=>[g(s(e.$t("demo.viewPricing")),1)]),_:1},8,["to"])])])]),i(a)])}const $e=D(j,[["render",ce],["__scopeId","data-v-968e6917"]]);export{$e 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.