1import{r as m,t as r,b as d,j as e,X as I,G as B,E as D}from"./index-C3Qps0S4.js";import{B as n}from"./button-xdpkFraK.js";import{I as g}from"./input-Dj8udylZ.js";import{P as T}from"./plus-BLlLQSZn.js";import{U as b}from"./upload-_gXBE_kq.js";import{G}from"./globe-BOZ36Itx.js";import{M as X}from"./mouse-pointer-click-CvZ_JWhU.js";import{A as $}from"./arrow-up-CfgqzYEd.js";import{E as O}from"./eye-off-BKF-pIRA.js";import{P as Q}from"./pencil-BOPWUr1Y.js";import{T as W}from"./trash-2-DOBLe4Vk.js";import{E as _}from"./external-link-BaKbLCyP.js";import"./index-Jol-UBUv.js";import"./dialog-BY1FISUw.js";import"./index-BKUanX19.js";import"./index-Dr02_Kwf.js";const P={name:"",url:"",description:"",logoUrl:"",rank:1};function re(){const[N,x]=m.useState(!1),[i,p]=m.useState(null),[s,c]=m.useState(P),[u,j]=m.useState(!1),h=m.useRef(null),v=r.admin.uploadBannerImage.useMutation({onError:a=>{d.error(`à¸à¸±à¸à¹à¸«à¸¥à¸à¹à¸¡à¹à¸ªà¸³à¹à¸£à¹à¸: ${a.message}`)}}),w=async a=>{if(a.size>5*1024*1024){d.error("à¹à¸à¸¥à¹à¹à¸«à¸à¹à¹à¸à¸´à¸ 5MB");return}if(!a.type.startsWith("image/")){d.error("à¸à¸£à¸¸à¸à¸²à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸£à¸¹à¸à¸ าà¸");return}j(!0);try{const t=new FileReader,z=await new Promise((R,F)=>{t.onload=()=>{R(t.result.split(",")[1])},t.onerror=F,t.readAsDataURL(a)}),f=await v.mutateAsync({base64:z,mimeType:a.type,field:"desktop"});f.url&&(c(R=>({...R,logoUrl:f.url})),d.success("à¸à¸±à¸à¹à¸«à¸¥à¸à¹à¸¥à¹à¸à¹à¸ªà¸³à¹à¸£à¹à¸"))}catch{}finally{j(!1)}},{data:o=[],refetch:S}=r.recommendedSites.adminList.useQuery(),k=r.recommendedSites.adminCreate.useMutation({onSuccess:()=>{d.success("à¹à¸à¸´à¹à¸¡à¹à¸§à¹à¸à¹à¸à¸°à¸à¸³à¸ªà¸³à¹à¸£à¹à¸"),S(),A()},onError:a=>d.error(a.message)}),l=r.recommendedSites.adminUpdate.useMutation({onSuccess:()=>{d.success("à¸à¸±à¸à¹à¸à¸à¹à¸§à¹à¸à¹à¸à¸°à¸à¸³à¸ªà¸³à¹à¸£à¹à¸"),S(),A()},onError:a=>d.error(a.message)}),y=r.recommendedSites.adminDelete.useMutation({onSuccess:()=>{d.success("ลà¸à¹à¸§à¹à¸à¹à¸à¸°à¸à¸³à¸ªà¸³à¹à¸£à¹à¸"),S()},onError:a=>d.error(a.message)}),A=()=>{c(P),p(null),x(!1)},C=a=>{c({name:a.name,url:a.url,description:a.description||"",logoUrl:a.logoUrl||"",rank:a.rank}),p(a.id),x(!0)},U=()=>{if(!s.name.trim()||!s.url.trim()){d.error("à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¸à¸·à¹à¸à¹à¸¥à¸° URL");return}i?l.mutate({id:i,...s}):k.mutate(s)},E=a=>{l.mutate({id:a.id,isActive:a.isActive?0:1})},M=(a,t)=>{t!==0&&l.mutate({id:a.id,rank:a.rank-1})},L=(a,t)=>{t!==o.length-1&&l.mutate({id:a.id,rank:a.rank+1})};return e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:126",className:"space-y-6",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:128",className:"flex items-center justify-between",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:129",children:[e.jsx("h1",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:130",className:"text-xl font-bold text-foreground",children:"à¹à¸§à¹à¸à¹à¸à¸°à¸à¸³"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:131",className:"text-sm text-muted-foreground",children:"à¸à¸±à¸à¸à¸²à¸£à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸°à¸à¸³à¸à¸µà¹à¹à¸ªà¸à¸à¹à¸à¸«à¸à¹à¸²à¸«à¸¥à¸±à¸ (สูà¸à¸ªà¸¸à¸ 5 à¹à¸§à¹à¸)"})]}),e.jsxs(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:133",onClick:()=>{x(!0),p(null),c(P)},className:"bg-amber-500 hover:bg-amber-600 text-white",disabled:o.length>=5&&!i,children:[e.jsx(T,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:138",className:"w-4 h-4 mr-1"})," à¹à¸à¸´à¹à¸¡à¹à¸§à¹à¸"]})]}),N&&e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:144",className:"bg-card border border-border rounded-xl p-4 space-y-3",children:[e.jsx("h3",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:145",className:"text-sm font-semibold text-foreground",children:i?"à¹à¸à¹à¹à¸à¹à¸§à¹à¸à¹à¸à¸°à¸à¸³":"à¹à¸à¸´à¹à¸¡à¹à¸§à¹à¸à¹à¸à¸°à¸à¸³à¹à¸«à¸¡à¹"}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:148",className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:149",children:[e.jsx("label",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:150",className:"text-xs text-muted-foreground",children:"à¸à¸·à¹à¸à¹à¸§à¹à¸ *"}),e.jsx(g,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:151",value:s.name,onChange:a=>c({...s,name:a.target.value}),placeholder:"à¹à¸à¹à¸ BetX Casino",maxLength:100})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:158",children:[e.jsx("label",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:159",className:"text-xs text-muted-foreground",children:"URL ลิà¸à¸à¹ *"}),e.jsx(g,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:160",value:s.url,onChange:a=>c({...s,url:a.target.value}),placeholder:"https://example.com",maxLength:500})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:167",children:[e.jsx("label",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:168",className:"text-xs text-muted-foreground",children:"à¸à¸³à¸à¸à¸´à¸à¸²à¸¢à¸ªà¸±à¹à¸"}),e.jsx(g,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:169",value:s.description,onChange:a=>c({...s,description:a.target.value}),placeholder:"à¹à¸à¹à¸ à¹à¸à¸à¸±à¸ªà¸ªà¸¡à¸±à¸à¸£à¹à¸«à¸¡à¹ 100%",maxLength:255})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:176",children:[e.jsx("label",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:177",className:"text-xs text-muted-foreground",children:"à¹à¸¥à¹à¸à¹ (à¸à¹à¸²à¸¡à¸µ)"}),e.jsx("input",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:178",ref:h,type:"file",accept:"image/*",className:"hidden",onChange:a=>{const t=a.target.files?.[0];t&&w(t),a.target.value=""}}),s.logoUrl?e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:180",className:"flex items-center gap-2 mt-1",children:[e.jsx("img",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:181",src:s.logoUrl,alt:"Logo",className:"w-10 h-10 rounded object-cover border border-border"}),e.jsxs(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:182",type:"button",variant:"outline",size:"sm",onClick:()=>h.current?.click(),disabled:u,className:"text-xs",children:[u?"â³":e.jsx(b,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:183",className:"w-3 h-3 mr-1"})," à¹à¸à¸¥à¸µà¹à¸¢à¸"]}),e.jsx(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:185",type:"button",variant:"ghost",size:"sm",onClick:()=>c({...s,logoUrl:""}),className:"text-red-400 h-8 w-8 p-0",children:e.jsx(I,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:186",className:"w-3 h-3"})})]}):e.jsx("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:190",onClick:()=>h.current?.click(),className:"border-2 border-dashed border-border rounded-lg p-3 text-center cursor-pointer hover:border-amber-500/50 transition-colors mt-1",children:u?e.jsx("p",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:192",className:"text-xs text-muted-foreground",children:"â³ à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¹à¸«à¸¥à¸..."}):e.jsxs("p",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:194",className:"text-xs text-muted-foreground",children:[e.jsx(b,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:194",className:"w-4 h-4 mx-auto mb-1"}),"à¸à¸¥à¸´à¸à¸à¸±à¸à¹à¸«à¸¥à¸à¹à¸¥à¹à¸à¹"]}
1)})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:199",children:[e.jsx("label",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:200",className:"text-xs text-muted-foreground",children:"à¸à¸±à¸à¸à¸±à¸ (1 = สูà¸à¸ªà¸¸à¸)"}),e.jsx(g,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:201",type:"number",min:1,max:5,value:s.rank,onChange:a=>c({...s,rank:parseInt(a.target.value)||1})})]})]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:210",className:"flex gap-2",children:[e.jsx(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:211",onClick:U,className:"bg-amber-500 hover:bg-amber-600 text-white",children:i?"à¸à¸±à¸à¹à¸à¸":"à¹à¸à¸´à¹à¸¡"}),e.jsx(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:214",variant:"outline",onClick:A,children:"ยà¸à¹à¸¥à¸´à¸"})]})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:220",className:"space-y-2",children:o.length===0?e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:222",className:"text-center py-8 text-muted-foreground",children:[e.jsx(G,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:223",className:"w-10 h-10 mx-auto mb-2 opacity-30"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:224",className:"text-sm",children:"ยัà¸à¹à¸¡à¹à¸¡à¸µà¹à¸§à¹à¸à¹à¸à¸°à¸à¸³"}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:225",className:"text-xs",children:'à¸à¸à¸à¸¸à¹à¸¡ "à¹à¸à¸´à¹à¸¡à¹à¸§à¹à¸" à¹à¸à¸·à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸'})]}):o.map((a,t)=>e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:229",className:`flex items-center gap-3 p-3 rounded-xl border ${a.isActive?"border-border bg-card":"border-border/30 bg-card/50 opacity-60"}`,children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:234",className:"w-8 h-8 rounded-lg bg-gradient-to-br from-amber-500 to-orange-600 flex items-center justify-center text-white text-xs font-bold shrink-0",children:["#",a.rank]}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:239",className:"flex-1 min-w-0",children:[e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:240",className:"flex items-center gap-2",children:[e.jsx("p",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:241",className:"text-sm font-semibold text-foreground truncate",children:a.name}),!a.isActive&&e.jsx("span",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:243",className:"text-[9px] px-1.5 py-0.5 rounded bg-red-500/20 text-red-400",children:"à¸à¸´à¸"})]}),e.jsx("p",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:246",className:"text-[10px] text-muted-foreground truncate",children:a.url}),a.description&&e.jsx("p",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:248",className:"text-[10px] text-blue-400 truncate",children:a.description})]}),e.jsx("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:253",className:"text-center shrink-0",children:e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:254",className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[e.jsx(X,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:255",className:"w-3 h-3"}),e.jsx("span",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:256",children:a.clickCount})]})}),e.jsxs("div",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:261",className:"flex items-center gap-1 shrink-0",children:[e.jsx(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:262",size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>M(a,t),children:e.jsx($,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:263",className:"w-3 h-3"})}),e.jsx(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:265",size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>L(a,t),children:e.jsx(B,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:266",className:"w-3 h-3"})}),e.jsx(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:268",size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>E(a),children:a.isActive?e.jsx(D,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:269",className:"w-3 h-3 text-green-400"}):e.jsx(O,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:269",className:"w-3 h-3 text-red-400"})}),e.jsx(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:271",size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>C(a),children:e.jsx(Q,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:272",className:"w-3 h-3 text-blue-400"})}),e.jsx(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:274",size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>{confirm("à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸à¹à¸§à¹à¸à¸à¸µà¹?")&&y.mutate({id:a.id})},children:e.jsx(W,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:282",className:"w-3 h-3 text-red-400"})}),e.jsx("a",{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:284",href:a.url,target:"_blank",rel:"noopener noreferrer",children:e.jsx(n,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:285",size:"sm",variant:"ghost",className:"h-7 w-7 p-0",children:e.jsx(_,{"data-loc":"client/src/pages/admin/AdminRecommendedSitesPage.tsx:286",className:"w-3 h-3"})})})]})]},a.id))})]})}export{re 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.