PageSourceSearch

https://bacctrack-7ha7hyw7.manus.space/assets/AdminLuckyDrawPage-ClL0vq5H.js

js bacctrack-7ha7hyw7.manus.space collected 2026-10-03 05:02:11 UTC 12,366 bytes, 1 lines download raw bytes

1import{t as d,r as u,b as l,j as a,S as P}from"./index-C3Qps0S4.js";import{C as k,a as D}from"./card-DtXeaqs_.js";import{B as r}from"./button-xdpkFraK.js";import{B as L}from"./badge-DBCec9J8.js";import{I as x}from"./input-Dj8udylZ.js";import{S as b,a as N,b as z,c as v,d as h}from"./select-C8zBw1Za.js";import{S as f}from"./skeleton-Dte_fR4v.js";import{D as C,a as S,b as T,c as V,d as U}from"./dialog-BY1FISUw.js";import{P as j}from"./plus-BLlLQSZn.js";import{T as M}from"./trophy-C56YBVkm.js";import{T as I}from"./trash-2-DOBLe4Vk.js";import"./index-Jol-UBUv.js";import"./index-BdQq_4o_.js";import"./index-Dr02_Kwf.js";import"./index-BBBp6CNx.js";import"./chevron-up-F-ZIdiqt.js";import"./index-BKUanX19.js";function ea(){const{data:n,isLoading:m,refetch:g}=d.luckyDraw.adminCampaigns.useQuery(),o=d.luckyDraw.adminCreateCampaign.useMutation({onSuccess:()=>{g(),t(!1),l.success("สร้างแคมเปญสำเร็จ")}}),p=d.luckyDraw.adminUpdateCampaign.useMutation({onSuccess:()=>{g(),l.success("อัปเดตสำเร็จ")}}),[c,t]=u.useState(!1),[s,A]=u.useState(null),[i,w]=u.useState({name:"",dailyLimitPerUser:1});return a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:23",className:"space-y-6",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:24",className:"flex items-center justify-between",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:25",children:[a.jsxs("h1",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:26",className:"text-2xl font-bold text-orange-400 flex items-center gap-2",children:[a.jsx(P,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:27",className:"w-6 h-6"})," กงล้อนำโชค"]}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:29",className:"text-sm text-zinc-500 mt-1",children:"จัดการแคมเปญกงล้อและรางวัล"})]}),a.jsxs(C,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:31",open:c,onOpenChange:t,children:[a.jsx(S,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:32",asChild:!0,children:a.jsxs(r,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:33",className:"bg-orange-500 hover:bg-orange-600",children:[a.jsx(j,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:34",className:"w-4 h-4 mr-1"})," สร้างแคมเปญ"]})}),a.jsxs(T,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:37",className:"bg-zinc-900 border-zinc-800",children:[a.jsx(V,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:38",children:a.jsx(U,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:39",className:"text-orange-400",children:"สร้างแคมเปญกงล้อใหม่"})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:41",className:"space-y-4",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:42",children:[a.jsx("label",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:43",className:"text-sm text-zinc-400",children:"ชื่อแคมเปญ"}),a.jsx(x,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:44",value:i.name,onChange:e=>w({...i,name:e.target.value}),placeholder:"เช่น กงล้อนำโชคประจำสัปดาห์",className:"bg-zinc-800 border-zinc-700"})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:51",children:[a.jsx("label",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:52",className:"text-sm text-zinc-400",children:"จำกัดต่อวัน/คน"}),a.jsx(x,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:53",type:"number",value:i.dailyLimitPerUser,onChange:e=>w({...i,dailyLimitPerUser:Number(e.target.value)}),className:"bg-zinc-800 border-zinc-700"})]}),a.jsx(r,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:60",onClick:()=>{if(!i.name.trim()){l.error("กรุณาใส่ชื่อ");return}o.mutate({name:i.name,dailyLimitPerUser:i.dailyLimitPerUser})},disabled:o.isPending,className:"w-full bg-orange-500 hover:bg-orange-600",children:o.isPending?"กำลังสร้าง...":"สร้างแคมเปญ"})]})]})]})]}),m?a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:76",className:"grid gap-3",children:Array.from({length:3}).map((e,y)=>a.jsx(f,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:77",className:"h-24"}
1,y))}):a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:80",className:"space-y-4",children:!n||n.length===0?a.jsx(k,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:82",className:"bg-zinc-900/50 border-zinc-800",children:a.jsx(D,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:83",className:"py-8 text-center text-zinc-500",children:'ยังไม่มีแคมเปญ กดปุ่ม "สร้างแคมเปญ" เพื่อเริ่มต้น'})}):n.map(e=>a.jsx(k,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:89",className:`border-zinc-800 ${e.status==="active"?"bg-zinc-900/50 border-l-4 border-l-green-500":"bg-zinc-900/30"}`,children:a.jsxs(D,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:90",className:"p-4",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:91",className:"flex items-center justify-between mb-3",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:92",className:"flex items-center gap-3",children:[a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:93",className:"w-10 h-10 rounded-lg bg-yellow-500/20 flex items-center justify-center",children:a.jsx(P,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:94",className:"w-5 h-5 text-yellow-400"})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:96",children:[a.jsx("p",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:97",className:"font-medium text-zinc-200",children:e.name}),a.jsxs("p",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:98",className:"text-xs text-zinc-500",children:["สุ่มได้ ",e.dailyLimitPerUser," ครั้ง/วัน • ระดับขั้นต่ำ: ",e.minMemberLevel]})]})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:101",className:"flex items-center gap-2",children:[a.jsx(L,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:102",className:e.status==="active"?"bg-green-500/20 text-green-400":"bg-zinc-700 text-zinc-400",children:e.status==="active"?"เปิด":"ปิด"}),a.jsx(r,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:105",variant:"outline",size:"sm",onClick:()=>{const y=e.status==="active"?"inactive":"active";p.mutate({id:e.id,status:y})},className:"text-xs",children:e.status==="active"?"ปิด":"เปิด"})]})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:120",className:"mt-3 pt-3 border-t border-zinc-800",children:[a.jsxs(r,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:121",variant:"ghost",size:"sm",className:"text-orange-400",onClick:()=>A(s===e.id?null:e.id),children:[a.jsx(M,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:127",className:"w-4 h-4 mr-1"}),s===e.id?"ซ่อนรางวัล":"จัดการรางวัล"]}),s===e.id&&a.jsx(B,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:131",campaignId:e.id})]})]})},e.id))})]})}function B({campaignId:n}){const{data:m,refetch:g}=d.luckyDraw.adminGetPrizes.useQuery({campaignId:n}),o=d.luckyDraw.adminCreatePrize.useMutation({onSuccess:()=>{g(),l.success("เพิ่มรางวัลสำเร็จ")}}),p=d.luckyDraw.adminDeletePrize.useMutation({onSuccess:()=>{g(),l.success("ลบรางวัลสำเร็จ")}}),[c,t]=u.useState({prizeName:"",prizeType:"credit",prizeValue:"10",probability:"10",quantity:-1});return a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:158",className:"mt-3 space-y-3",children:[m&&m.length>0&&a.jsx("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:160",className:"space-y-2",children:m.map(s=>a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:162",className:"flex items-center justify-between p-2 rounded bg-zinc-800/50",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:163",className:"flex items-center gap-2",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:164",className:"text-sm text-zinc-200",children:s.prizeName}),a.jsx(L,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:165",variant:"outline",className:"text-xs",children:s.prizeType}),a.jsxs("span",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:166",className:"text-xs text-zinc-500",children:["ค่า: ",s.prizeValue," | โอกาส: ",s.probability,"%"]})]}),a.jsx(r,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:168",variant:"ghost",size:"icon",className:"h-7 w-7 text-red-400",onClick:()=>p.mutate({id:s.id}),children:a.jsx(I,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:174",className:"w-3 h-3"})})]},s.id))}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:182",className:"grid grid-cols-5 ga
1p-2 items-end",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:183",children:[a.jsx("label",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:184",className:"text-xs text-zinc-500",children:"ชื่อรางวัล"}),a.jsx(x,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:185",value:c.prizeName,onChange:s=>t({...c,prizeName:s.target.value}),placeholder:"Point 10",className:"bg-zinc-800 border-zinc-700 h-8 text-sm"})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:192",children:[a.jsx("label",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:193",className:"text-xs text-zinc-500",children:"ประเภท"}),a.jsxs(b,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:194",value:c.prizeType,onValueChange:s=>t({...c,prizeType:s}),children:[a.jsx(N,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:195",className:"bg-zinc-800 border-zinc-700 h-8 text-sm",children:a.jsx(z,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:196"})}),a.jsxs(v,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:198",children:[a.jsx(h,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:199",value:"credit",children:"Point"}),a.jsx(h,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:200",value:"product",children:"สินค้า"}),a.jsx(h,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:201",value:"no_reward",children:"ไม่ได้รางวัล"})]})]})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:205",children:[a.jsx("label",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:206",className:"text-xs text-zinc-500",children:"มูลค่า"}),a.jsx(x,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:207",value:c.prizeValue,onChange:s=>t({...c,prizeValue:s.target.value}),className:"bg-zinc-800 border-zinc-700 h-8 text-sm"})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:213",children:[a.jsx("label",{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:214",className:"text-xs text-zinc-500",children:"โอกาส %"}),a.jsx(x,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:215",value:c.probability,onChange:s=>t({...c,probability:s.target.value}),className:"bg-zinc-800 border-zinc-700 h-8 text-sm"})]}),a.jsx(r,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:221",size:"sm",className:"bg-green-600 hover:bg-green-700 h-8",onClick:()=>{if(!c.prizeName.trim()){l.error("ใส่ชื่อรางวัล");return}o.mutate({campaignId:n,prizeName:c.prizeName,prizeType:c.prizeType,prizeValue:c.prizeValue,probability:c.probability,quantity:c.quantity}),t({...c,prizeName:"",prizeValue:"10",probability:"10"})},children:a.jsx(j,{"data-loc":"client/src/pages/admin/AdminLuckyDrawPage.tsx:237",className:"w-3 h-3"})})]})]})}export{ea as default};

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.