PageSourceSearch

https://bacctrack-7ha7hyw7.manus.space/assets/AdminSettingsPage-C4UEeGWZ.js

js bacctrack-7ha7hyw7.manus.space collected 2026-10-03 05:01:44 UTC 33,747 bytes, 6 lines download raw bytes

1import{f as V,t as w,r as x,b as k,j as e,d as M,E as T,g as O}from"./index-C3Qps0S4.js";import{C as N,b as f,c as b,a as v}from"./card-DtXeaqs_.js";import{B as y}from"./button-xdpkFraK.js";import{I as u}from"./input-Dj8udylZ.js";import{L as P}from"./label-yaeAnB07.js";import{S as E}from"./switch-TjY2ppeC.js";import{S as z,g as D}from"./slotProviders-EvAtjHsk.js";import{A as W,a as B,b as Q,c as F,d as H,e as q,f as J,g as X}from"./alert-dialog-BzKLv-3y.js";import{S as Z}from"./settings-Cj6VgvAK.js";import{S as _}from"./save-DgLGcrQc.js";import{C as K}from"./circle-check-DmGdFs0e.js";import{C as U}from"./circle-x-BRy8Ip-h.js";import{E as $}from"./eye-off-BKF-pIRA.js";import{M as R}from"./message-circle-BkrB8C2p.js";import{W as G}from"./wrench-CR_3XmeC.js";import{S as Y}from"./search-DKbjFAwP.js";import{L as ee}from"./loader-circle-DohmWZz_.js";import{R as se}from"./radio-j8lhV_9l.js";import"./index-Jol-UBUv.js";import"./dialog-BY1FISUw.js";import"./index-BKUanX19.js";import"./index-Dr02_Kwf.js";import"./index-BBBp6CNx.js";/**
2 * @license lucide-react v0.453.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const ae=V("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);function te(){const{data:p,refetch:n}=w.signals.pricing.useQuery(),l=w.admin.updateSetting.useMutation({onSuccess:()=>{n(),k.success("บันทึกราคา Signal แล้ว")},onError:o=>k.error(o.message)}),[r,A]=x.useState([]),[g,j]=x.useState(!0);x.useEffect(()=>{p&&(A(p.packages||[]),j(p.enabled!==!1))},[p]);const m=()=>{l.mutate({key:"signal_pricing",value:JSON.stringify({packages:r,enabled:g})})};return e.jsxs(N,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:47",className:"border-border/50 bg-card",children:[e.jsxs(f,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:48",children:[e.jsxs(b,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:49",className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(se,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:50",className:"h-4 w-4 text-amber-500"}),"ตั้งค่าราคา Live Signal"]}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:53",className:"text-xs text-muted-foreground",children:"กำหนดราคา Point ที่หักต่อการใช้งาน Live Signal แต่ละแพ็กเกจ"})]}),e.jsxs(v,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:55",className:"space-y-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:56",className:"flex items-center justify-between",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:57",className:"text-sm",children:"เปิดใช้งานระบบหัก Point"}),e.jsx(E,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:58",checked:g,onCheckedChange:j})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:60",className:"space-y-3",children:r.map((o,c)=>e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:62",className:"flex items-center gap-3 p-3 rounded-lg border border-border/30 bg-background/50",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:63",className:"flex-1 space-y-1",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:64",className:"text-xs text-muted-foreground",children:"ชื่อแพ็กเกจ"}),e.jsx(u,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:65",value:o.label,onChange:h=>{const d=[...r];d[c]={...d[c],label:h.target.value},A(d)},className:"h-8 text-sm"})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:71",className:"w-20 space-y-1",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:72",className:"text-xs text-muted-foreground",children:"นาที"}),e.jsx(u,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:73",type:"number",value:o.minutes,onChange:h=>{const d=[...r];d[c]={...d[c],minutes:parseInt(h.target.value)||0},A(d)},className:"h-8 text-sm"})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:80",className:"w-20 space-y-1",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:81",className:"text-xs text-muted-foreground",children:"Point"}),e.jsx(u,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:82",type:"number",value:o.credits,onChange:h=>{const d=[...r];d[c]={...d[c],credits:parseInt(h.target.value)||0},A(d)},className:"h-8 text-sm"})]})]},c))}),e.jsxs(y,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:92",size:"sm",onClick:m,disabled:l.isPending,className:"gap-1.5",children:[e.jsx(_,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:93",className:"h-3 w-3"})," บันทึกราคา Signal"]})]})]})}function ne(){const{data:p,refetch:n}=w.publicSettings.providerMaintenance.useQuery(),l=w.admin.setProviderMaintenance.useMutation(),[r,A]=x.useState(""),[g,j]=x.useState(null),[m,o]=x.useState(()=>new Set),c=x.useMemo(()=>[...z].sort((s,a)=>s.name.localeCompare(a.name)),[]),h=x.useMemo(()=>{const s=r.trim().toLocaleLowerCase("en-US");return s?c.filter(a=>a.name.toLocaleLowerCase("en-US").includes(s)):c},[c,r]),d=c.filter(s=>p?.[D(s.name)]===!0).length,L=c.length-d,C=async(s,a)=>{const t=D(s.name);o(i=>new Set(i).add(t));try{await l.mutateAsync({providerSlug:t,enabled:a}),await n(),k.success(a?`ปิดปรับปรุงค่าย ${s.name} แล้ว`:`เปิดให้บริการค่าย ${s.name} แล้ว`)}catch(i){const S=i instanceof Error?i.message:"ไม่สามารถบันทึกสถานะได้";k.error("บันทึกสถานะไม่สำเร็จ",{description:S})}finally{o(i=>{const S=new Set(i);return S.delete(t),S})}},I=()=>
6{if(!g)return;const s=g;j(null),C(s,!0)};return e.jsxs(e.Fragment,{children:[e.jsxs(N,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:153",className:"border-border/50 bg-card",children:[e.jsxs(f,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:154",children:[e.jsxs(b,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:155",className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(G,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:156",className:"h-4 w-4 text-orange-500"}),"ตั้งค่าการปิดปรับปรุงค่ายเกม"]}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:159",className:"text-xs text-muted-foreground",children:"ควบคุมสถานะแยกรายค่าย ค่ายที่ปิดจะเข้าเกมและหน้าสูตรไม่ได้จนกว่าจะเปิดบริการอีกครั้ง"})]}),e.jsxs(v,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:161",className:"space-y-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:162",className:"grid grid-cols-3 gap-2","data-testid":"maintenance-summary",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:163",className:"rounded-xl border border-border/40 bg-background/45 p-3",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:164",className:"text-[10px] text-muted-foreground",children:"ทั้งหมด"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:165",className:"mt-1 text-lg font-semibold text-foreground",children:c.length})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:167",className:"rounded-xl border border-emerald-500/20 bg-emerald-500/5 p-3",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:168",className:"text-[10px] text-emerald-400/80",children:"เปิดบริการ"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:169",className:"mt-1 text-lg font-semibold text-emerald-400",children:L})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:171",className:"rounded-xl border border-orange-500/25 bg-orange-500/8 p-3",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:172",className:"text-[10px] text-orange-300/80",children:"ปิดปรับปรุง"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:173",className:"mt-1 text-lg font-semibold text-orange-400",children:d})]})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:177",className:"relative",children:[e.jsx(Y,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:178",className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(u,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:179",value:r,onChange:s=>A(s.target.value),placeholder:"ค้นหาชื่อค่ายเà¸
6à¸¡...","aria-label":"ค้นหาค่ายเกม",className:"h-10 pl-9"})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:188",className:"grid max-h-[480px] grid-cols-1 gap-2 overflow-y-auto pr-1 sm:grid-cols-2",children:h.map(s=>{const a=D(s.name),t=p?.[a]===!0,i=m.has(a);return e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:194","data-provider-slug":a,"data-maintenance":t?"true":"false",className:`flex items-center gap-3 rounded-xl border p-2.5 transition-colors ${t?"border-orange-500/45 bg-orange-500/10":"border-border/30 bg-background/50"}`,children:[e.jsx("img",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:204",src:O(s.image),alt:"","aria-hidden":"true",className:`h-10 w-10 shrink-0 rounded-lg border object-cover ${t?"border-orange-400/35 grayscale brightness-50":"border-white/10"}`}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:214",className:"min-w-0 flex-1",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:215",className:"truncate text-xs font-medium text-foreground",children:s.name}),e.jsxs("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:216",className:`mt-0.5 flex items-center gap-1 text-[10px] ${t?"text-orange-400":"text-emerald-400"}`,children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:219",className:`h-1.5 w-1.5 rounded-full ${t?"bg-orange-400":"bg-emerald-400"}`}),t?"ปิดปรับปรุง":"เปิดให้บริการ"]})]}),i?e.jsx(ee,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:226",className:"h-4 w-4 shrink-0 animate-spin text-orange-400","aria-label":"กำลังบันทึก"}):e.jsx(E,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:228",checked:t,"aria-label":`${t?"เปิดให้บริการ":"ปิดปรับปรุง"}ค่าย ${s.name}`,onCheckedChange:S=>{S?j(s):C(s,!1)}})]},a)})}),h.length===0&&e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:246",className:"rounded-xl border border-dashed border-border/50 py-8 text-center text-xs text-muted-foreground",children:["ไม่พบค่ายที่ตรงกับ “",r.trim(),"”"]})]})]}),e.jsx(W,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:253",open:g!==null,onOpenChange:s=>!s&&j(null),children:e.jsxs(B,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:254",children:[e.jsxs(Q,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:255",children:[e.jsx(F,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:256",children:"ยืนยันปิดปรับปรุงค่าย"}),e.jsx(H,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:257",children:"ผู้ใช้จะไม่สามารถเข้าเกมหรือหน้าสูตรของค่ายนี้ได้จนกว่าจะเปิดบริการอีกครั้ง"})]}),g&&e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:262",className:"flex items-center gap-3 rounded-xl border border-orange-500/30 bg-
6orange-500/10 p-3",children:[e.jsx("img",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:263",src:O(g.image),alt:"","aria-hidden":"true",className:"h-12 w-12 rounded-lg border border-orange-400/30 object-cover grayscale brightness-50"}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:269",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:270",className:"text-sm font-semibold text-foreground",children:g.name}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:271",className:"text-xs text-orange-400",children:"กำลังจะเปลี่ยนเป็นปิดปรับปรุง"})]})]}),e.jsxs(q,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:275",children:[e.jsx(J,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:276",children:"ยกเลิก"}),e.jsx(X,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:277",onClick:I,className:"bg-orange-600 text-white hover:bg-orange-500",children:"ยืนยันปิดปรับปรุง"})]})]})})]})}function ke(){const{data:p}=w.admin.settings.useQuery(),[n,l]=x.useState({}),[r,A]=x.useState(!1),[g,j]=x.useState(!1),m=w.admin.updateSetting.useMutation({onSuccess:()=>{k.success("บันทึกการตั้งค่าแล้ว")},onError:s=>k.error(s.message)});x.useEffect(()=>{if(p){const s={};p.forEach(a=>{s[a.key]=a.value??""}),l(s)}},[p]);const o=s=>{m.mutate({key:s,value:n[s]??""})},c=s=>{s.forEach(a=>{m.mutate({key:a,value:n[a]??""})})},h={ai_cost_per_analysis:"ต้นทุน AI ต่อการวิเคราะห์ (Point)",site_name:"ชื่อเว็บไซต์",site_description:"คำอธิบายเว็บไซต์",min_topup_amount:"จำนวนเติม Point ขั้นต่ำ",max_topup_amount:"จำนวนเติม Point สูงสุด"},d={slip_auto_approve:{label:"เปิด Auto-Approve",description:"อนุมัติอัตโนมัติเมื่อสลิปผ่านการตรวจสอบทุกข้อ",type:"toggle"},slip_auto_approve_max_amount:{label:"ยอด Auto-Approve สูงสุด (บาท)",description:"ตั้ง 0 = ไม่จำกัดยอด",type:"number"}},L=!!(n.slipok_api_key&&n.slipok_api_key.length>5),C=!!(n.slipok_branch_id&&n.slipok_branch_id.length>0),I=L&&C;return e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:342",className:"space-y-6 max-w-2xl",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:343",children:[e.jsx("h1",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:344",className:"text-2xl md:text-3xl font-bold text-gold-gradient",children:"ตั้งค่าระบบ"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:347",className:"text-muted-foreground text-sm mt-1",children:"กำหนดค่าต่างๆ ของระบบ"})]}),e.jsxs(N,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:352",className:"border-border/50 bg-card",children:[e.jsx(f,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:353",children:e.jsxs(b,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:354",className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(Z,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:355",className:"h-4 w-4 text-primary"}),"การตั้งค่าทั่วไป"]})}),e.jsx(v,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:359",className:"space-y-6",children:Object.entries(h).map(([s,a])=>e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:361",className:"space-y-2",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:362",className:"text-sm",children:a}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:363",className:"flex gap-2",children:[e.jsx(u,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:364",value:n[s]??"",onChange:t=>l(i=>({...i,[s]:t.target.value}))}),e.jsx(y,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:370",size:"sm",onClick:()=>o(s),disabled:m.isPending,className:"shrink-0",children:e.jsx(_,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:376",className:"h-3 w-3"})})]})]},s))})]}),e.jsxs(N,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:385",className:"border-border/50 bg-card",children:[e.jsxs(f,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:386",children:[e.jsxs(b,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:387",className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(ae,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:388",className:"h-4 w-4 text-blue-400"}),"เชื่อมต่อ API"]}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:391",className:"text-xs text-muted-foreground",children:"ตั้งค่า API Key สำหรับเชื่อมต่อบริการภายนอก"})]}),e.jsxs(v,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:395",className:"space-y-6",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:397",className:"p-4 rounded-xl border border-border/50 bg-black/20 space-y-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:398",className:"flex items-center justify-between",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:399",className:"flex items-center gap-2",children:[e.jsx(M,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:400",className:"h-5 w-5 text-green-500"}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:401",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:402",className:"text-sm font-medium",children:"SlipOK API"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:403",className:"text-[11px] text-muted-foreground",children:"ตรวจสอบสลิปโอนเงินอัตโนมัติ"})]})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:406",className:"flex items-center gap-1.5",children:I?e.jsxs("span",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:408",className:"flex items-center gap-1 text-[11px] text-green-400 bg-green-500/10 px-2 py-0.5 rounded-full",children:[e.jsx(K,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:409",className:"h-3 w-3"})," เชื่อมต่อแล้ว"]}):e.jsxs("span",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:412",className:"flex items-center gap-1 text-[11px] text-red-400 bg-red-500/10 px-2 py-0.5 rounded-full",children:[e.jsx(U,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:413",className:"h-3 w-3"})," ยังไม่ได้เชื่อมต่อ"]})})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:419",className:"space-y-3",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:420",className:"space-y-1.5",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:421",className:"text-xs text-muted-foreground",children:"API Key"}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:422",className:"flex gap-2",children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:423",className:"relative flex-1",children:[e.jsx(u,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:424",type:r?"text":"password",placeholder:"ใส่ SlipOK API Key...",value:n.slipok_api_key??"",onChange:s=>l(a=>({...a,slipok_api_key:s.target.value})),className:"pr-10"}),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:433",type:"button",onClick:()=>A(!r),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",children:r?e.jsx($,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:438",className:"h-4 w-4"}):e.jsx(T,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:438",className:"h-4 w-4"})})]})})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:444",className:"space-y-1.5",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:445",className:"text-xs text-muted-foreground",children:"Branch ID"}),e.jsx(u,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:446",placeholder:"ใส่ SlipOK Branch ID...",value:n.slipok_branch_id??"",onChange:s=>l(a=>({...a,slipok_branch_id:s.target.value}))})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:455",className:"flex items-center justify-between pt-2",children:[e.jsx("a",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:456",href:"https://slipok.com",target:"_blank",rel:"noopener",className:"text-[11px] text-amber-400 hover:text-amber-300 underline transition-colors",children:"สมัคร SlipOK (LINE @slipok)"}),e.jsxs(y,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:464",size:"sm",onClick:()=>c(["slipok_api_key","slipok_branch_id"]),disabled:m.isPending,className:"gap-1.5",children:[e.jsx(_,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:470",className:"h-3 w-3"}),"บันทึก API Key"]})]})]})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:478",className:"p-4 rounded-xl border border-border/50 bg-black/20 space-y-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:479",className:"flex items-center justify-between",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:480",className:"flex items-center gap-2",children:[e.jsx(R,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:481",className:"h-5 w-5 text-green-500"}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:482",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:483",className:"text-sm font-medium",children:"LINE Notify"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:484",className:"text-[11px] text-muted-foreground",children:"แจ้งเตือนแอดมินผ่าน LINE เมื่อมีคำขอรีเซ็ตรหัสผ่าน"})]})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:487",className:"flex items-center gap-1.5",children:n.line_notify_token&&n.line_notify_token.length>5?e.jsxs("span",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:489",className:"flex items-center gap-1 text-[11px] text-green-400 bg-green-500/10 px-2 py-0.5 rounded-full",children:[e.jsx(K,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:490",className:"h-3 w-3"})," เชื่อมต่อแล้ว"]}):e.jsxs("span",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:493",className:"flex items-center gap-1 text-[11px] text-red-400 bg-red-500/10 px-2 py-0.5 rounded-full",children:[e.jsx(U,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:494",className:"h-3 w-3"})," ยังไม่ได้เชื่อมต่อ"]})})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:500",className:"space-y-3",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:501",className:"space-y-1.5",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:502",className:"text-xs text-muted-foreground",children:"LINE Notify Token"}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:503",className:"flex gap-2",children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:504",className:"relative flex-1",children:[e.jsx(u,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:505",type:g?"text":"password",placeholder:"ใส่ LINE N
6otify Token...",value:n.line_notify_token??"",onChange:s=>l(a=>({...a,line_notify_token:s.target.value})),className:"pr-10"}),e.jsx("button",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:514",type:"button",onClick:()=>j(!g),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",children:g?e.jsx($,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:519",className:"h-4 w-4"}):e.jsx(T,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:519",className:"h-4 w-4"})})]})})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:525",className:"flex items-center justify-between pt-2",children:[e.jsx("a",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:526",href:"https://notify-bot.line.me/my/",target:"_blank",rel:"noopener",className:"text-[11px] text-amber-400 hover:text-amber-300 underline transition-colors",children:"สร้าง LINE Notify Token"}),e.jsxs(y,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:534",size:"sm",onClick:()=>o("line_notify_token"),disabled:m.isPending,className:"gap-1.5",children:[e.jsx(_,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:540",className:"h-3 w-3"}),"บันทึก Token"]})]})]})]})]})]}),e.jsxs(N,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:550",className:"border-border/50 bg-card",children:[e.jsxs(f,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:551",children:[e.jsxs(b,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:552",className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(M,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:553",className:"h-4 w-4 text-green-500"}),"ตั้งค่าตรวจสอบสลิป (SlipOK)"]}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:556",className:"text-xs text-muted-foreground",children:"ตรวจสอบสลิปอัตโนมัติผ่าน SlipOK API — ตรวจสลิปจริง/ปลอม, ยอดเงิน, บัญชีผู้รับ, สลิปซ้ำ"})]}),e.jsxs(v,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:560",className:"space-y-6",children:[Object.entries(d).map(([s,a])=>e.jsx("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:562",className:"space-y-2",children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:563",className:"flex items-center justify-between",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:564",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:565",className:"text-sm",children:a.label}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:566",className:"text-xs text-muted-foreground",children:a.description})]}),a.type==="toggle"?e.jsx(E,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:569",checked:n[s]!=="0"&&n[s]!=="",onCheckedChange:t=>{const i=t?"1":"0";l(S=>({...S,[s]:i})),m.mutate({key:s,value:i})}}):e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:578",className:"flex gap-2 items-center",children:[e.jsx(u,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:579",type:"number",className:"w-32",value:n[s]??"",onChange:t=>l(i=>({...i,[s]:t.target.value}))}),e.jsx(y,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:587",size:"sm",onClick:()=>o(s),disabled:m.isPending,className:"shrink-0",children:e.jsx(_,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:593",className:"h-3 w-3"})})]})]})},s)),!I&&e.jsx("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:602",className:"p-3 rounded-lg bg-amber-500/10 border border-amber-500/20",children:e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:603",className:"text-xs text-amber-300",children:'⚠️ กรุณาเชื่อมต่อ SlipOK API ในส่วน "เชื่อมต่อ API" ด้านบนก่อนใช้งาน'})})]})]}),e.jsxs(N,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:612",className:"border-border/50 bg-card",children:[e.jsxs(f,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:613",children:[e.jsx(b,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:614",className:"text-sm font-medium flex items-center gap-2",children:"💰 ตั้งค่า Wallet USDT"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:617",className:"text-xs text-muted-foreground",children:"ตั้งค่า Wallet Address สำหรับรับฝาก USDT"})]}),e.jsx(v,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:619",className:"space-y-3",children:[{key:"crypto_wallet_trc20",label:"Wallet Address (TRC-20)",placeholder:"T..."},{key:"crypto_wallet_erc20",label:"Wallet Address (ERC-20)",placeholder:"0x..."},{key:"crypto_usdt_rate",label:"อัตราแลกเปลี่ยน (1 USDT = ? Point)",placeholder:"35"},{key:"crypto_min_deposit",label:"ฝากขั้นต่ำ (USDT)",placeholder:"10"},{key:"crypto_deposit_note",label:"หมายเหตุสำหรับผู้ใช้",placeholder:"เช่น กรุณาโอนเฉพาะ USDT เท่านั้น"}].map(({key:s,label:a,placeholder:t})=>e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:627",className:"flex items-center gap-2",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:628",className:"flex-1",children:[e.jsx("label",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:629",className:"text-xs text-muted-foreground mb-1 block",children:a}),e.jsx(u,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:630",value:n[s]??"",onChange:i=>l(S=>({...S,[s]:i.target.value})),placeholder:t,className:"text-xs font-mono"})]}),e.jsx(y,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:637",size:"sm",onClick:()=>o(s),disabled:m.isPending,className:"shrink-0 mt-5",children:e.jsx(_,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:643",className:"h-3 w-3"})})]},s))})]}),e.jsxs(N,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:651",className:"border-border/50 bg-card",children:[e.jsxs(f,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:652",children:[e.jsxs(b,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:653",className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(R,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:654",className:"h-4 w-4 text-primary"}),"ตั้งค่า Popup เกมสล็อต"]}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:657",className:"text-xs text-muted-foreground",children:"เปิด/ปิด popup รายละเอียดเกมเมื่อกดการ์ดเกม (ปุ่มเล่น/เดโม)"})]}),e.jsx(v,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:659",className:"space-y-4",children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:660",className:"flex items-center justify-between",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:661",children:[e.jsx(P,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:662",className:"text-sm",children:"แสดง Popup รายละเอียดเกม"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:663",className:"text-xs text-muted-foreground",children:"เมื่อผู้ใช้กดการ์ดเกม จะแสดง popup พร้อมปุ่มเล่น/เดโม"})]}),e.jsx(E,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:665",checked:n.game_popup_enabled!=="0",onCheckedChange:s=>{const a=s?"1":"0";l(t=>({...t,game_popup_enabled:a})),m.mutate({key:"game_popup_enabled",value:a})}})]})})]}),e.jsx(ne,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:678"}),e.jsx(te,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:681"}),e.jsxs(N,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:683",className:"border-border/50 bg-card",children:[e.jsx(f,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:684",children:e.jsx(b,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:685",className:"text-sm font-medium",children:"ข้อมูลระบบ"})}),e.jsx(v,{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:687",children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:688",className:"space-y-2 text-sm",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:689",className:"flex justify-between",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:690",className:"text-muted-foreground",children:"เวอร์ชัน"}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:691",children:"1.0.0"})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:693",className:"flex justify-between",children:[e.jsx("span",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:694",className:"text-muted-foreground",children:"สถานะ"}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminSettingsPage.tsx:695",className:"text-chart-3",children:"Online"})]})]})})]})]})}export{ne as ProviderMaintenanceSection,ke 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.