Files
Lucky_Wheel/apps/client/dist/assets/CampaignWheelView-Ds-m3TZi.js
T
2026-09-15 17:26:42 +03:30

3 lines
23 KiB
JavaScript

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