|
1
|
|
-import{A,B as I,h as v,i as L,v as N,l as R,r as x,e as k,b,o as w,d as s,a as f,t as i,w as K,f as V,u as r,n as D,x as T}from"./vue.esm-bundler.js?ver=1.3.21";import{t as n}from"./Translator.js?ver=1.3.21";import{B as U}from"./Badge.js?ver=1.3.21";import{R as j}from"./Rest.js?ver=1.3.21";import"./Arr.js?ver=1.3.21";import"./_plugin-vue_export-helper.js?ver=1.3.21";import"./DynamicIcon.js?ver=1.3.21";import"./Str.js?ver=1.3.21";const F={key:0,class:"fct-content-card-list-item py-4 px-6"},G={class:"fct-content-card-list-head"},H={class:"flex items-start gap-2 flex-row"},O={class:"mb-0"},J={key:0,class:"fct-content-card-list-content"},Q={class:"fct-content-card-list-action"},W={class:"pr-4"},X={key:1,class:"fct-turnstile-settings mt-6 border-t border-gray-200 dark:border-gray-700"},Y={class:"space-y-4 max-w-[600px] p-4 bg-gray-50 dark:bg-gray-800 rounded-lg"},Z={class:"block text-sm font-medium mb-2"},$={class:"form-note mt-2"},ee={class:"block text-sm font-medium mb-2"},te={class:"form-note mt-2"},ae={class:"flex items-center gap-3"},de={__name:"TurnstileSettings",props:A({name:{type:String,required:!0},field:{type:Object},fieldKey:{type:String},value:{required:!0},variant:{type:String},nesting:{type:Boolean,default:!1},statePath:{type:String},form:{type:Object,required:!0},callback:{type:Function,required:!0},label:{type:String},attribute:{required:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(_){const a=I(_,"modelValue"),c=v(!1),d=v(""),m=v(""),S=v(!1);L(()=>{a.value?(c.value=a.value.active||"no",d.value=a.value.site_key||"",m.value=a.value.secret_key||""):a.value={active:"no",site_key:"",secret_key:""},S.value=!0}),N(()=>a.value,e=>{e&&(c.value=e.active||"no",d.value=e.site_key||"",m.value=e.secret_key||"")},{deep:!0});const C=e=>{(!a.value||typeof a.value!="object")&&(a.value={}),T(()=>{a.value.active=e})},E=e=>{(!a.value||typeof a.value!="object")&&(a.value={}),T(()=>{a.value.site_key=e})},B=e=>{(!a.value||typeof a.value!="object")&&(a.value={}),T(()=>{a.value.secret_key=e})},h=v(!1),y=v(null),g=v(null),q=R(()=>d.value&&m.value&&!h.value),M=()=>new Promise((e,t)=>{if(typeof window.turnstile<"u"){e();return}const l=document.querySelector('script[src*="challenges.cloudflare.com/turnstile"]');if(l){l.addEventListener("load",e),l.addEventListener("error",t);return}const o=document.createElement("script");o.src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",o.async=!0,o.onload=e,o.onerror=()=>t(new Error("Failed to load Turnstile script")),document.head.appendChild(o)}),P=e=>new Promise((t,l)=>{const o=g.value;if(!o){l(new Error("Container not found"));return}o.innerHTML="";const p=setTimeout(()=>{l(new Error("Turnstile verification timed out. Please check your Site Key and ensure this domain is allowed in Cloudflare."))},15e3);try{window.turnstile.render(o,{sitekey:e,size:"flexible",appearance:"interaction-only",callback:u=>{clearTimeout(p),t(u)},"error-callback":()=>{clearTimeout(p),l(new Error("Turnstile challenge failed. Please check your Site Key."))}})}catch{clearTimeout(p),l(new Error("Invalid Site Key or Turnstile configuration."))}}),z=async()=>{var e;h.value=!0,y.value=null;try{await M();const t=await P(d.value),l=await j.post("settings/modules/turnstile/verify",{site_key:d.value,secret_key:m.value,token:t});y.value={success:!0,message:l.message}}catch(t){const l=((e=t==null?void 0:t.data)==null?void 0:e.message)||(t==null?void 0:t.message)||n("Verification failed. Please check your keys.");y.value={success:!1,message:l}}finally{h.value=!1,g.value&&(g.value.innerHTML="")}};return(e,t)=>{const l=x("el-switch"),o=x("el-input"),p=x("el-button");return S.value?(w(),k("div",F,[s("div",G,[s("div",H,[s("h4",O,i(_.field.title),1),f(U,{size:"small",type:c.value==="yes"?"active":"inactive","hide-icon":!0},{default:K(()=>[V(i(c.value==="yes"?r(n)("Active"):r(n)("Inactive")),1)]),_:1},8,["type"])])]),_.field.description?(w(),k("div",J,[s("p",null,i(_.field.description),1)])):b("",!0),s("div",Q,[s("div",W,[f(l,{"active-value":"yes","inactive-value":"no",modelValue:c.value,"onUpdate:modelValue":t[0]||(t[0]=u=>c.value=u),onChange:C},null,8,["modelValue"])])]),c.value==="yes"?(w(),k("div",X,[s("div",Y,[s("div",null,[s("label",Z,i(r(n)("Turnstile Site Key")),1),f(o,{modelValue:d.value,"onUpdate:modelValue":t[1]||(t[1]=u=>d.value=u),onInput:E,placeholder:r(n)("Enter your Turnstile Site Key"),type:"text"},null,8,["modelValue","placeholder"]),s("p",$,i(r(n)("Get your Site Key from Cloudflare Dashboard > Turnstile.")),1)]),s("div",null,[s("label",ee,i(r(n)("Turnstile Secret Key")),1),f(o,{modelValue:m.value,"onUpdate:modelValue":t[2]||(t[2]=u=>m.value=u),onInput:B,placeholder:r(n)("Enter your Turnstile Secret Key"),type:"password","show-password":""},null,8,["modelValue","placeholder"]),s("p",te,i(r(n)("Get your Secret Key from Cloudflare Dashboard > Turnstile. Keep this secret.")),1)]),s("div",ae,[f(p,{disabled:!q.value,loading:h.value,onClick:z,type:"primary",size:"small"},{default:K(()=>[V(i(r(n)("Verify Keys")),1)]),_:1},8,["disabled","loading"]),y.value?(w(),k("span",{key:0,class:D([y.value.success?"text-green-600":"text-red-600","text-sm"])},i(y.value.message),3)):b("",!0)]),s("div",{ref_key:"turnstileContainer",ref:g,style:{position:"absolute",left:"-9999px",visibility:"hidden"}},null,512)])])):b("",!0)])):b("",!0)}}};export{de as default}; |
|
1
|
+import{A,B as I,h as m,i as L,v as N,l as R,r as x,e as k,b,o as w,d as s,a as f,t as r,w as K,f as V,u as n,n as D,x as T}from"./vue.esm-bundler.js?ver=1.6.6";import{t as i}from"./Translator.js?ver=1.6.6";import{B as U}from"./Badge.js?ver=1.6.6";import{R as j}from"./Rest.js?ver=1.6.6";import"./Arr.js?ver=1.6.6";import"./Model.js?ver=1.6.6";import"./common.js?ver=1.6.6";import"./dayjs.min.js?ver=1.6.6";import"./Str.js?ver=1.6.6";import"./timezone.js?ver=1.6.6";import"./weekOfYear.js?ver=1.6.6";import"./Utils.js?ver=1.6.6";import"./CurrencyFormatter.js?ver=1.6.6";import"./index.js?ver=1.6.6";import"./vue-router.js?ver=1.6.6";import"./Url.js?ver=1.6.6";import"./Notify.js?ver=1.6.6";import"./DynamicIcon.js?ver=1.6.6";import"./preload-helper.js?ver=1.6.6";import"./_plugin-vue_export-helper.js?ver=1.6.6";import"./index3.js?ver=1.6.6";import"./IconButton.js?ver=1.6.6";import"./TransitionAccordion.js?ver=1.6.6";const F={key:0,class:"fct-content-card-list-item py-4 px-6"},G={class:"fct-content-card-list-head"},H={class:"flex items-start gap-2 flex-row"},O={class:"mb-0"},J={key:0,class:"fct-content-card-list-content"},Q={class:"fct-content-card-list-action"},W={class:"pr-4"},X={key:1,class:"fct-turnstile-settings mt-6 border-t border-gray-200 dark:border-gray-700"},Y={class:"space-y-4 max-w-[600px] p-4 bg-gray-50 dark:bg-gray-800 rounded-lg"},Z={class:"block text-sm font-medium mb-2"},$={class:"form-note mt-2"},ee={class:"block text-sm font-medium mb-2"},te={class:"form-note mt-2"},ae={class:"flex items-center gap-3"},Ke={__name:"TurnstileSettings",props:A({name:{type:String,required:!0},field:{type:Object},fieldKey:{type:String},value:{required:!0},variant:{type:String},nesting:{type:Boolean,default:!1},statePath:{type:String},form:{type:Object,required:!0},callback:{type:Function,required:!0},label:{type:String},attribute:{required:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(_){const a=I(_,"modelValue"),c=m(!1),d=m(""),p=m(""),S=m(!1);L(()=>{a.value?(c.value=a.value.active||"no",d.value=a.value.site_key||"",p.value=a.value.secret_key||""):a.value={active:"no",site_key:"",secret_key:""},S.value=!0}),N(()=>a.value,e=>{e&&(c.value=e.active||"no",d.value=e.site_key||"",p.value=e.secret_key||"")},{deep:!0});const C=e=>{(!a.value||typeof a.value!="object")&&(a.value={}),T(()=>{a.value.active=e})},E=e=>{(!a.value||typeof a.value!="object")&&(a.value={}),T(()=>{a.value.site_key=e})},B=e=>{(!a.value||typeof a.value!="object")&&(a.value={}),T(()=>{a.value.secret_key=e})},h=m(!1),v=m(null),g=m(null),q=R(()=>d.value&&p.value&&!h.value),M=()=>new Promise((e,t)=>{if(typeof window.turnstile<"u"){e();return}const l=document.querySelector('script[src*="challenges.cloudflare.com/turnstile"]');if(l){l.addEventListener("load",e),l.addEventListener("error",t);return}const o=document.createElement("script");o.src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",o.async=!0,o.onload=e,o.onerror=()=>t(new Error("Failed to load Turnstile script")),document.head.appendChild(o)}),P=e=>new Promise((t,l)=>{const o=g.value;if(!o){l(new Error("Container not found"));return}o.innerHTML="";const y=setTimeout(()=>{l(new Error("Turnstile verification timed out. Please check your Site Key and ensure this domain is allowed in Cloudflare."))},15e3);try{window.turnstile.render(o,{sitekey:e,size:"flexible",appearance:"interaction-only",callback:u=>{clearTimeout(y),t(u)},"error-callback":()=>{clearTimeout(y),l(new Error("Turnstile challenge failed. Please check your Site Key."))}})}catch{clearTimeout(y),l(new Error("Invalid Site Key or Turnstile configuration."))}}),z=async()=>{var e;h.value=!0,v.value=null;try{await M();const t=await P(d.value),l=await j.post("settings/modules/turnstile/verify",{site_key:d.value,secret_key:p.value,token:t});v.value={success:!0,message:l.message}}catch(t){const l=((e=t==null?void 0:t.data)==null?void 0:e.message)||(t==null?void 0:t.message)||i("Verification failed. Please check your keys.");v.value={success:!1,message:l}}finally{h.value=!1,g.value&&(g.value.innerHTML="")}};return(e,t)=>{const l=x("el-switch"),o=x("el-input"),y=x("el-button");return S.value?(w(),k("div",F,[s("div",G,[s("div",H,[s("h4",O,r(_.field.title),1),f(U,{size:"small",type:c.value==="yes"?"active":"inactive","hide-icon":!0},{default:K(()=>[V(r(c.value==="yes"?n(i)("Active"):n(i)("Inactive")),1)]),_:1},8,["type"])])]),_.field.description?(w(),k("div",J,[s("p",null,r(_.field.description),1)])):b("",!0),s("div",Q,[s("div",W,[f(l,{"active-value":"yes","inactive-value":"no",modelValue:c.value,"onUpdate:modelValue":t[0]||(t[0]=u=>c.value=u),onChange:C},null,8,["modelValue"])])]),c.value==="yes"?(w(),k("div",X,[s("div",Y,[s("div",null,[s("label",Z,r(n(i)("Turnstile Site Key")),1),f(o,{modelValue:d.value,"onUpdate:modelValue":t[1]||(t[1]=u=>d.value=u),onInput:E,placeholder:n(i)("Enter your Turnstile Site Key"),type:"text"},null,8,["modelValue","placeholder"]),s("p",$,r(n(i)("Get your Site Key from Cloudflare Dashboard > Turnstile.")),1)]),s("div",null,[s("label",ee,r(n(i)("Turnstile Secret Key")),1),f(o,{modelValue:p.value,"onUpdate:modelValue":t[2]||(t[2]=u=>p.value=u),onInput:B,placeholder:n(i)("Enter your Turnstile Secret Key"),type:"password","show-password":""},null,8,["modelValue","placeholder"]),s("p",te,r(n(i)("Get your Secret Key from Cloudflare Dashboard > Turnstile. Keep this secret.")),1)]),s("div",ae,[f(y,{disabled:!q.value,loading:h.value,onClick:z,type:"primary",size:"small"},{default:K(()=>[V(r(n(i)("Verify Keys")),1)]),_:1},8,["disabled","loading"]),v.value?(w(),k("span",{key:0,class:D([v.value.success?"text-green-600":"text-red-600","text-sm"])},r(v.value.message),3)):b("",!0)]),s("div",{ref_key:"turnstileContainer",ref:g,style:{position:"absolute",left:"-9999px",visibility:"hidden"}},null,512)])])):b("",!0)])):b("",!0)}}};export{Ke as default}; |