FIx some for production again
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
*
|
||||
!dist/
|
||||
!dist/**
|
||||
!nginx.conf
|
||||
!Dockerfile
|
||||
@@ -0,0 +1,3 @@
|
||||
# Dist is committed for Dokploy copy-only images.
|
||||
node_modules/
|
||||
*.tsbuildinfo
|
||||
+3
-18
@@ -1,22 +1,7 @@
|
||||
FROM node:20-alpine AS builder
|
||||
FROM docker.arvancloud.ir/nginx:latest
|
||||
|
||||
ENV PNPM_HOME="/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
RUN corepack enable pnpm
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN pnpm install --frozen-lockfile
|
||||
RUN pnpm --filter @lucky-wheel/api exec prisma generate
|
||||
RUN pnpm run build:types
|
||||
RUN pnpm --filter @lucky-wheel/client build
|
||||
|
||||
FROM nginx:alpine
|
||||
|
||||
COPY --from=builder /app/apps/client/dist /usr/share/nginx/html
|
||||
COPY apps/client/nginx.conf /etc/nginx/conf.d/default.conf
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
COPY dist /usr/share/nginx/html
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{d as t,b as s,h as a,e as r,v as o,u as n,S as l,E as x,a as d}from"./vendor-vue-kYoPQr5S.js";const m={class:"min-h-screen flex flex-col items-center justify-center px-6 py-12 text-center"},c={class:"mt-8 inline-flex items-center gap-2 text-amber-400/80 text-xs font-medium"},b=t({__name:"HomeView",setup(i){return(p,e)=>(d(),s("div",m,[e[1]||(e[1]=a('<div class="w-20 h-20 rounded-3xl bg-gradient-to-br from-amber-500 to-orange-600 flex items-center justify-center text-4xl shadow-lg shadow-amber-500/20 mb-6"> 🎡 </div><h1 class="text-2xl font-extrabold text-white mb-3">گردونه شانس</h1><p class="text-slate-400 text-sm max-w-sm leading-7 mb-2"> برای شرکت در قرعهکشی، لینک اختصاصی کمپین خود را از برگزارکننده دریافت کنید. </p><p class="text-slate-500 text-xs max-w-xs"> آدرس معمولاً به شکل <code dir="ltr" class="text-amber-400/90 bg-slate-800 px-1.5 py-0.5 rounded">/نام-کمپین</code> است. </p>',4)),r("div",c,[o(n(l),{class:"w-4 h-4"}),e[0]||(e[0]=x(" منتظر لینک کمپین باشید ",-1))])]))}});export{b as default};
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{d as o,b as n,e,u as l,y as r,a}from"./vendor-vue-kYoPQr5S.js";const x={class:"min-h-screen flex flex-col items-center justify-center px-6 py-12 text-center"},i=o({__name:"NotFoundView",setup(u){const s=r();return(d,t)=>(a(),n("div",x,[t[1]||(t[1]=e("div",{class:"text-6xl font-black text-slate-700 mb-4"},"۴۰۴",-1)),t[2]||(t[2]=e("h1",{class:"text-xl font-bold text-white mb-2"},"صفحه پیدا نشد",-1)),t[3]||(t[3]=e("p",{class:"text-slate-400 text-sm mb-8"},"آدرس وارد شده معتبر نیست.",-1)),e("button",{type:"button",class:"px-6 py-3 rounded-xl bg-slate-800 border border-slate-700 text-slate-200 text-sm font-semibold",onClick:t[0]||(t[0]=m=>l(s).push("/"))}," بازگشت به صفحه اصلی ")]))}});export{i as default};
|
||||
+10
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+155
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{u as b,t as v}from"./wheel-classiccasinowheel-DHnlMe5J.js";import{d as B,a as l,b as o,e,n as d,u as i,F as c,f as h,t as C,g as S,c as z}from"./vendor-vue-kYoPQr5S.js";const F={class:"relative w-full max-w-[340px] xs:max-w-[380px] sm:max-w-[420px] aspect-square mx-auto select-none"},L={class:"absolute inset-0 rounded-full p-3.5 border-4 border-pink-300 shadow-[0_10px_0_#f9a8d4,0_16px_28px_rgba(244,114,182,0.35)]",style:{background:"linear-gradient(180deg, #ffe4e6 0%, #fbcfe8 100%)"}},P={class:"w-full h-full rounded-full border-4 border-white relative overflow-hidden bg-rose-50"},D=["d","fill"],N=["transform"],R={x:"150",y:"45","text-anchor":"middle",fill:"#ffffff","font-size":"11","font-weight":"900",class:"wheel-slice-text font-sans",style:{"paint-order":"stroke fill",stroke:"rgba(0,0,0,0.2)","stroke-width":"2px"}},V=["href"],W=["cx","cy"],q=["cx","cy","fill"],E={class:"absolute -top-4 left-1/2 -translate-x-1/2 z-20 pointer-events-none drop-shadow-[0_5px_0_#db2777]"},M=B({__name:"CandyLandWheel",props:{segments:{},targetSegmentIndex:{},spinning:{type:Boolean}},emits:["spin-finished"],setup(f,{emit:u}){const x=f,m=u,{wheelStyle:p,pointerStyle:g,getSlicePath:w,getTextRotation:y,makePegs:_}=b(x,()=>m("spin-finished"),{radius:138,pegRadius:142}),n=["#fb7185","#fbbf24","#34d399","#60a5fa","#c084fc","#f472b6"],k=z(()=>_(24,142).map((a,s)=>({...a,color:n[s%n.length]})));return(a,s)=>(l(),o("div",F,[e("div",L,[e("div",P,[(l(),o("svg",{class:"w-full h-full",style:d(i(p)),viewBox:"0 0 300 300"},[(l(!0),o(c,null,h(f.segments,(t,r)=>(l(),o("g",{key:t.id},[e("path",{d:i(w)(r),fill:t.color||n[r%n.length],stroke:"#ffffff","stroke-width":"3"},null,8,D),e("g",{transform:i(y)(r)},[e("text",R,C(i(v)(t.title)),1),t.image?(l(),o("image",{key:0,href:t.image,x:"138",y:"54",width:"24",height:"24"},null,8,V)):S("",!0)],8,N)]))),128)),(l(!0),o(c,null,h(k.value,(t,r)=>(l(),o("g",{key:r},[e("circle",{cx:t.x,cy:t.y,r:"4.2",fill:"#fff",stroke:"#f9a8d4","stroke-width":"1.2"},null,8,W),e("circle",{cx:t.x,cy:t.y,r:"2.6",fill:t.color},null,8,q)]))),128)),s[0]||(s[0]=e("circle",{cx:"150",cy:"150",r:"32",fill:"#fb7185",stroke:"#fff","stroke-width":"4"},null,-1)),s[1]||(s[1]=e("circle",{cx:"150",cy:"150",r:"20",fill:"#fef08a",stroke:"#f9a8d4","stroke-width":"2"},null,-1)),s[2]||(s[2]=e("text",{x:"150",y:"157","text-anchor":"middle","font-size":"16"},"🍬",-1))],4))])]),e("div",E,[e("div",{style:d(i(g)),class:"w-10 h-[48px] origin-[50%_14px] will-change-transform"},[...s[3]||(s[3]=[e("svg",{width:"40",height:"48",viewBox:"0 0 40 48",fill:"none"},[e("path",{d:"M20 48L6 16C4 11 8 4 14 4H26C32 4 36 11 34 16L20 48Z",fill:"#fb7185",stroke:"#fff","stroke-width":"2.5"}),e("circle",{cx:"20",cy:"14",r:"5.5",fill:"#fef08a",stroke:"#fff","stroke-width":"2"})],-1)])],4)])]))}});export{M as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{u as w,t as k}from"./wheel-classiccasinowheel-DHnlMe5J.js";import{d as b,a as s,b as o,e as t,n as d,u as l,F as f,f as c,t as v,g as C,h as S}from"./vendor-vue-kYoPQr5S.js";const B={class:"relative w-full max-w-[340px] xs:max-w-[380px] sm:max-w-[420px] aspect-square mx-auto select-none"},$={class:"absolute inset-0 rounded-full p-2.5 shadow-[0_0_30px_rgba(56,189,248,0.45)]",style:{background:"linear-gradient(145deg, #e0f2fe, #38bdf8, #0284c7)"}},F={class:"w-full h-full rounded-full border-2 border-sky-100 relative overflow-hidden bg-[#082f49]/40 backdrop-blur-sm"},z=["d","fill"],L=["transform"],N={x:"150",y:"45","text-anchor":"middle",fill:"#f0f9ff","font-size":"11","font-weight":"700",class:"wheel-slice-text font-sans"},V=["href"],D=["points"],G={class:"absolute -top-3 left-1/2 -translate-x-1/2 z-20 pointer-events-none drop-shadow-[0_0_10px_#7dd3fc]"},W=b({__name:"CrystalIceWheel",props:{segments:{},targetSegmentIndex:{},spinning:{type:Boolean}},emits:["spin-finished"],setup(a,{emit:h}){const p=a,u=h,{wheelStyle:m,pointerStyle:x,getSlicePath:y,getTextRotation:_,pegs:g}=w(p,()=>u("spin-finished"),{radius:138,pegRadius:143}),n=["#0ea5e9","#38bdf8","#7dd3fc","#0284c7","#e0f2fe","#0369a1"];return(I,r)=>(s(),o("div",B,[t("div",$,[t("div",F,[(s(),o("svg",{class:"w-full h-full",style:d(l(m)),viewBox:"0 0 300 300"},[(s(!0),o(f,null,c(a.segments,(e,i)=>(s(),o("g",{key:e.id},[t("path",{d:l(y)(i),fill:e.color||n[i%n.length],stroke:"#e0f2fe","stroke-width":"1.2",opacity:"0.92"},null,8,z),t("g",{transform:l(_)(i)},[t("text",N,v(l(k)(e.title)),1),e.image?(s(),o("image",{key:0,href:e.image,x:"138",y:"54",width:"24",height:"24"},null,8,V)):C("",!0)],8,L)]))),128)),(s(!0),o(f,null,c(l(g),(e,i)=>(s(),o("g",{key:i},[t("polygon",{points:`${e.x},${e.y-4.5} ${e.x+2.4},${e.y+2.2} ${e.x-2.4},${e.y+2.2}`,fill:"#e0f2fe",stroke:"#7dd3fc","stroke-width":"0.6",opacity:"0.95"},null,8,D)]))),128)),r[0]||(r[0]=S('<circle cx="150" cy="150" r="30" fill="url(#iceCore)" stroke="#e0f2fe" stroke-width="2"></circle><circle cx="150" cy="150" r="16" fill="#0369a1" stroke="#bae6fd" stroke-width="1.5"></circle><text x="150" y="156" text-anchor="middle" font-size="14">❄️</text><defs><radialGradient id="iceCore" cx="40%" cy="35%" r="65%"><stop offset="0%" stop-color="#e0f2fe"></stop><stop offset="55%" stop-color="#38bdf8"></stop><stop offset="100%" stop-color="#0369a1"></stop></radialGradient></defs>',4))],4))])]),t("div",G,[t("div",{style:d(l(x)),class:"w-8 h-[42px] origin-[50%_10px] will-change-transform"},[...r[1]||(r[1]=[t("svg",{width:"32",height:"42",viewBox:"0 0 32 42",fill:"none"},[t("path",{d:"M16 42L4 12C2 7 6 2 11 2H21C26 2 30 7 28 12L16 42Z",fill:"#38bdf8",stroke:"#e0f2fe","stroke-width":"1.5"}),t("circle",{cx:"16",cy:"10",r:"4",fill:"#e0f2fe",stroke:"#0284c7","stroke-width":"1"})],-1)])],4)])]))}});export{W as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{u as w,t as b}from"./wheel-classiccasinowheel-DHnlMe5J.js";import{d as k,a as s,b as o,e,n as d,u as l,F as f,f as c,t as v,g as F,h as S}from"./vendor-vue-kYoPQr5S.js";const B={class:"relative w-full max-w-[340px] xs:max-w-[380px] sm:max-w-[420px] aspect-square mx-auto select-none"},C={class:"absolute inset-0 rounded-full p-2.5 shadow-[0_0_35px_rgba(249,115,22,0.55)]",style:{background:"linear-gradient(145deg, #fbbf24, #f97316, #dc2626, #7f1d1d)"}},z={class:"w-full h-full rounded-full border-2 border-orange-300 relative overflow-hidden bg-[#1a0505]"},G=["d","fill"],L=["transform"],N={x:"150",y:"45","text-anchor":"middle",fill:"#fff7ed","font-size":"11","font-weight":"800",class:"wheel-slice-text font-sans"},T=["href"],V=["cx","cy","transform"],$={class:"absolute -top-3 left-1/2 -translate-x-1/2 z-20 pointer-events-none drop-shadow-[0_0_12px_#f97316]"},W=k({__name:"FireFlameWheel",props:{segments:{},targetSegmentIndex:{},spinning:{type:Boolean}},emits:["spin-finished"],setup(a,{emit:p}){const h=a,m=p,{wheelStyle:u,pointerStyle:x,getSlicePath:g,getTextRotation:_,pegs:y}=w(h,()=>m("spin-finished"),{radius:138,pegRadius:143}),n=["#7f1d1d","#b91c1c","#ea580c","#c2410c","#9a3412","#450a0a"];return(D,i)=>(s(),o("div",B,[e("div",C,[e("div",z,[(s(),o("svg",{class:"w-full h-full",style:d(l(u)),viewBox:"0 0 300 300"},[(s(!0),o(f,null,c(a.segments,(t,r)=>(s(),o("g",{key:t.id},[e("path",{d:l(g)(r),fill:t.color||n[r%n.length],stroke:"#fdba74","stroke-width":"1.2"},null,8,G),e("g",{transform:l(_)(r)},[e("text",N,v(l(b)(t.title)),1),t.image?(s(),o("image",{key:0,href:t.image,x:"138",y:"54",width:"24",height:"24"},null,8,T)):F("",!0)],8,L)]))),128)),(s(!0),o(f,null,c(l(y),(t,r)=>(s(),o("g",{key:r},[e("ellipse",{cx:t.x,cy:t.y,rx:"2.2",ry:"4.2",fill:"url(#flameTip)",transform:`rotate(${r*15} ${t.x} ${t.y})`},null,8,V)]))),128)),i[0]||(i[0]=S('<circle cx="150" cy="150" r="30" fill="url(#emberCore)" stroke="#fdba74" stroke-width="2"></circle><circle cx="150" cy="150" r="16" fill="#7f1d1d" stroke="#f97316" stroke-width="1.5"></circle><text x="150" y="156" text-anchor="middle" font-size="14">🔥</text><defs><radialGradient id="flameTip" cx="50%" cy="20%" r="80%"><stop offset="0%" stop-color="#fef08a"></stop><stop offset="55%" stop-color="#f97316"></stop><stop offset="100%" stop-color="#b91c1c"></stop></radialGradient><radialGradient id="emberCore" cx="40%" cy="35%" r="65%"><stop offset="0%" stop-color="#fdba74"></stop><stop offset="100%" stop-color="#7f1d1d"></stop></radialGradient></defs>',4))],4))])]),e("div",$,[e("div",{style:d(l(x)),class:"w-9 h-[44px] origin-[50%_12px] will-change-transform"},[...i[1]||(i[1]=[e("svg",{width:"36",height:"44",viewBox:"0 0 36 44",fill:"none"},[e("path",{d:"M18 44L5 14C3 9 7 3 12 3H24C29 3 33 9 31 14L18 44Z",fill:"#f97316",stroke:"#fef08a","stroke-width":"1.5"}),e("circle",{cx:"18",cy:"12",r:"4.5",fill:"#dc2626",stroke:"#fef08a","stroke-width":"1.2"})],-1)])],4)])]))}});export{W as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{u as v,t as S}from"./wheel-classiccasinowheel-DHnlMe5J.js";import{d as B,a as o,b as n,e as t,n as u,u as r,F as i,f as a,t as F,g as z,c as C}from"./vendor-vue-kYoPQr5S.js";const M={class:"relative w-full max-w-[340px] xs:max-w-[380px] sm:max-w-[420px] aspect-square mx-auto select-none"},L={class:"absolute inset-0 rounded-full p-2.5 shadow-[0_0_40px_rgba(99,102,241,0.45)]",style:{background:"linear-gradient(135deg, #6366f1, #a855f7, #0ea5e9)"}},P={class:"w-full h-full rounded-full border border-indigo-300/40 relative overflow-hidden bg-[#050816]"},D=["cx","cy","r"],I=["d","fill"],N=["transform"],R={x:"150",y:"45","text-anchor":"middle",fill:"#eef2ff","font-size":"11","font-weight":"700",class:"wheel-slice-text font-sans"},V=["href"],W=["cx","cy"],q=["cx","cy"],A={class:"absolute -top-3 left-1/2 -translate-x-1/2 z-20 pointer-events-none drop-shadow-[0_0_10px_#a78bfa]"},H=B({__name:"GalaxySpaceWheel",props:{segments:{},targetSegmentIndex:{},spinning:{type:Boolean}},emits:["spin-finished"],setup(c,{emit:h}){const x=c,m=h,{wheelStyle:y,pointerStyle:p,getSlicePath:g,getTextRotation:_,pegs:w}=v(x,()=>m("spin-finished"),{radius:138,pegRadius:143}),d=["#1e1b4b","#312e81","#4c1d95","#0f172a","#1e3a8a","#581c87"],k=C(()=>Array.from({length:28},(b,s)=>{const e=s*47%360,l=40+s*13%90,f=(e-90)*Math.PI/180;return{x:150+l*Math.cos(f),y:150+l*Math.sin(f),s:.6+s%3*.4}}));return(b,s)=>(o(),n("div",M,[t("div",L,[t("div",P,[(o(),n("svg",{class:"w-full h-full",style:u(r(y)),viewBox:"0 0 300 300"},[(o(!0),n(i,null,a(k.value,(e,l)=>(o(),n("circle",{key:"st"+l,cx:e.x,cy:e.y,r:e.s,fill:"#e0e7ff",opacity:"0.7"},null,8,D))),128)),(o(!0),n(i,null,a(c.segments,(e,l)=>(o(),n("g",{key:e.id},[t("path",{d:r(g)(l),fill:e.color||d[l%d.length],stroke:"#a5b4fc","stroke-width":"1","stroke-opacity":"0.6"},null,8,I),t("g",{transform:r(_)(l)},[t("text",R,F(r(S)(e.title)),1),e.image?(o(),n("image",{key:0,href:e.image,x:"138",y:"54",width:"24",height:"24"},null,8,V)):z("",!0)],8,N)]))),128)),(o(!0),n(i,null,a(r(w),(e,l)=>(o(),n("g",{key:l},[t("circle",{cx:e.x,cy:e.y,r:"3",fill:"#0f172a",stroke:"#c4b5fd","stroke-width":"1"},null,8,W),t("circle",{cx:e.x,cy:e.y,r:"1.4",fill:"#a78bfa"},null,8,q)]))),128)),s[0]||(s[0]=t("circle",{cx:"150",cy:"150",r:"30",fill:"#0b1026",stroke:"#818cf8","stroke-width":"2"},null,-1)),s[1]||(s[1]=t("circle",{cx:"150",cy:"150",r:"18",fill:"#312e81",stroke:"#e879f9","stroke-width":"1.5"},null,-1)),s[2]||(s[2]=t("text",{x:"150",y:"156","text-anchor":"middle","font-size":"14"},"🌌",-1))],4))])]),t("div",A,[t("div",{style:u(r(p)),class:"w-8 h-[42px] origin-[50%_10px] will-change-transform"},[...s[3]||(s[3]=[t("svg",{width:"32",height:"42",viewBox:"0 0 32 42",fill:"none"},[t("path",{d:"M16 42L4 12C2 7 6 2 11 2H21C26 2 30 7 28 12L16 42Z",fill:"#a78bfa",stroke:"#fff","stroke-width":"1.4"}),t("circle",{cx:"16",cy:"10",r:"4",fill:"#e879f9"})],-1)])],4)])]))}});export{H as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{u as _,t as k}from"./wheel-classiccasinowheel-DHnlMe5J.js";import{d as b,a as o,b as s,e,n as a,u as r,F as c,f as n,t as v,g as G,h as d}from"./vendor-vue-kYoPQr5S.js";const P={class:"relative w-full max-w-[340px] xs:max-w-[380px] sm:max-w-[420px] aspect-square mx-auto select-none"},S={class:"absolute inset-0 rounded-full p-3 shadow-[0_15px_40px_rgba(0,0,0,0.8)]",style:{background:"linear-gradient(135deg, #d4af37 0%, #f3e5ab 25%, #aa7c11 50%, #fdf6c7 75%, #8a6408 100%)"}},B={class:"w-full h-full rounded-full border-2 border-amber-200/60 relative overflow-hidden bg-gradient-to-b from-stone-900 to-black"},C=["d","fill"],L=["transform"],z={x:"150",y:"45","text-anchor":"middle",fill:"#fdf6c7","font-size":"11","font-weight":"700",class:"wheel-slice-text font-sans tracking-wider"},D=["href"],F=["cx","cy"],V=["cx","cy"],N=["cx","cy"],H={class:"absolute -top-3.5 left-1/2 -translate-x-1/2 z-20 pointer-events-none drop-shadow-[0_4px_10px_rgba(212,175,55,0.6)]"},W=b({__name:"LuxuryGoldWheel",props:{segments:{},targetSegmentIndex:{},spinning:{type:Boolean}},emits:["spin-finished"],setup(f,{emit:p}){const u=f,x=p,{wheelStyle:h,pointerStyle:y,getSlicePath:m,getTextRotation:g,pegs:w}=_(u,()=>x("spin-finished"),{radius:138,pegRadius:143});return(I,i)=>(o(),s("div",P,[e("div",S,[e("div",B,[(o(),s("svg",{class:"w-full h-full",style:a(r(h)),viewBox:"0 0 300 300"},[(o(!0),s(c,null,n(f.segments,(t,l)=>(o(),s("g",{key:t.id},[e("path",{d:r(m)(l),fill:t.color||(l%2===0?"#1c1917":"#0c0a09"),stroke:"#d4af37","stroke-width":"1.5"},null,8,C),e("g",{transform:r(g)(l)},[e("text",z,v(r(k)(t.title)),1),t.image?(o(),s("image",{key:0,href:t.image,x:"138",y:"54",width:"24",height:"24"},null,8,D)):G("",!0)],8,L)]))),128)),(o(!0),s(c,null,n(r(w),(t,l)=>(o(),s("g",{key:l},[e("circle",{cx:t.x,cy:t.y,r:"4.2",fill:"#1c1917",stroke:"#aa7c11","stroke-width":"0.7"},null,8,F),e("circle",{cx:t.x,cy:t.y,r:"3.3",fill:"url(#luxuryPeg3D)",stroke:"#fdf6c7","stroke-width":"0.5"},null,8,V),e("circle",{cx:t.x-.9,cy:t.y-1,r:"0.8",fill:"#ffffff",opacity:"0.85"},null,8,N)]))),128)),i[0]||(i[0]=d('<circle cx="150" cy="150" r="30" fill="url(#luxuryGoldGrad)" stroke="#fdf6c7" stroke-width="2"></circle><circle cx="150" cy="150" r="22" fill="#1c1917" stroke="#aa7c11" stroke-width="1"></circle><text x="150" y="156" text-anchor="middle" font-size="14" font-family="serif" font-weight="bold" fill="#fdf6c7">VIP</text><defs><linearGradient id="luxuryGoldGrad" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" stop-color="#fdf6c7"></stop><stop offset="50%" stop-color="#d4af37"></stop><stop offset="100%" stop-color="#8a6408"></stop></linearGradient><radialGradient id="luxuryPeg3D" cx="35%" cy="30%" r="70%"><stop offset="0%" stop-color="#ffffff"></stop><stop offset="30%" stop-color="#fdf6c7"></stop><stop offset="70%" stop-color="#d4af37"></stop><stop offset="100%" stop-color="#543d03"></stop></radialGradient></defs>',4))],4))])]),e("div",H,[e("div",{style:a(r(y)),class:"w-9 h-[46px] origin-[50%_12px] will-change-transform"},[...i[1]||(i[1]=[d('<svg width="36" height="46" viewBox="0 0 36 46" fill="none" class="overflow-visible"><path d="M18 46L5 14C3 9 7 3 12 3H24C29 3 33 9 31 14L18 46Z" fill="url(#luxuryPointerGrad)" stroke="#fff" stroke-width="1.2"></path><path d="M18 41L8 14C7 11 9 6 13 6H23C27 6 29 11 28 14L18 41Z" fill="none" stroke="rgba(255,255,255,0.4)" stroke-width="0.8"></path><circle cx="18" cy="12" r="4.5" fill="#1c1917" stroke="#fdf6c7" stroke-width="1.5"></circle><circle cx="17.2" cy="10.8" r="1.1" fill="#ffffff" opacity="0.85"></circle><defs><linearGradient id="luxuryPointerGrad" x1="0" y1="0" x2="1" y2="1"><stop offset="0%" stop-color="#fdf6c7"></stop><stop offset="50%" stop-color="#d4af37"></stop><stop offset="100%" stop-color="#543d03"></stop></linearGradient></defs></svg>',1)])],4)])]))}});export{W as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{u as y,t as _}from"./wheel-classiccasinowheel-DHnlMe5J.js";import{d as v,a as s,b as l,e,n as a,u as i,F as f,f as d,t as b,g as k}from"./vendor-vue-kYoPQr5S.js";const B={class:"relative w-full max-w-[340px] xs:max-w-[380px] sm:max-w-[420px] aspect-square mx-auto select-none"},S={class:"absolute inset-0 rounded-full p-2 bg-slate-800/80 backdrop-blur border border-slate-700 shadow-2xl"},F={class:"w-full h-full rounded-full relative overflow-hidden bg-slate-900"},C=["d","fill"],z=["transform"],L={x:"150",y:"45","text-anchor":"middle",fill:"#ffffff","font-size":"11","font-weight":"600",class:"wheel-slice-text tracking-normal font-sans"},P=["href"],D=["cx","cy"],M={class:"absolute -top-2.5 left-1/2 -translate-x-1/2 z-20 pointer-events-none drop-shadow-md"},W=v({__name:"MinimalFlatWheel",props:{segments:{},targetSegmentIndex:{},spinning:{type:Boolean}},emits:["spin-finished"],setup(r,{emit:c}){const m=r,u=c,{wheelStyle:h,pointerStyle:p,getSlicePath:x,getTextRotation:g,pegs:w}=y(m,()=>u("spin-finished"),{radius:142,pegRadius:144});return(N,o)=>(s(),l("div",B,[e("div",S,[e("div",F,[(s(),l("svg",{class:"w-full h-full",style:a(i(h)),viewBox:"0 0 300 300"},[(s(!0),l(f,null,d(r.segments,(t,n)=>(s(),l("g",{key:t.id},[e("path",{d:i(x)(n),fill:t.color||(n%2===0?"#3b82f6":"#6366f1"),stroke:"#ffffff","stroke-width":"1"},null,8,C),e("g",{transform:i(g)(n)},[e("text",L,b(i(_)(t.title)),1),t.image?(s(),l("image",{key:0,href:t.image,x:"138",y:"54",width:"24",height:"24"},null,8,P)):k("",!0)],8,z)]))),128)),(s(!0),l(f,null,d(i(w),(t,n)=>(s(),l("circle",{key:n,cx:t.x,cy:t.y,r:"2",fill:"#ffffff",opacity:"0.8"},null,8,D))),128)),o[0]||(o[0]=e("circle",{cx:"150",cy:"150",r:"28",fill:"#ffffff",filter:"drop-shadow(0 2px 6px rgba(0,0,0,0.2))"},null,-1)),o[1]||(o[1]=e("circle",{cx:"150",cy:"150",r:"14",fill:"#0f172a"},null,-1))],4))])]),e("div",M,[e("div",{style:a(i(p)),class:"w-7 h-[34px] origin-[50%_6px] will-change-transform"},[...o[2]||(o[2]=[e("svg",{width:"28",height:"34",viewBox:"0 0 28 34",fill:"none",class:"overflow-visible"},[e("path",{d:"M14 34L2 6C0.5 3 2.5 0 6 0H22C25.5 0 27.5 3 26 6L14 34Z",fill:"#3b82f6",stroke:"#ffffff","stroke-width":"2"})],-1)])],4)])]))}});export{W as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{u as w,t as _}from"./wheel-classiccasinowheel-DHnlMe5J.js";import{d as k,a as l,b as i,e,n as f,u as o,F as a,f as c,t as b,g as v}from"./vendor-vue-kYoPQr5S.js";const B={class:"relative w-full max-w-[340px] xs:max-w-[380px] sm:max-w-[420px] aspect-square mx-auto select-none"},S={class:"absolute inset-0 rounded-full p-2 bg-gradient-to-tr from-cyan-500 via-fuchsia-600 to-blue-600 shadow-[0_0_30px_rgba(0,240,255,0.4)] animate-neon-pulse"},C={class:"w-full h-full rounded-full border-2 border-cyan-400 relative overflow-hidden bg-[#070913]"},F=["d","fill"],z=["transform"],L={x:"150",y:"45","text-anchor":"middle",fill:"#ffffff","font-size":"11","font-weight":"800",class:"wheel-slice-text tracking-wide uppercase font-sans"},N=["href"],P=["cx","cy"],D=["cx","cy"],R={class:"absolute -top-3 left-1/2 -translate-x-1/2 z-20 pointer-events-none drop-shadow-[0_0_12px_#00f0ff]"},E=k({__name:"NeonCyberWheel",props:{segments:{},targetSegmentIndex:{},spinning:{type:Boolean}},emits:["spin-finished"],setup(n,{emit:d}){const u=n,p=d,{wheelStyle:m,pointerStyle:x,getSlicePath:h,getTextRotation:y,pegs:g}=w(u,()=>p("spin-finished"),{radius:138,pegRadius:143});return(V,t)=>(l(),i("div",B,[e("div",S,[e("div",C,[(l(),i("svg",{class:"w-full h-full",style:f(o(m)),viewBox:"0 0 300 300"},[(l(!0),i(a,null,c(n.segments,(s,r)=>(l(),i("g",{key:s.id},[e("path",{d:o(h)(r),fill:s.color||(r%2===0?"#111827":"#1e1b4b"),stroke:"#00f0ff","stroke-width":"1.5","stroke-opacity":"0.8"},null,8,F),e("g",{transform:o(y)(r)},[e("text",L,b(o(_)(s.title)),1),s.image?(l(),i("image",{key:0,href:s.image,x:"138",y:"54",width:"24",height:"24"},null,8,N)):v("",!0)],8,z)]))),128)),(l(!0),i(a,null,c(o(g),(s,r)=>(l(),i("g",{key:r},[e("circle",{cx:s.x,cy:s.y,r:"3.2",fill:"#05070e",stroke:"#00f0ff","stroke-width":"1"},null,8,P),e("circle",{cx:s.x,cy:s.y,r:"1.5",fill:"#00f0ff"},null,8,D)]))),128)),t[0]||(t[0]=e("circle",{cx:"150",cy:"150",r:"32",fill:"#05070e",stroke:"#00f0ff","stroke-width":"2"},null,-1)),t[1]||(t[1]=e("circle",{cx:"150",cy:"150",r:"22",fill:"#1e1b4b",stroke:"#ec4899","stroke-width":"2"},null,-1)),t[2]||(t[2]=e("circle",{cx:"150",cy:"150",r:"10",fill:"#00f0ff",class:"animate-ping",opacity:"0.3"},null,-1)),t[3]||(t[3]=e("circle",{cx:"150",cy:"150",r:"8",fill:"#00f0ff"},null,-1))],4))])]),e("div",R,[e("div",{style:f(o(x)),class:"w-[34px] h-[42px] origin-[50%_10px] will-change-transform"},[...t[4]||(t[4]=[e("svg",{width:"34",height:"42",viewBox:"0 0 34 42",fill:"none",class:"overflow-visible"},[e("path",{d:"M17 42L4 12C2 7 6 2 11 2H23C28 2 32 7 30 12L17 42Z",fill:"#00f0ff",stroke:"#ffffff","stroke-width":"1.5"}),e("circle",{cx:"17",cy:"10",r:"4",fill:"#ff007f"})],-1)])],4)])]))}});export{E as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{u as k,t as v}from"./wheel-classiccasinowheel-DHnlMe5J.js";import{d as B,a as l,b as o,e,n as c,u as i,F as d,f as h,t as C,g as S,c as P}from"./vendor-vue-kYoPQr5S.js";const z={class:"relative w-full max-w-[340px] xs:max-w-[380px] sm:max-w-[420px] aspect-square mx-auto select-none"},F={class:"absolute inset-0 rounded-full p-3.5 bg-amber-400 border-4 border-amber-600 shadow-[0_12px_0_#b45309,0_20px_25px_rgba(0,0,0,0.5)]"},L={class:"w-full h-full rounded-full border-4 border-white relative overflow-hidden bg-amber-50"},D=["d","fill"],N=["transform"],R={x:"150",y:"45","text-anchor":"middle",fill:"#ffffff","font-size":"12","font-weight":"900",class:"wheel-slice-text font-sans tracking-wide",style:{"paint-order":"stroke fill",stroke:"rgba(0,0,0,0.3)","stroke-width":"2px"}},V=["href"],W=["cx","cy"],q=["cx","cy","fill"],E=["cx","cy"],H={class:"absolute -top-4 left-1/2 -translate-x-1/2 z-20 pointer-events-none drop-shadow-[0_6px_0_#991b1b]"},T=B({__name:"PlayfulCartoonWheel",props:{segments:{},targetSegmentIndex:{},spinning:{type:Boolean}},emits:["spin-finished"],setup(n,{emit:x}){const u=n,m=x,{wheelStyle:p,pointerStyle:w,getSlicePath:y,getTextRotation:_,makePegs:b}=k(u,()=>m("spin-finished"),{radius:138,pegRadius:142}),f=["#f43f5e","#8b5cf6","#06b6d4","#10b981","#f59e0b","#ec4899"],g=P(()=>b(24,142).map((a,s)=>({...a,color:f[s%f.length]})));return(a,s)=>(l(),o("div",z,[e("div",F,[e("div",L,[(l(),o("svg",{class:"w-full h-full",style:c(i(p)),viewBox:"0 0 300 300"},[(l(!0),o(d,null,h(n.segments,(t,r)=>(l(),o("g",{key:t.id},[e("path",{d:i(y)(r),fill:t.color||f[r%f.length],stroke:"#ffffff","stroke-width":"3"},null,8,D),e("g",{transform:i(_)(r)},[e("text",R,C(i(v)(t.title)),1),t.image?(l(),o("image",{key:0,href:t.image,x:"138",y:"54",width:"24",height:"24"},null,8,V)):S("",!0)],8,N)]))),128)),(l(!0),o(d,null,h(g.value,(t,r)=>(l(),o("g",{key:r},[e("circle",{cx:t.x,cy:t.y,r:"4",fill:"#ffffff",stroke:"#b45309","stroke-width":"1.5"},null,8,W),e("circle",{cx:t.x,cy:t.y,r:"2.8",fill:t.color},null,8,q),e("circle",{cx:t.x-.8,cy:t.y-.8,r:"0.8",fill:"#ffffff"},null,8,E)]))),128)),s[0]||(s[0]=e("circle",{cx:"150",cy:"150",r:"32",fill:"#ef4444",stroke:"#ffffff","stroke-width":"4"},null,-1)),s[1]||(s[1]=e("circle",{cx:"150",cy:"150",r:"22",fill:"#facc15",stroke:"#b45309","stroke-width":"2"},null,-1)),s[2]||(s[2]=e("text",{x:"150",y:"157","text-anchor":"middle","font-size":"20"},"✨",-1))],4))])]),e("div",H,[e("div",{style:c(i(w)),class:"w-[42px] h-[50px] origin-[50%_14px] will-change-transform"},[...s[3]||(s[3]=[e("svg",{width:"42",height:"50",viewBox:"0 0 42 50",fill:"none",class:"overflow-visible"},[e("path",{d:"M21 50L6 16C4 11 8 4 14 4H28C34 4 38 11 36 16L21 50Z",fill:"#ef4444",stroke:"#ffffff","stroke-width":"3"}),e("circle",{cx:"21",cy:"14",r:"6",fill:"#facc15",stroke:"#ffffff","stroke-width":"2"})],-1)])],4)])]))}});export{T as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{u as g,t as _}from"./wheel-classiccasinowheel-DHnlMe5J.js";import{d as b,a as s,b as l,e,n as c,u as i,F as d,f,t as v,g as B,h as S}from"./vendor-vue-kYoPQr5S.js";const C={class:"relative w-full max-w-[340px] xs:max-w-[380px] sm:max-w-[420px] aspect-square mx-auto select-none"},F={class:"absolute inset-0 rounded-full p-3 shadow-[0_12px_30px_rgba(60,30,10,0.55)]",style:{background:"linear-gradient(145deg, #c9a36a 0%, #6b3f1e 40%, #3e2412 100%)"}},z={class:"w-full h-full rounded-full border-[3px] border-[#c9a36a] relative overflow-hidden",style:{background:"radial-gradient(circle at 40% 35%, #5c3a1e 0%, #2a160c 70%)"}},A=["d","fill"],D=["transform"],G={x:"150",y:"45","text-anchor":"middle",fill:"#fff8e7","font-size":"11","font-weight":"700",class:"wheel-slice-text font-sans"},H=["href"],L=["cx","cy"],N=["cx","cy"],R=["x1","y1","x2","y2"],V={class:"absolute -top-3 left-1/2 -translate-x-1/2 z-20 pointer-events-none drop-shadow-lg"},E=b({__name:"RusticWoodWheel",props:{segments:{},targetSegmentIndex:{},spinning:{type:Boolean}},emits:["spin-finished"],setup(a,{emit:x}){const u=a,h=x,{wheelStyle:p,pointerStyle:y,getSlicePath:m,getTextRotation:w,pegs:k}=g(u,()=>h("spin-finished"),{radius:138,pegRadius:143}),n=["#8B5A2B","#A0522D","#6B4226","#C4A484","#8B5A2B","#5D4037"];return(W,o)=>(s(),l("div",C,[e("div",F,[e("div",z,[(s(),l("svg",{class:"w-full h-full",style:c(i(p)),viewBox:"0 0 300 300"},[o[0]||(o[0]=e("circle",{cx:"150",cy:"150",r:"136",fill:"none",stroke:"#4a2c14","stroke-width":"8",opacity:"0.35"},null,-1)),o[1]||(o[1]=e("circle",{cx:"150",cy:"150",r:"120",fill:"none",stroke:"#7a4a22","stroke-width":"2",opacity:"0.25"},null,-1)),(s(!0),l(d,null,f(a.segments,(t,r)=>(s(),l("g",{key:t.id},[e("path",{d:i(m)(r),fill:t.color||n[r%n.length],stroke:"#3e2723","stroke-width":"1.5"},null,8,A),e("g",{transform:i(w)(r)},[e("text",G,v(i(_)(t.title)),1),t.image?(s(),l("image",{key:0,href:t.image,x:"138",y:"54",width:"24",height:"24"},null,8,H)):B("",!0)],8,D)]))),128)),(s(!0),l(d,null,f(i(k),(t,r)=>(s(),l("g",{key:r},[e("circle",{cx:t.x,cy:t.y,r:"4",fill:"#2c1810",stroke:"#8d6e63","stroke-width":"0.8"},null,8,L),e("circle",{cx:t.x,cy:t.y,r:"2.6",fill:"url(#woodBolt)"},null,8,N),e("line",{x1:t.x-1.6,y1:t.y,x2:t.x+1.6,y2:t.y,stroke:"#5d4037","stroke-width":"0.7"},null,8,R)]))),128)),o[2]||(o[2]=S('<circle cx="150" cy="150" r="30" fill="url(#woodHub)" stroke="#d7ccc8" stroke-width="2"></circle><circle cx="150" cy="150" r="18" fill="#3e2723" stroke="#a1887f" stroke-width="1.5"></circle><text x="150" y="156" text-anchor="middle" font-size="14" fill="#efebe9">🪵</text><defs><radialGradient id="woodBolt" cx="35%" cy="30%" r="70%"><stop offset="0%" stop-color="#efebe9"></stop><stop offset="50%" stop-color="#9e9e9e"></stop><stop offset="100%" stop-color="#424242"></stop></radialGradient><radialGradient id="woodHub" cx="40%" cy="35%" r="65%"><stop offset="0%" stop-color="#bcaaa4"></stop><stop offset="100%" stop-color="#5d4037"></stop></radialGradient></defs>',4))],4))])]),e("div",V,[e("div",{style:c(i(y)),class:"w-9 h-[44px] origin-[50%_12px] will-change-transform"},[...o[3]||(o[3]=[e("svg",{width:"36",height:"44",viewBox:"0 0 36 44",fill:"none"},[e("path",{d:"M18 44L5 14C3 9 7 3 12 3H24C29 3 33 9 31 14L18 44Z",fill:"#8d6e63",stroke:"#efebe9","stroke-width":"1.5"}),e("circle",{cx:"18",cy:"12",r:"4.5",fill:"#5d4037",stroke:"#d7ccc8","stroke-width":"1.2"})],-1)])],4)])]))}});export{E as default};
|
||||
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fa" dir="rtl">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🎡</text></svg>" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<title>گردونه شانس و قرعهکشی</title>
|
||||
<!-- Google Font Vazirmatn -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800;900&display=swap" rel="stylesheet">
|
||||
<script type="module" crossorigin src="/assets/index-DZsNn1RR.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/vendor-vue-kYoPQr5S.js">
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-nuCNT7vr.css">
|
||||
</head>
|
||||
<body class="bg-slate-900 text-slate-100 font-sans antialiased selection:bg-brand-500 selection:text-white overflow-x-hidden min-h-screen">
|
||||
<div id="app"></div>␍
|
||||
</body>
|
||||
</html>
|
||||
+19
-5
@@ -1,9 +1,18 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
server_name _;
|
||||
|
||||
root /usr/share/nginx/html;
|
||||
index index.html;
|
||||
|
||||
# Docker's embedded DNS. Without re-resolving at request time, nginx caches the
|
||||
# api container's IP from startup and keeps returning 502 ("no live upstreams")
|
||||
# after the api container restarts with a new IP.
|
||||
resolver 127.0.0.11 valid=10s ipv6=off;
|
||||
|
||||
location /api/ {
|
||||
proxy_pass http://api:3000/api/;
|
||||
set $api_upstream http://luckywheel-api:3000;
|
||||
proxy_pass $api_upstream$request_uri;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection 'upgrade';
|
||||
@@ -15,7 +24,8 @@ server {
|
||||
}
|
||||
|
||||
location /uploads/ {
|
||||
proxy_pass http://api:3000/uploads/;
|
||||
set $api_upstream http://luckywheel-api:3000;
|
||||
proxy_pass $api_upstream$request_uri;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
@@ -23,8 +33,12 @@ server {
|
||||
}
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/html;
|
||||
index index.html index.htm;
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
location ~* \.(?:ico|css|js|gif|jpe?g|png|woff2?|eot|ttf|svg)$ {
|
||||
expires 6M;
|
||||
access_log off;
|
||||
add_header Cache-Control "public";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user