PageSourceSearch

https://stupendiumstore.com/assets/TmlContactForm.b5f67126.js

js stupendiumstore.com collected 2026-09-30 06:14:55 UTC 4,502 bytes, 6 lines download raw bytes

1import{f as P}from"./faUpload.6d6bdd25.js";import{_ as T,A as b,ag as C,h as f}from"./index.474d7b13.js";import F from"./TmlInput.12712b46.js";import S from"./TmlTag.d83dee31.js";import{N as l,D as m,W as c,U as p,f as i,S as d,a1 as k,E as w,a2 as U,a4 as _,a0 as E,F as N,Q as B,aa as I,ab as L}from"./vue.00f7c436.js";import"./sentry.09480738.js";import"./faCheck.7ed10ce6.js";import"./faTimes.9d3c46b2.js";import"./faPlus.700d6e29.js";import"./faMinus.74c043d9.js";import"./faArrowRight.6d6d4730.js";import"./faUndo.4cbdec1e.js";const D=["image/jpeg","image/png","image/webp"],O={name:"TmlContactForm",components:{TmlForm:b,TmlInput:F,TmlButton:C,TmlTag:S},props:{searchTerms:Array,reason:Object},data(){return{faUpload:P.faUpload,maxPhotos:5,photos:[],submitLoading:!1,uploading:!1,uploadFailed:!1}},methods:{triggerPhotoUpload(){this.uploading||this.photos.length>=this.maxPhotos||this.$refs.photoInput.click()},onPhotoSelected(o){const t=o.target.files&&o.target.files[0];if(o.target.value="",!t||this.uploading||this.photos.length>=this.maxPhotos)return;if(!D.includes(t.type)){this.$dialogs.showSnackBar({message:"Please upload a JPEG, PNG, or WebP image",type:"error"});return}const a=new FormData;a.append("file",t,t.name),this.uploading=!0,this.axios.post(f("/omnis/v3/files/images"),a).then(({data:n})=>{if(!n||!n.url)throw new Error("Upload did not return an image URL");this.photos.push({name:t.name,url:n.url,id:n.id}),this.uploadFailed=!1}).catch(()=>{this.uploadFailed=!0,this.$dialogs.showSnackBar({message:"Oops! That photo did not upload, please try again",type:"error"})}).finally(()=>{this.uploading=!1})},removePhoto(o){this.photos=this.photos.filter(t=>t.url!==o.url)},contactMessage(o){if(!this.photos.length)return o;const t=this.photos.map(a=>a.url).join(`
2`);return`${o}
3
4Photos:
5${t}`},sendContact(){this.submitLoading||this.uploading||this.uploadFailed||this.$refs.contactForm.validateAll().then(o=>{if(!o||this.uploading||this.uploadFailed)return;const t=this.$store.getters["forms/contact-form/formData"];this.submitLoading=!0,this.axios.post(f("/omnis/v3/contact/send-contact/"),{contact:this.contactMessage(t.contactText.value),reason:this.reason?this.reason.value:null,email:t.contactEmail?t.contactEmail.value:null,name:t.contactName?t.contactName.value:null,allTerms:this.searchTerms?JSON.stringify(this.searchTerms):null,photoFileIds:this.photos.map(a=>a.id).filter(Boolean)}).then(({data:a})=>{this.submitLoading=!1,this.photos=[],this.$dialogs.showSnackBar(a),this.$emit("contactSubmitted")}).catch(()=>{this.submitLoading=!1,this.$dialogs.showSnackBar({message:"Oops! Something went wrong, please try again later",type:"error"})})})}}},j=o=>(I("data-v-5a345ac5"),o=o(),L(),o),A=j(()=>d("p",{class:"speak-text"}," Speak to someone. ",-1)),V={class:"photo-upload"},M=_(" Upload failed ");function q(o,t,a,n,e,r){const x=l("tml-textarea"),h=l("tml-input"),u=l("tml-button"),g=l("tml-tag"),v=l("tml-anchor"),y=l("tml-form");return m(),c(y,{ref:"contactForm",class:"md-2","form-name":"contact-form"},{default:p(()=>[A,i(x,{"field-name":"contactText",placeholder:"Tell us more","validation-rules":{required:!0}}),i(h,{"field-name":"contactName",placeholder:"Name",type:"text","validation-rules":{required:!0}}),i(h,{"field-name":"contactEmail",placeholder:"Email",type:"text","validation-rules":{email:!0}}),d("div",V,[i(u,{disabled:e.photos.length>=e.maxPhotos||e.uploading,icon:e.faUpload,loading:e.uploading,text:"Upload photo",onClick:r.triggerPhotoUpload},null,8,["disabled","icon","loading","onClick"]),d("input",{ref:"photoInput",class:"hidden",type:"file",accept:"image/jpeg,image/png,image/webp",onChange:t[0]||(t[0]=(...s)=>r.onPhotoSelected&&r.onPhotoSelected(...s)),onClick:t[1]||(t[1]=k(()=>{},["stop"]))},null,544),(m(!0),w(N,null,U(e.photos,s=>(m(),c(g,{key:s.url,class:"mt-4",value:s.name,onClose:G=>r.removePhoto(s)},{default:p(()=>[_(E(s.name),1)]),_:2},1032,["value","onClose"]))),128)),e.uploadFailed?(m(),c(g,{key:0,class:"mt-4",value:"Upload failed",onClose:t[2]||(t[2]=s=>e.uploadFailed=!1)},{default:p(()=>[M]),_:1})):B("",!0)]),i(u,{disabled:e.uploading||e.uploadFailed,loading:e.submitLoading,fill:"",style:{"margin-bottom":"15px"},text:"Send",primary:"",onClick:r.sendContact},null,8,["disabled","loading","onClick"]),i(v,{class:"text-xs mt-6",text:"Privacy policy",href:"/privacy-policy"})]),_:1},512)}const ot=T(O,[["render",q],["__scopeId","data-v-5a345ac5"]]);export{ot as default};
6//# sourceMappingURL=TmlContactForm.b5f67126.js.map

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.