PageSourceSearch

https://bacctrack-7ha7hyw7.manus.space/assets/AdminGameLinksPage-VTy8iEwR.js

js bacctrack-7ha7hyw7.manus.space collected 2026-10-03 05:02:30 UTC 15,687 bytes, 1 lines download raw bytes

1import{t as p,b as c,r as h,j as e,E as U}from"./index-C3Qps0S4.js";import{C as l,a as d}from"./card-DtXeaqs_.js";import{B as m}from"./button-xdpkFraK.js";import{I as P}from"./input-Dj8udylZ.js";import{D as B,b as S,c as E,d as I}from"./dialog-BY1FISUw.js";import{S as k}from"./switch-TjY2ppeC.js";import{G as r}from"./gamepad-2-IE90SSqp.js";import{P as R}from"./plus-BLlLQSZn.js";import{P as G}from"./play-NZNEVHTw.js";import{E as N}from"./eye-off-BKF-pIRA.js";import{S as M}from"./square-pen-B5oOKm1w.js";import{T as O}from"./trash-2-DOBLe4Vk.js";import{L as T}from"./link-2-CMBdbpN2.js";import"./index-Jol-UBUv.js";import"./index-BKUanX19.js";import"./index-Dr02_Kwf.js";import"./index-BBBp6CNx.js";const $=["nextspin","pragmatic","pgsoft","jili","spadegaming","habanero","fachai","joker","cq9","redtiger","netent","microgaming","playtech","evolution","nolimit","hacksaw","pushgaming","relax","thunderkick","yggdrasil","elk","bigtime","blueprint","evoplay"],L={providerName:"",playUrl:"",demoUrl:"",showPlayButton:!0,showDemoButton:!0,enabled:!0};function ne(){const{data:n,isLoading:A,refetch:j}=p.gameLinks.adminList.useQuery(),o=p.gameLinks.adminUpsert.useMutation({onSuccess:()=>{j(),i(!1),c.success("บันทึกสำเร็จ")},onError:a=>{c.error(`บันทึกไม่สำเร็จ: ${a.message}`)}}),u=p.gameLinks.adminDelete.useMutation({onSuccess:()=>{j(),c.success("ลบสำเร็จ")},onError:a=>{c.error(`ลบไม่สำเร็จ: ${a.message}`)}}),[b,i]=h.useState(!1),[y,g]=h.useState(null),[s,t]=h.useState(L),f=()=>{g(null),t(L),i(!0)},w=a=>{g(a.id),t({providerName:a.providerName,playUrl:a.playUrl||"",demoUrl:a.demoUrl||"",showPlayButton:a.showPlayButton,showDemoButton:a.showDemoButton,enabled:a.enabled}),i(!0)},v=()=>{if(!s.providerName.trim()){c.error("กรุณาระบุชื่อค่ายเà¸
1à¸¡");return}o.mutate({providerName:s.providerName.trim(),playUrl:s.playUrl.trim()||null,demoUrl:s.demoUrl.trim()||null,showPlayButton:s.showPlayButton,showDemoButton:s.showDemoButton,enabled:s.enabled})},C=a=>{confirm("ยืนยันลบลิงก์ค่ายนี้?")&&u.mutate({id:a})},D=new Set((n||[]).map(a=>a.providerName)),x=$.filter(a=>!D.has(a));return e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:87",className:"space-y-6",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:89",className:"flex items-center justify-between",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:90",children:[e.jsxs("h1",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:91",className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(r,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:92",className:"w-7 h-7 text-yellow-400"}),"จัดการลิงก์เกม"]}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:95",className:"text-gray-400 text-sm mt-1",children:"ตั้งค่าลิงก์เล่น/เดโม และเปิด-ปิดปุ่มแต่ละค่าย"})]}),e.jsxs(m,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:97",onClick:f,className:"bg-yellow-500 hover:bg-yellow-600 text-black font-bold",children:[e.jsx(R,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:98",className:"w-4 h-4 mr-1"})," เพิ่มค่าย"]})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:103",className:"grid grid-cols-3 gap-3",children:[e.jsx(l,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:104",className:"bg-gray-800/50 border-gray-700",children:e.jsxs(d,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:105",className:"p-4 text-center",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:106",className:"text-2xl font-bold text-white",children:n?.length||0}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:107",className:"text-xs text-gray-400",children:"ค่ายทั้งหมด"})]})}),e.jsx(l,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:110",className:"bg-gray-800/50 border-gray-700",children:e.jsxs(d,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:111",className:"p-4 text-center",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:112",className:"text-2xl font-bold text-green-400",children:n?.filter(a=>a.enabled).length||0}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:113",className:"text-xs text-gray-400",children:"เปิดใช้งาน"})]})}),e.jsx(l,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:116",className:"bg-gray-800/50 border-gray-700",children:e.jsxs(d,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:117",className:"p-4 text-center",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:118",className:"text-2xl font-bold text-orange-400",children:x.length}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:119",className:"text-xs text-gray-400",children:"ยังไม่ตั้งค่า"})]})})]}),x.length>0&&e.jsx(l,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:126",className:"bg-gray-800/30 border-gray-700/50",children:e.jsxs(d,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:127",className:"p-4",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:128",className:"text-sm text-gray-400 mb-2",children:"ค่ายที่ยังไม่ได้ตั้งค่า (กดเพื่อเพิ่ม):"}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:129",className:"flex flex-wrap gap-2",children:x.map(a=>e.jsxs("button",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:131",onClick:()=>{g(null),t({...L,providerName:a}),i(!0)},className:"px-3 py-1 text-xs rounded-full bg-gray-700/50 text-gray-300 hover:bg-yellow-500/20 hover:text-yellow-300 transition-colors border border-gray-600/50",children:["+ ",a]},a))})]})}),A?e.jsx("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:146",className:"text-center py-8 text-gray-400",children:"กำลังโหลด..."}):!n||n.length===0?e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:148",className:"text-center py-12 text-gray-500",children:[e.jsx(r,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:149",className:"w-12 h-12 mx-auto mb-3 opacity-30"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:150",children:"ยังไม่มีลิงก์ค่ายเà¸
1à¸¡"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:151",className:"text-sm mt-1",children:'กดปุ่ม "เพิ่มค่าย" เพื่อเริ่มต้น'})]}):e.jsx("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:154",className:"space-y-3",children:n.map(a=>e.jsx(l,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:156",className:`border ${a.enabled?"bg-gray-800/50 border-gray-700":"bg-gray-900/50 border-gray-800 opacity-60"}`,children:e.jsx(d,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:157",className:"p-4",children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:158",className:"flex items-center justify-between",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:159",className:"flex-1",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:160",className:"flex items-center gap-2",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:161",className:"text-white font-bold text-lg",children:a.providerName}),a.enabled?e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:163",className:"px-2 py-0.5 text-[10px] rounded-full bg-green-500/20 text-green-400 border border-green-500/30",children:"เปิด"}):e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:165",className:"px-2 py-0.5 text-[10px] rounded-full bg-red-500/20 text-red-400 border border-red-500/30",children:"ปิด"})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:168",className:"mt-2 space-y-1",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:169",className:"flex items-center gap-2 text-xs",children:[e.jsx(G,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:170",className:"w-3 h-3 text-yellow-400"}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:171",className:"text-gray-400",children:"เล่น:"}),a.showPlayButton?e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:173",className:"text-blue-300 truncate max-w-[200px]",children:a.playUrl||e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:173",className:"text-gray-500 italic",children:"ยังไม่ตั้งค่า"})}):e.jsxs("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:175",className:"text-red-400 flex items-center gap-1",children:[e.jsx(N,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:175",className:"w-3 h-3"})," ซ่อน"]})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:178",className:"flex items-center gap-2 text-xs",children:[e.jsx(r,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:179",className:"w-3 h-3 text-gray-400"}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:180",className:"text-gray-400",children:"เดโม:"}),a.showDemoButton?e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:182",className:"text-blue-300 truncate max-w-[200px]",children:a.demoUrl||e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:182",className:"text-gray-500 italic",children:"ยังไม่ตั้งค่า"})}):e.jsxs("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:184",className:"text-red-400 flex items-center gap-1",children:[e.jsx(N,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:184",className:"w-3 h-3"})," ซ่อน"]})]})]})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:189",className:"flex items-center gap-2",children:[e.jsx(m,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:190",size:"sm",variant:"outline",onClick:()=>w(a),className:"border-gray-600 text-gray-300 hover:bg-gray-700",children:e.jsx(M,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:191",className:"w-4 h-4"})}),e.jsx(m,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:193",size:"sm",variant:"outline",onClick:()=>C(a.id),className:"border-red-600/50 text-red-400 hover:bg-red-900/30",children:e.jsx(O,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:194",className:"w-4 h-4"})})]})]})})},a.id))}),e.jsx(B,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:205",open:b,onOpenChange:i,children:e.jsxs(S,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:206",className:"bg-gray-900 border-gray-700 max-w-md",children:[e.jsx(E,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:207",children:e.jsxs(I,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:208",className:"text-white flex items-center gap-2",children:[e.jsx(T,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:209",className:"w-5 h-5 text-yellow-400"}),y?"แก้ไขลิงก์ค่าย":"เพิ่มลิงก์ค่ายใหม่"]})}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:214",className:"space-y-4 mt
1-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:216",children:[e.jsx("label",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:217",className:"text-sm text-gray-400 mb-1 block",children:"ชื่อค่ายเกม"}),e.jsx(P,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:218",value:s.providerName,onChange:a=>t({...s,providerName:a.target.value}),placeholder:"เช่น nextspin, pragmatic, pgsoft",className:"bg-gray-800 border-gray-600 text-white",disabled:!!y})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:228",children:[e.jsx("label",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:229",className:"text-sm text-gray-400 mb-1 block",children:"ลิงก์เล่น (Play URL)"}),e.jsx(P,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:230",value:s.playUrl,onChange:a=>t({...s,playUrl:a.target.value}),placeholder:"https://...",className:"bg-gray-800 border-gray-600 text-white"})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:239",children:[e.jsx("label",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:240",className:"text-sm text-gray-400 mb-1 block",children:"ลิงก์เดโม (Demo URL)"}),e.jsx(P,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:241",value:s.demoUrl,onChange:a=>t({...s,demoUrl:a.target.value}),placeholder:"https://...",className:"bg-gray-800 border-gray-600 text-white"})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:250",className:"space-y-3 pt-2 border-t border-gray-700",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:251",className:"flex items-center justify-between",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:252",className:"flex items-center gap-2",children:[e.jsx(G,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:253",className:"w-4 h-4 text-yellow-400"}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:254",className:"text-sm text-gray-300",children:'แสดงปุ่ม "เล่น"'})]}),e.jsx(k,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:256",checked:s.showPlayButton,onCheckedChange:a=>t({...s,showPlayButton:a})})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:261",className:"flex items-center justify-between",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:262",className:"flex items-center gap-2",children:[e.jsx(r,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:263",className:"w-4 h-4 text-gray-400"}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:264",className:"text-sm text-gray-300",children:'แสดงปุ่ม "เดโม"'})]}),e.jsx(k,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:266",checked:s.showDemoButton,onCheckedChange:a=>t({...s,showDemoButton:a})})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:271",className:"flex items-center justify-between",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:272",className:"flex items-center gap-2",children:[e.jsx(U,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:273",className:"w-4 h-4 text-green-400"}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:274",className:"text-sm text-gray-300",children:"เปิดใช้งาน"})]}),e.jsx(k,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:276",checked:s.enabled,onCheckedChange:a=>t({...s,enabled:a})})]})]}),e.jsx(m,{"data-loc":"client/src/pages/admin/AdminGameLinksPage.tsx:284",onClick:v,disabled:o.isPending,className:"w-full bg-yellow-500 hover:bg-yellow-600 text-black font-bold",children:o.isPending?"กำลังบันทึก...":"บันทึก"})]})]})})]})}export{ne 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.