PageSourceSearch

https://bacctrack-7ha7hyw7.manus.space/assets/AdminFormulasPage-Dddj4zRo.js

js bacctrack-7ha7hyw7.manus.space collected 2026-10-03 05:01:55 UTC 10,932 bytes, 1 lines download raw bytes

1import{t as l,r as u,b as p,j as a,S as T}from"./index-C3Qps0S4.js";import{C as P,a as F}from"./card-DtXeaqs_.js";import{B as n}from"./button-xdpkFraK.js";import{I as i}from"./input-Dj8udylZ.js";import{D as A,a as B,b,c as j,d as v}from"./dialog-BY1FISUw.js";import{B as z}from"./badge-DBCec9J8.js";import{S as N,a as C,b as y,c as w,d as r}from"./select-C8zBw1Za.js";import{P as E}from"./plus-BLlLQSZn.js";import{S as V}from"./square-pen-B5oOKm1w.js";import{T as W}from"./trash-2-DOBLe4Vk.js";import"./index-Jol-UBUv.js";import"./index-BKUanX19.js";import"./index-Dr02_Kwf.js";import"./index-BdQq_4o_.js";import"./index-BBBp6CNx.js";import"./chevron-up-F-ZIdiqt.js";function sa(){const{data:x,isLoading:R,refetch:d}=l.admin.formulas.useQuery(),m=l.admin.createFormula.useMutation({onSuccess:()=>{d(),h(!1),p.success("สร้างสูตรสำเร็จ")}}),c=l.admin.updateFormula.useMutation({onSuccess:()=>{d(),g(null),p.success("อัปเดตสำเร็จ")}}),f=l.admin.deleteFormula.useMutation({onSuccess:()=>{d(),p.success("ลบสำเร็จ")}}),[S,h]=u.useState(!1),[o,g]=u.useState(null),[s,t]=u.useState({name:"",description:"",type:"free",algorithm:"pattern_match",winRate:"50.00",credit
1Cost:"0.00"}),k=()=>t({name:"",description:"",type:"free",algorithm:"pattern_match",winRate:"50.00",creditCost:"0.00"}),D=()=>{m.mutate({name:s.name,description:s.description,type:s.type,algorithm:s.algorithm,winRate:s.winRate,creditCost:s.creditCost})},M=()=>{o&&c.mutate({id:o,name:s.name,description:s.description,type:s.type,algorithm:s.algorithm,winRate:s.winRate,creditCost:s.creditCost})},I=e=>{t({name:e.name,description:e.description||"",type:e.isFree===1?"free":"premium",algorithm:e.algorithm||"pattern_match",winRate:e.winRate||"50.00",creditCost:e.cost||"0.00"}),g(e.id)};return a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:39",className:"space-y-6",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:40",className:"flex items-center justify-between",children:[a.jsx("h1",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:41",className:"text-2xl font-bold text-orange-400",children:"จัดการสูตร"}),a.jsxs(A,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:42",open:S,onOpenChange:e=>{h(e),e&&k()},children:[a.jsx(B,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:43",asChild:!0,children:a.jsxs(n,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:44",size:"sm",className:"bg-orange-600 hover:bg-orange-700",children:[a.jsx(E,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:44",className:"w-4 h-4 mr-1"})," สร้างสูตร"]})}),a.jsxs(b,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:46",className:"bg-zinc-900 border-zinc-700",children:[a.jsx(j,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:47",children:a.jsx(v,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:47",className:"text-orange-400",children:"สร้างสูตรใหม่"})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:48",className:"space-y-3",children:[a.jsx(i,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:49",placeholder:"ชื่อสูตร",value:s.name,onChange:e=>t({...s,name:e.target.value}),className:"bg-zinc-800 border-zinc-700"}),a.jsx(i,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:50",placeholder:"คำอธิบาย",value:s.description,onChange:e=>t({...s,description:e.target.value}),className:"bg-zinc-800 border-zinc-700"}),a.jsxs(N,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:51",value:s.type,onValueChange:e=>t({...s,type:e}),children:[a.jsx(C,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:52",className:"bg-zinc-800 border-zinc-700",children:a.jsx(y,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:52"})}),a.jsxs(w,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:53",children:[a.jsx(r,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:54",value:"free",children:"ฟรี"}),a.jsx(r,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:55",value:"premium",children:"พรีเมียม"})]})]}),a.jsx(i,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:58",placeholder:"อัลกอริทึม",value:s.algorithm,onChange:e=>t({...s,algorithm:e.target.value}),className:"bg-zinc-800 border-zinc-700"}),a.jsx(i,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:59",placeholder:"Win Rate (%)",type:"number",value:s.winRate,onChange:e=>t({...s,winRate:e.target.value}),className:"bg-zinc-800 border-zinc-700"}),s.type==="premium"&&a.jsx(i,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:61",placeholder:"ราคา (Point)",type:"number",value:s.creditCost,onChange:e=>t({...s,creditCost:e.target.value}),className:"bg-zinc-800 border-zinc-700"}),a.jsx(n,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:63",onClick:D,disabled:m.isPending,className:"w-full bg-orange-600 hover:bg-orange-700",children:m.isPending?"กำลังสร้าง...":"สร้างสูตร"})]})]})]})]}),a.jsx(A,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:71",open:o!==null,onOpenChange:e=>{e||g(null)},children:a.jsxs(b,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:72",className:"bg-zinc-900 border-zinc-700",children:[a.jsx(j,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:73",children:a.jsx(v,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:73",className:"text-orange-400",children:"แก้ไขสูตร"})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:74",className:"space-y-3",children:[a.jsx(i,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:75",placeholder:"ชื่อสูตร",value:s.name,onChange:e=>t({...s,name:e.target.value}),className:"bg-zinc-800 border-zinc-700"}),a.jsx(i,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:76",placeholder:"คำอธิบาย",value:s.description,onChange:e=>t({...s,description:e.target.value}),className:"bg-zinc-800 border-zinc-700"}),a.jsxs(N,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:77",value:s.type,onValueChange:e=>t({...s,type:e}),children:[a.jsx(C,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:78",className:"bg-zinc-800 border-zinc-700",children:a.jsx(y,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:78"})}),a.jsxs(w,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:79",children:[a.jsx(r,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:80",value:"free",children:"ฟรี"}),a.jsx(r,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:81",value:"premium",children:"พรีเมียม"})]})]}),a.jsx(i,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:84",placeholder:"อัลกอริทึม",value:s.algorithm,onChange:e=>t({...s,algorithm:e.target.value}),className:"bg-zinc-800 border-zinc-700"}),a.jsx(i,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:85",placeholder:"Win Rate (%)",type:"number",value:s.winRate,onChange:e=>t({...s,winRate:e.target.value}),className:"bg-zinc-800 border-zinc-700"}),s.type==="premium"&&a.jsx(i,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:87",placeholder:"ราคา (Point)",type:"number",value:s.creditCost,onChange:e=>t({...s,creditCost:e.target.value}),className:"bg-zinc-800 border-zinc-700"}),a.jsx(n,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:89",onClick:M,disabled:c.isPending,className:"w-full bg-orange-600 hover:bg-orange-700",children:c.isPending?"กำลังบันทึก...":"บันทึก"})]})]})}),R?a.jsx("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:97",className:"text-zinc-400",children:"กำลังโหลด..."}):x?.length?a.jsx("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:106",className:"grid gap-3",children:x.map(e=>a.jsx(P,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:108",className:"bg-zinc-900/50 border-zinc-800",children:a.jsx(F,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:109",className:"p-4",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:110",className:"flex items-center justify-between",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:111",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:112",className:"flex items-center gap-2",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:113",className:"font-medium text-zinc-200",children:e.name}),a.jsx(z,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:114",className:e.isFree===1?"bg-green-600/20 text-green-400 border-green-600/30":"bg-purple-600/20 text-purple-400 border-purple-600/30",children:e.isFree===1?"ฟรี":`฿${e.cost}`}),a.jsx(z,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:117",className:e.isActive===1?"bg-blue-600/20 text-blue-400 border-blue-600/30":"bg-zinc-600/20 text-zinc-400 border-zinc-600/30",children:e.isActive===1?"เปิด":"ปิด"})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:121",className:"text-sm text-zinc-400 mt-1",children:["Win Rate: ",e.winRate,"% | ใช้แล้ว: ",e.totalUses," ครั้ง | Rating: ",e.avgRating,"/5 (",e.totalRatings,")"]})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:125",className:"flex gap-2",children:[a.jsx(n,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:126",size:"sm",variant:"outline",onClick:()=>I(e),className:"border-zinc-700",children:a.jsx(V,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:127",className:"w-3 h-3"})}),a.jsx(n,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:129",size:"sm",variant:"outline",onClick:()=>c.mutate({id:e.id,isActive:e.isActive===1?0:1}),className:"border-zinc-700",children:e.isActive===1?"ปิด":"เปิด"}),a.jsx(n,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:132",size:"sm",variant:"outline",onClick:()=>{confirm("ลบสูตรนี้?")&&f.mutate({id:e.id})},className:"border-red-700 text-red-400 hover:bg-red-900/30",children:a.jsx(W,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:133",className:"w-3 h-3"})})]})]})})},e.id))}):a.jsx(P,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:99",className:"bg-zinc-900/50 border-zinc-800",children:a.jsxs(F,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:100",className:"py-8 text-center text-zinc-400",children:[a.jsx(T,{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:101",className:"w-12 h-12 mx-auto mb-3 opacity-50"}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminFormulasPage.tsx:102",children:"ยังไม่มีสูตร"})]})})]})}export{sa 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.