3 lines
25 KiB
JavaScript
3 lines
25 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wheel-classiccasinowheel-D335SDnp.js","assets/vendor-vue-DYkhP7t5.js","assets/wheel-neoncyberwheel-D_x2lhsl.js","assets/wheel-minimalflatwheel-BJTYX9FR.js","assets/wheel-luxurygoldwheel-CkWepG8h.js","assets/wheel-playfulcartoonwheel-B7xOLPYC.js","assets/wheel-rusticwoodwheel-BbKX2tGm.js","assets/wheel-galaxyspacewheel-Cpe0b0bD.js","assets/wheel-candylandwheel-B__v1BC5.js","assets/wheel-fireflamewheel-BmwUEapa.js","assets/wheel-crystalicewheel-CYDvynJx.js"])))=>i.map(i=>d[i]);
|
|
import{u as D,a as j,_ as S}from"./index-BAVpCd0B.js";import{t as N,a as V,W as C}from"./wheel-classiccasinowheel-D335SDnp.js";import{d as B,w as J,o as Q,b as r,e,v as h,u as t,X as ee,k as _,P as te,K as se,t as v,g,H as F,I as U,J as W,L as T,C as H,A as le,R as ae,r as p,a as l,i as ne,y as K,z as L,M as G,T as oe,B as ie,S as z,N as re,E as q,V as X,c as P,O as R,j as ue,Q as de,x as ce,U as xe,W as me,Y,Z as ve,_ as pe,$ as be,a0 as fe}from"./vendor-vue-DYkhP7t5.js";import{c as he}from"./vendor-ui-B5JVzsfH.js";const ge={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/70 backdrop-blur-sm animate-fade-in"},ye={class:"w-full max-w-sm bg-slate-900 border border-slate-800 rounded-2xl shadow-2xl p-6 text-right relative overflow-hidden"},we={class:"text-center mb-6"},_e={class:"inline-flex items-center justify-center w-12 h-12 rounded-xl bg-blue-500/10 text-blue-400 mb-3"},ke={class:"text-lg font-bold text-white"},Ce={class:"text-xs text-slate-400 mt-1"},Ae={key:0,class:"mb-4 p-3 rounded-lg bg-rose-500/10 border border-rose-500/20 text-rose-400 text-xs font-medium"},Ie={class:"relative"},Ee=["disabled"],Se=["disabled"],Re={class:"flex items-center justify-between pt-2 text-xs text-slate-400"},$e={key:0,class:"text-slate-400 font-medium"},Oe=B({__name:"AuthModal",props:{show:{type:Boolean},campaignId:{}},emits:["close","success"],setup($,{emit:M}){const O=$,o=M,m=D(),b=p("MOBILE"),n=p(""),y=p(""),u=p(!1),s=p(null),w=p(60);let f=null;function A(){w.value=60,f&&clearInterval(f),f=window.setInterval(()=>{w.value>0?w.value--:f&&clearInterval(f)},1e3)}J(()=>O.show,x=>{x?(b.value="MOBILE",y.value="",s.value=null):f&&clearInterval(f)}),Q(()=>{f&&clearInterval(f)});async function I(){const x=n.value.trim();if(!/^09[0-9]{9}$/.test(x)){s.value="لطفاً یک شماره موبایل معتبر ۱۱ رقمی (مثل ۰۹۱۲۳۴۵۶۷۸۹) وارد نمایید.";return}u.value=!0,s.value=null;try{await m.requestOtp(x),b.value="OTP",A()}catch(i){s.value=i.response?.data?.message||"خطا در ارسال کد تأیید"}finally{u.value=!1}}async function c(){const x=y.value.trim();if(x.length!==5){s.value="کد تأیید پیامکشده ۵ رقم است.";return}u.value=!0,s.value=null;try{await m.verifyOtp(n.value.trim(),x,O.campaignId),o("success"),o("close")}catch(i){s.value=i.response?.data?.message||"کد تأیید نامعتبر یا منقضی شده است."}finally{u.value=!1}}return(x,i)=>$.show?(l(),r("div",ge,[e("div",ye,[e("button",{onClick:i[0]||(i[0]=d=>o("close")),class:"absolute top-4 left-4 p-1.5 rounded-full text-slate-400 hover:text-white hover:bg-slate-800 transition"},[h(t(ee),{class:"w-5 h-5"})]),e("div",we,[e("div",_e,[b.value==="MOBILE"?(l(),_(t(te),{key:0,class:"w-6 h-6"})):(l(),_(t(se),{key:1,class:"w-6 h-6"}))]),e("h3",ke,v(b.value==="MOBILE"?"ورود به گردونه شانس":"تأیید شماره همراه"),1),e("p",Ce,v(b.value==="MOBILE"?"جهت دریافت شانس و ثبت جوایز، شماره همراه خود را وارد کنید.":`کد ۵ رقمی ارسال شده به ${t(N)(n.value)} را وارد نمایید.`),1)]),s.value?(l(),r("div",Ae,v(s.value),1)):g("",!0),b.value==="MOBILE"?(l(),r("form",{key:1,onSubmit:F(I,["prevent"]),class:"space-y-4"},[e("div",null,[i[4]||(i[4]=e("label",{class:"block text-xs font-medium text-slate-300 mb-1.5"},"شماره تلفن همراه",-1)),e("div",Ie,[U(e("input",{"onUpdate:modelValue":i[1]||(i[1]=d=>n.value=d),type:"tel",inputmode:"numeric",maxlength:"11",placeholder:"۰۹۱۲۳۴۵۶۷۸۹",dir:"ltr",class:"w-full px-4 py-3 bg-slate-950 border border-slate-700 focus:border-blue-500 focus:ring-1 focus:ring-blue-500 rounded-xl text-white text-center text-base tracking-widest outline-none transition placeholder:text-slate-600 font-mono",required:""},null,512),[[W,n.value]])])]),e("button",{type:"submit",disabled:u.value||!n.value,class:"w-full py-3 px-4 rounded-xl bg-gradient-to-r from-blue-600 to-indigo-600 hover:from-blue-500 hover:to-indigo-500 text-white font-semibold text-sm shadow-lg shadow-blue-500/25 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2 transition"},[u.value?(l(),_(t(T),{key:0,class:"w-4 h-4 animate-spin"})):g("",!0),i[5]||(i[5]=e("span",null,"دریافت کد تأیید (پیامک)",-1))],8,Ee)],32)):(l(),r("form",{key:2,onSubmit:F(c,["prevent"]),class:"space-y-4"},[e("div",null,[i[6]||(i[6]=e("label",{class:"block text-xs font-medium text-slate-300 mb-1.5 text-center"},"کد تأیید ۵ رقمی",-1)),U(e("input",{"onUpdate:modelValue":i[2]||(i[2]=d=>y.value=d),type:"text",inputmode:"numeric",maxlength:"5",placeholder:"— — — — —",dir:"ltr",class:"w-full px-4 py-3 bg-slate-950 border border-slate-700 focus:border-blue-500 focus:ring-1 focus:ring-blue-500 rounded-xl text-white text-center text-xl font-bold tracking-[0.5em] outline-none transition font-mono",required:"",autofocus:""},null,512),[[W,y.value]])]),e("button",{type:"submit",disabled:u.value||y.value.length!==5,class:"w-full py-3 px-4 rounded-xl bg-gradient-to-r from-emerald-600 to-teal-600 hover:from-emerald-500 hover:to-teal-500 text-white font-semibold text-sm shadow-lg shadow-emerald-500/25 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2 transition"},[u.value?(l(),_(t(T),{key:0,class:"w-4 h-4 animate-spin"})):(l(),_(t(H),{key:1,class:"w-4 h-4"})),i[7]||(i[7]=e("span",null,"تأیید و ورود به گردونه",-1))],8,Se),e("div",Re,[e("button",{type:"button",onClick:i[3]||(i[3]=d=>b.value="MOBILE"),class:"hover:text-white transition flex items-center gap-1"},[h(t(le),{class:"w-3.5 h-3.5"}),i[8]||(i[8]=e("span",null,"ویرایش شماره",-1))]),e("div",null,[w.value>0?(l(),r("span",$e,v(t(N)(w.value))+" ثانیه تا ارسال مجدد ",1)):(l(),r("button",{key:1,type:"button",onClick:I,class:"text-blue-400 hover:text-blue-300 font-medium transition flex items-center gap-1"},[h(t(ae),{class:"w-3 h-3"}),i[9]||(i[9]=e("span",null,"ارسال مجدد کد",-1))]))])])],32))])])):g("",!0)}}),Z=ne("spin",()=>{const $=D(),{playWin:M,playNoPrize:O}=V(),o=p(!1),m=p(!1),b=p(null),n=p(null),y=p(!1),u=p(null),s=p(null);function w(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,c=>{const x=Math.random()*16|0;return(c==="x"?x:x&3|8).toString(16)})}async function f(c,x){if(!(o.value||m.value)){if(!$.isAuthenticated){u.value="لطفاً ابتدا وارد حساب کاربری خود شوید.";return}if($.chances.remainingChances<=0){u.value="شما شانس کافی برای چرخاندن گردونه ندارید!";return}o.value=!0,u.value=null,s.value||(s.value=w());try{const d=(await j.post(`/campaigns/${c}/spin`,{idempotencyKey:s.value})).data;n.value=d,typeof d.remainingChances=="number"?$.setRemainingChances(d.remainingChances):$.decrementChance();let E=0;if(d.prize){let a=x.findIndex(k=>k.id===d.prize.id);a===-1&&d.prize.title&&(a=x.findIndex(k=>k.title===d.prize.title)),a===-1&&d.prize.segment!==void 0&&(a=x.findIndex(k=>k.sortOrder===d.prize.segment)),E=a!==-1?a:0}b.value=E,m.value=!0,s.value=null}catch(i){let d=i.response?.data?.message||(Array.isArray(i.response?.data?.message)?i.response?.data?.message.join(" - "):"خطا در ارتباط با سرور گردونه شانس");typeof d=="string"&&(d==="CAMPAIGN_DRAFT"?d="این گردونه شانس در حال آمادهسازی است و هنوز فعال نشده است.":d==="CAMPAIGN_PAUSED"?d="این گردونه شانس موقتاً متوقف شده است.":d==="CAMPAIGN_NOT_STARTED"?d="زمان شروع این گردونه شانس هنوز فرا نرسیده است.":d==="CAMPAIGN_FINISHED"&&(d="مهلت شرکت در این گردونه شانس به پایان رسیده است.")),u.value=d}finally{o.value=!1}}}function A(){m.value=!1,b.value=null;const c=n.value?.prize;!c||c.type==="NO_PRIZE"||c.title?.trim()==="پوچ"||c.title?.includes("پوچ")?O():(M(),he({particleCount:80,spread:70,origin:{y:.6}})),y.value=!0,n.value?.spinId&&j.post(`/campaigns/spins/${n.value.spinId}/notify`).catch(()=>{})}function I(){y.value=!1,n.value=null}return{isRequesting:o,isWheelSpinning:m,targetSegmentIndex:b,spinResult:n,showResultModal:y,errorMessage:u,executeSpin:f,onWheelAnimationFinished:A,closeResultModal:I}}),Me={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/75 backdrop-blur-md animate-fade-in"},Le={class:"w-full max-w-sm bg-slate-900 border border-slate-800 rounded-3xl shadow-2xl p-6 text-center relative overflow-hidden"},Pe={key:0,class:"relative z-10"},Ne={key:0,class:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-gradient-to-tr from-cyan-500 to-blue-500 text-white mb-3 shadow-lg shadow-cyan-500/30 animate-pulse"},Te={key:1,class:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-gradient-to-tr from-amber-500 to-yellow-300 text-slate-950 mb-3 shadow-lg shadow-amber-500/30"},De={class:"text-xs text-slate-400 mb-5"},je={key:0,class:"mb-3 flex justify-center"},ze=["src","alt"],Ve={class:"text-lg font-extrabold text-white mb-1"},Be={key:1,class:"mt-3 pt-3 border-t border-slate-700/60 text-center"},Fe={key:2,class:"mt-3 pt-3 border-t border-slate-700/60"},Ue={class:"flex items-center justify-between bg-slate-950 border border-slate-700 rounded-xl px-3 py-2"},We={class:"font-mono text-sm font-bold text-amber-400 tracking-wider"},Ge={class:"text-[11px] text-emerald-400 mb-5 flex items-center justify-center gap-1"},qe={key:1,class:"relative z-10"},Ye={class:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-rose-950/60 text-rose-400 mb-3 border border-rose-800/50 shadow-lg shadow-rose-950/40 animate-bounce-subtle"},He={class:"mb-5"},Ke={class:"space-y-2.5 relative z-10"},Xe=B({__name:"ResultModal",setup($){const M=K(),O=D(),o=Z(),{playNoPrize:m}=V(),b=p(!1),n=P(()=>o.spinResult?.prize),y=P(()=>!(!n.value||n.value.type==="NO_PRIZE"||n.value.title?.trim()==="پوچ"||n.value.title?.includes("پوچ"))),u=P(()=>n.value?!!(o.spinResult?.isRespin||n.value.isRespin||n.value.type==="OTHER"||n.value.title&&(n.value.title.includes("شانس مجدد")||n.value.title.includes("چرخش مجدد")||n.value.title.includes("اسپین مجدد")||n.value.title.includes("فرصت مجدد")||n.value.title.toLowerCase().includes("respin"))):!1),s=P(()=>O.chances.remainingChances);async function w(I){try{await navigator.clipboard.writeText(I),b.value=!0,setTimeout(()=>{b.value=!1},2e3)}catch{}}function f(){o.closeResultModal()}function A(){o.closeResultModal(),M.push("/my-prizes")}return(I,c)=>t(o).showResultModal?(l(),r("div",Me,[e("div",Le,[e("div",{class:L(["absolute -top-24 left-1/2 -translate-x-1/2 w-48 h-48 rounded-full blur-3xl opacity-40 pointer-events-none",y.value?u.value?"bg-cyan-500":"bg-amber-500":"bg-rose-500"])},null,2),y.value?(l(),r("div",Pe,[u.value?(l(),r("div",Ne,[h(t(G),{class:"w-8 h-8"})])):(l(),r("div",Te,[h(t(oe),{class:"w-8 h-8"})])),e("h3",{class:L(["text-xl font-black text-transparent bg-clip-text mb-1",u.value?"bg-gradient-to-r from-cyan-200 via-sky-400 to-blue-200":"bg-gradient-to-r from-amber-200 via-yellow-400 to-amber-200"])},v(u.value?"🎉 تبریک! یک شانس مجدد برنده شدید!":"تبریک! برنده شدید!"),3),e("p",De,v(u.value?"یک فرصت دوباره برای چرخاندن گردونه به حساب شما افزوده شد:":"جایزه ارزشمند زیر به حساب و صندوق جوایز شما تعلق گرفت:"),1),e("div",{class:L(["p-4 rounded-2xl bg-slate-800/80 mb-5 border",u.value?"border-cyan-500/30":"border-amber-500/30"])},[n.value?.image?(l(),r("div",je,[e("img",{src:n.value.image,alt:n.value.title,class:"max-h-20 object-contain drop-shadow"},null,8,ze)])):g("",!0),e("h4",Ve,v(t(N)(n.value?.title)),1),u.value?(l(),r("div",Be,[...c[2]||(c[2]=[e("span",{class:"inline-flex items-center gap-1.5 px-3 py-1.5 rounded-xl bg-cyan-500/10 border border-cyan-500/20 text-cyan-300 text-xs font-bold"}," ✨ ۱ شانس چرخش دیگر بلافاصله فعال شد! ",-1)])])):n.value?.code?(l(),r("div",Fe,[c[3]||(c[3]=e("span",{class:"block text-[11px] text-slate-400 mb-1"},"کد اختصاصی جایزه شما:",-1)),e("div",Ue,[e("code",We,v(n.value.code),1),e("button",{onClick:c[0]||(c[0]=x=>w(n.value.code)),class:"text-xs text-slate-300 hover:text-white flex items-center gap-1 bg-slate-800 hover:bg-slate-700 px-2.5 py-1 rounded-lg transition"},[b.value?(l(),_(t(H),{key:0,class:"w-3.5 h-3.5 text-emerald-400"})):(l(),_(t(ie),{key:1,class:"w-3.5 h-3.5"})),e("span",null,v(b.value?"کپی شد":"کپی"),1)])])])):g("",!0)],2),e("p",Ge,[h(t(z),{class:"w-3.5 h-3.5"}),e("span",null,v(u.value?"ثبت شانس مجدد به شماره شما پیامک شد.":"اطلاعات جایزه و کد پیگیری به شماره شما پیامک شد."),1)])])):(l(),r("div",qe,[e("div",Ye,[h(t(re),{class:"w-8 h-8"})]),c[5]||(c[5]=e("h3",{class:"text-xl font-black text-white mb-2"}," این بار شانس با شما یار نبود! 🎭 ",-1)),c[6]||(c[6]=e("p",{class:"text-xs text-slate-400 mb-4 leading-relaxed px-2"},[q(" گردونه روی گزینه "),e("strong",{class:"text-rose-400"},"بدون جایزه"),q(" متوقف شد! امیدتان را از دست ندهید، شانسهای بعدی در راهند! ")],-1)),e("div",He,[e("button",{onClick:c[1]||(c[1]=(...x)=>t(m)&&t(m)(...x)),class:"inline-flex items-center gap-1.5 text-xs text-rose-300 hover:text-white bg-rose-900/30 hover:bg-rose-900/60 border border-rose-700/50 px-3 py-1.5 rounded-full transition",title:"پخش مجدد صدای افکت"},[h(t(X),{class:"w-3.5 h-3.5 text-rose-400 animate-pulse"}),c[4]||(c[4]=e("span",null,"پخش مجدد صدا",-1))])])])),e("div",Ke,[s.value>0?(l(),r("button",{key:0,onClick:f,class:L(["w-full py-3 px-4 rounded-xl font-bold text-sm shadow-lg transition flex items-center justify-center gap-2",u.value?"bg-gradient-to-r from-cyan-600 to-blue-600 hover:from-cyan-500 hover:to-blue-500 text-white shadow-cyan-500/25":"bg-gradient-to-r from-blue-600 to-indigo-600 hover:from-blue-500 hover:to-indigo-500 text-white shadow-blue-500/25"])},[u.value?(l(),_(t(G),{key:0,class:"w-4 h-4"})):g("",!0),e("span",null,v(u.value?"🎯 چرخاندن مجدد گردونه (۱ شانس فعال)":`چرخاندن دوباره (${t(N)(s.value)} شانس باقیمانده)`),1)],2)):g("",!0),e("button",{onClick:A,class:"w-full py-2.5 px-4 rounded-xl bg-slate-800 hover:bg-slate-700 text-slate-200 font-medium text-xs border border-slate-700 transition"}," مشاهده صندوق جوایز من "),s.value<=0?(l(),r("button",{key:1,onClick:f,class:"w-full py-2 px-4 rounded-xl text-slate-400 hover:text-slate-200 text-xs transition"}," بازگشت به گردونه ")):g("",!0)])])])):g("",!0)}}),Ze={class:"min-h-screen flex flex-col bg-slate-950 text-slate-100 overflow-x-hidden"},Je={class:"w-full max-w-md mx-auto px-4 py-3 flex items-center justify-between border-b border-slate-800/80 bg-slate-900/50 backdrop-blur sticky top-0 z-40"},Qe={class:"flex items-center gap-2"},et=["title"],tt={class:"flex items-center gap-2"},st={key:0,class:"flex items-center gap-2"},lt={class:"text-xs text-slate-300 font-mono"},at={class:"flex-1 w-full max-w-md mx-auto px-4 py-4 flex flex-col justify-between"},nt={key:0,class:"flex-1 flex flex-col items-center justify-center py-20 text-slate-400"},ot={key:1,class:"flex-1 flex flex-col items-center justify-center py-16 text-center"},it={class:"w-14 h-14 rounded-2xl bg-rose-500/10 text-rose-400 flex items-center justify-center mb-3"},rt={class:"text-xs text-slate-400 max-w-xs mb-5"},ut={key:2,class:"flex flex-col items-center"},dt={key:0,class:"w-full max-w-sm mb-4 rounded-2xl overflow-hidden shadow-lg border border-slate-800/80 bg-slate-900"},ct=["src","alt"],xt={class:"text-center mb-4"},mt={key:0,class:"mb-2.5 flex justify-center"},vt=["src","alt"],pt={class:"text-xl font-extrabold text-white tracking-tight"},bt={key:1,class:"text-xs text-slate-400 mt-1 max-w-xs mx-auto line-clamp-2"},ft={class:"mb-4"},ht={key:0,class:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-slate-900 border border-slate-800 text-xs shadow-inner"},gt={class:"font-extrabold text-sm text-emerald-400 font-sans"},yt={key:1,class:"inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-blue-500/10 border border-blue-500/20 text-[11px] text-blue-300"},wt={key:1,class:"w-full max-w-xs mb-3 p-3 rounded-2xl bg-amber-500/10 border border-amber-500/25 text-amber-300 text-xs text-center flex items-center justify-center gap-2"},_t={key:2,class:"w-full max-w-xs mb-3 p-2.5 rounded-xl bg-rose-500/10 border border-rose-500/20 text-rose-400 text-xs font-medium text-center"},kt={class:"w-full my-2 flex justify-center"},Ct={class:"w-full max-w-xs mt-6 mb-4"},At=["disabled"],It={key:3,class:"w-full max-w-xs mt-2"},Et={class:"flex items-center gap-1.5"},St={key:0,class:"mt-1.5 p-3 rounded-xl bg-slate-900/60 border border-slate-800 text-[11px] text-slate-400 leading-relaxed whitespace-pre-line text-right"},Lt=B({__name:"CampaignWheelView",setup($){const M=fe(),O=K(),o=D(),m=Z(),{soundEnabled:b,toggleSound:n}=V(),y=p(M.params.slug||""),u=p(!0),s=p(null),w=p(null),f=p(!1),A=p(!1),I={[C.CLASSIC_CASINO]:R(()=>S(()=>import("./wheel-classiccasinowheel-D335SDnp.js").then(E=>E.C),__vite__mapDeps([0,1]))),[C.NEON_CYBER]:R(()=>S(()=>import("./wheel-neoncyberwheel-D_x2lhsl.js"),__vite__mapDeps([2,0,1]))),[C.MINIMAL_FLAT]:R(()=>S(()=>import("./wheel-minimalflatwheel-BJTYX9FR.js"),__vite__mapDeps([3,0,1]))),[C.LUXURY_GOLD]:R(()=>S(()=>import("./wheel-luxurygoldwheel-CkWepG8h.js"),__vite__mapDeps([4,0,1]))),[C.PLAYFUL_CARTOON]:R(()=>S(()=>import("./wheel-playfulcartoonwheel-B7xOLPYC.js"),__vite__mapDeps([5,0,1]))),[C.RUSTIC_WOOD]:R(()=>S(()=>import("./wheel-rusticwoodwheel-BbKX2tGm.js"),__vite__mapDeps([6,0,1]))),[C.GALAXY_SPACE]:R(()=>S(()=>import("./wheel-galaxyspacewheel-Cpe0b0bD.js"),__vite__mapDeps([7,0,1]))),[C.CANDY_LAND]:R(()=>S(()=>import("./wheel-candylandwheel-B__v1BC5.js"),__vite__mapDeps([8,0,1]))),[C.FIRE_FLAME]:R(()=>S(()=>import("./wheel-fireflamewheel-BmwUEapa.js"),__vite__mapDeps([9,0,1]))),[C.CRYSTAL_ICE]:R(()=>S(()=>import("./wheel-crystalicewheel-CYDvynJx.js"),__vite__mapDeps([10,0,1])))},c=P(()=>{const E=s.value?.wheelDesign||C.CLASSIC_CASINO;return I[E]||I[C.CLASSIC_CASINO]});async function x(){if(y.value){u.value=!0,w.value=null;try{const a=(await j.get(`/campaigns/${y.value}/wheel`)).data;s.value={...a.campaign||a,segments:a.segments||a.campaign?.segments||[]},o.isAuthenticated&&s.value?.id&&await o.loadChances(s.value.id)}catch(E){w.value=E.response?.data?.message||"کمپین مورد نظر یافت نشد یا در حال حاضر غیرفعال است."}finally{u.value=!1}}}async function i(){if(!o.isAuthenticated){f.value=!0;return}o.chances.remainingChances<=0||await m.executeSpin(s.value.id,s.value.segments)}async function d(){s.value?.id&&await o.loadChances(s.value.id)}return ue(()=>{x()}),(E,a)=>(l(),r("div",Ze,[e("header",Je,[e("div",Qe,[e("button",{onClick:a[0]||(a[0]=(...k)=>t(n)&&t(n)(...k)),class:"p-2 rounded-xl bg-slate-800 text-slate-300 hover:text-white transition",title:t(b)?"قطع صدا":"وصل صدا"},[t(b)?(l(),_(t(X),{key:0,class:"w-4 h-4 text-emerald-400"})):(l(),_(t(de),{key:1,class:"w-4 h-4 text-slate-500"}))],8,et),t(o).isAuthenticated?(l(),r("button",{key:0,onClick:a[1]||(a[1]=k=>t(O).push("/my-prizes")),class:"flex items-center gap-1.5 px-3 py-1.5 rounded-xl bg-blue-500/10 border border-blue-500/20 text-blue-400 text-xs font-medium hover:bg-blue-500/20 transition"},[h(t(ce),{class:"w-3.5 h-3.5"}),a[6]||(a[6]=e("span",null,"جوایز من",-1))])):g("",!0)]),e("div",tt,[t(o).isAuthenticated?(l(),r("div",st,[e("span",lt,v(t(o).user?.mobile),1),e("button",{onClick:a[2]||(a[2]=k=>t(o).logout()),class:"p-1.5 rounded-lg text-slate-500 hover:text-rose-400 hover:bg-slate-800 transition",title:"خروج"},[h(t(xe),{class:"w-4 h-4"})])])):(l(),r("button",{key:1,onClick:a[3]||(a[3]=k=>f.value=!0),class:"flex items-center gap-1 px-3 py-1.5 rounded-xl bg-blue-600 hover:bg-blue-500 text-white text-xs font-semibold shadow-sm transition"},[h(t(me),{class:"w-3.5 h-3.5"}),a[7]||(a[7]=e("span",null,"ورود / ثبتنام",-1))]))])]),e("main",at,[u.value?(l(),r("div",nt,[h(t(T),{class:"w-10 h-10 animate-spin text-blue-500 mb-3"}),a[8]||(a[8]=e("span",{class:"text-sm font-medium"},"در حال بارگذاری گردونه شانس...",-1))])):w.value?(l(),r("div",ot,[e("div",it,[h(t(Y),{class:"w-7 h-7"})]),a[9]||(a[9]=e("h3",{class:"text-base font-bold text-white mb-1"},"خطا در بارگذاری کمپین",-1)),e("p",rt,v(w.value),1),e("button",{onClick:x,class:"px-4 py-2 rounded-xl bg-slate-800 hover:bg-slate-700 text-xs font-medium text-white transition"}," تلاش مجدد ")])):s.value?(l(),r("div",ut,[s.value.banner?(l(),r("div",dt,[e("img",{src:s.value.banner,alt:s.value.title,class:"w-full max-h-36 object-cover"},null,8,ct)])):g("",!0),e("div",xt,[s.value.logo?(l(),r("div",mt,[e("img",{src:s.value.logo,alt:s.value.title,class:"max-h-14 max-w-[180px] object-contain drop-shadow-md"},null,8,vt)])):g("",!0),e("h1",pt,v(s.value.title),1),s.value.description?(l(),r("p",bt,v(s.value.description),1)):g("",!0)]),e("div",ft,[t(o).isAuthenticated?(l(),r("div",ht,[h(t(z),{class:"w-3.5 h-3.5 text-amber-400"}),a[10]||(a[10]=e("span",{class:"text-slate-300"},"فرصتهای باقیمانده شما:",-1)),e("span",gt,v(t(N)(t(o).chances.remainingChances)),1)])):(l(),r("div",yt,[...a[11]||(a[11]=[e("span",null,"جهت دریافت شانس و چرخاندن، وارد شوید",-1)])]))]),!s.value.isAvailable||s.value.availabilityError?(l(),r("div",wt,[h(t(Y),{class:"w-4 h-4 flex-shrink-0 text-amber-400"}),e("span",null,v(s.value.availabilityError==="CAMPAIGN_DRAFT"?"این گردونه شانس در حال آمادهسازی است و به زودی فعال خواهد شد.":s.value.availabilityError==="CAMPAIGN_PAUSED"?"این گردونه شانس موقتاً متوقف شده است.":s.value.availabilityError==="CAMPAIGN_NOT_STARTED"?"زمان شروع این گردونه شانس هنوز فرا نرسیده است.":s.value.availabilityError==="CAMPAIGN_FINISHED"?"مهلت شرکت در این گردونه شانس به پایان رسیده است.":"این گردونه شانس در حال حاضر فعال نمیباشد."),1)])):g("",!0),t(m).errorMessage?(l(),r("div",_t,v(t(m).errorMessage),1)):g("",!0),e("div",kt,[(l(),_(ve(c.value),{segments:s.value.segments||[],"target-segment-index":t(m).targetSegmentIndex,spinning:t(m).isWheelSpinning,onSpinFinished:t(m).onWheelAnimationFinished},null,40,["segments","target-segment-index","spinning","onSpinFinished"]))]),e("div",Ct,[e("button",{onClick:i,disabled:!s.value.isAvailable||t(m).isRequesting||t(m).isWheelSpinning||t(o).isAuthenticated&&t(o).chances.remainingChances<=0,class:L(["w-full py-3.5 px-6 rounded-2xl font-extrabold text-base text-white shadow-xl flex items-center justify-center gap-2 transition transform active:scale-95 disabled:opacity-50 disabled:cursor-not-allowed disabled:transform-none",s.value.isAvailable?t(o).isAuthenticated&&t(o).chances.remainingChances<=0?"bg-slate-800 text-slate-500 border border-slate-700":"bg-gradient-to-r from-amber-500 via-orange-500 to-amber-600 hover:from-amber-400 hover:to-orange-400 shadow-amber-500/25 animate-pulse-glow":"bg-slate-800 text-slate-400 border border-slate-700"])},[t(m).isRequesting||t(m).isWheelSpinning?(l(),_(t(T),{key:0,class:"w-5 h-5 animate-spin"})):(l(),_(t(z),{key:1,class:"w-5 h-5 text-yellow-200"})),e("span",null,v(s.value.isAvailable?t(o).isAuthenticated?t(o).chances.remainingChances<=0?"فرصت چرخش شما به پایان رسیده":s.value.ctaText||"بچرخون و برنده شو!":"ورود و چرخاندن گردونه":s.value.availabilityError==="CAMPAIGN_DRAFT"?"گردونه در حال آمادهسازی است":"گردونه غیرفعال است"),1)],10,At)]),s.value.rules?(l(),r("div",It,[e("button",{onClick:a[4]||(a[4]=k=>A.value=!A.value),class:"w-full py-2 px-3 rounded-xl bg-slate-900 border border-slate-800 text-slate-400 hover:text-slate-200 text-xs flex items-center justify-between transition"},[e("div",Et,[h(t(pe),{class:"w-3.5 h-3.5 text-blue-400"}),a[12]||(a[12]=e("span",null,"راهنما و قوانین گردونه شانس",-1))]),h(t(be),{class:L(["w-3.5 h-3.5 transition-transform",{"rotate-180":A.value}])},null,8,["class"])]),A.value?(l(),r("div",St,v(s.value.rules),1)):g("",!0)])):g("",!0)])):g("",!0)]),h(Oe,{show:f.value,"campaign-id":s.value?.id,onClose:a[5]||(a[5]=k=>f.value=!1),onSuccess:d},null,8,["show","campaign-id"]),h(Xe)]))}});export{Lt as default};
|