PageSourceSearch

https://go853c.manus.space/assets/AdminGoPoint-B0WgrBl2.js

js go853c.manus.space collected 2026-10-03 05:04:44 UTC 35,176 bytes, 1 lines download raw bytes

1import{j as i,aQ as b,bb as y,bc as f,aR as C,t as P,g as h,r as G,ag as r,ae as _,S as B,E as Q,G as $}from"./index-DxpMJHht.js";import{A as K}from"./AdminLayout-0d316vlG.js";import{T as V,a as Y,b as R,c as E}from"./tabs-Zc2A4MFN.js";import{I as o}from"./input-BM87a4su.js";import{L as d}from"./label-N5PEA7-o.js";import{B as I}from"./badge-DsT5f29h.js";import{S as M}from"./switch-CjwOTAC6.js";import{D as L,a as w,b as S,c as T,d as O}from"./useComposition-XW7wi1uU.js";import{S as F,a as q,b as J,c as W,d as k}from"./select-DmrdHioO.js";import{T as z,a as U,b as N,c as g,d as D,e as m}from"./table-04dY2NzI.js";import{P as H}from"./pencil-DATbeRuH.js";import"./users-pO4YXYoT.js";import"./message-square-BL6WhYih.js";import"./credit-card-CBqiWxzd.js";import"./scroll-text-S2xX2Zri.js";import"./brain-BILY2OXr.js";import"./shield-check-B-c2fWxU.js";import"./code-xml-CbOybmm2.js";import"./link-2-CKikx1IH.js";import"./index-BrCzSc1v.js";import"./index-DpvxDjfc.js";import"./index-Dd2B6ZeX.js";import"./index-B3jfGoxH.js";import"./usePersistFn-D0m5YWYz.js";const X={onetime:"一次性",daily:"每日",weekly:"每週",social:"社交裂變"},Z={onetime:"bg-purple-100 text-purple-700",daily:"bg-blue-100 text-blue-700",weekly:"bg-green-100 text-green-700",social:"bg-orange-100 text-orange-700"};function ii(){const A=P.useUtils(),{data:u=[],isLoading:v}=P.gopoint.adminListTasks.useQuery(),x=P.gopoint.adminUpdateTask.useMutation({onSuccess:()=>{A.gopoint.adminListTasks.invalidate(),h.success("任務已更新"),s(null)},onError:a=>h.error("更新失敗",{description:a.message})}),p=P.gopoint.adminCreateTask.useMutation({onSuccess:()=>{A.gopoint.adminListTasks.invalidate(),h.success("任務已新增"),j(!1)},onError:a=>h.error("新增失敗",{description:a.message})}),[n,s]=G.useState(null),[l,j]=G.useState(!1),[e,c]=G.useState({taskCode:"",taskName:"",taskCategory:"onetime",rewardGp:10,dailyLimit:0,weeklyLimit:0,monthlyLimit:0,totalLimit:0,description:"",isActive:!0,sortOrder:0});return i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:96",className:"space-y-4",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:97",className:"flex items-center justify-between",children:[i.jsxs("p",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:98",className:"text-sm text-muted-foreground",children:["共 ",u.length," 個任務 · 月度免費獲取上限:",i.jsx("strong",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:99",children:"800 GP"}),"(一次性任務豁免)"]}),i.jsxs(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:101",size:"sm",onClick:()=>j(!0),children:[i.jsx(_,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:102",size:14,className:"mr-1"})," 新增任務"]})]}),v?i.jsx("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:107",className:"text-center py-8 text-muted-foreground",children:"載入中..."}):i.jsxs(z,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:109",children:[i.jsx(U,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:110",children:i.jsxs(N,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:111",children:[i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:112",children:"任務代碼"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:113",children:"任務名稱"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:114",children:"類別"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:115",className:"text-right",children:"獎勵 GP"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:116",children:"每日/週/月上限"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:117",children:"說明"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:118",children:"狀態"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:119",children:"操作"})]})}),i.jsx(D,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:122",children:u.map(a=>i.jsxs(N,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:124",children:[i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:125",className:"font-mono text-xs",children:a.taskCode}),i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:126",className:"font-medium",children:a.taskName}),i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:127",children:i.jsx("span",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:128",className:`px-2 py-0.5 rounded text-xs font-medium ${Z[a.taskCategory]??""}`,children:X[a.taskCategory]??a.taskCategory})}),i.jsxs(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:132",className:"text-right font-semibold text-amber-600",children:["+",a.rewardGp]}),i.jsxs(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:133",className:"text-xs text-muted-foreground",children:[a.dailyLimit>0&&`日${a.dailyLimit} `,a.weeklyLimit>0&&`週${a.weeklyLimit} `,a.monthlyLimit>0&&`月${a.monthlyLimit}`,a.totalLimit===1&&"僅1次",a.dailyLimit===0&&a.weeklyLimit===0&&a.monthlyLimit===0&&a.totalLimit!==1&&"—"]}
1),i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:140",className:"text-xs text-muted-foreground max-w-[160px] truncate",children:a.description??"—"}),i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:141",children:i.jsx(M,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:142",checked:a.isActive,onCheckedChange:t=>x.mutate({id:a.id,isActive:t})})}),i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:149",children:i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:150",variant:"ghost",size:"icon",onClick:()=>s(a),children:i.jsx(H,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:151",size:14})})})]},a.id))})]}),n&&i.jsx(L,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:162",open:!!n,onOpenChange:()=>s(null),children:i.jsxs(w,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:163",className:"max-w-md",children:[i.jsx(S,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:164",children:i.jsxs(T,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:165",children:["編輯任務:",n.taskName]})}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:167",className:"space-y-3",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:168",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:169",children:"任務名稱"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:170",value:n.taskName,onChange:a=>s({...n,taskName:a.target.value})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:175",className:"grid grid-cols-2 gap-3",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:176",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:177",children:"獎勵 GP"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:178",type:"number",value:n.rewardGp,onChange:a=>s({...n,rewardGp:Number(a.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:184",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:185",children:"排序"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:186",type:"number",value:n.sortOrder,onChange:a=>s({...n,sortOrder:Number(a.target.value)})})]})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:193",className:"grid grid-cols-3 gap-3",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:194",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:195",children:"每日上限"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:196",type:"number",value:n.dailyLimit,onChange:a=>s({...n,dailyLimit:Number(a.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:202",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:203",children:"每週上限"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:204",type:"number",value:n.weeklyLimit,onChange:a=>s({...n,weeklyLimit:Number(a.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:210",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:211",children:"每月上限"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:212",type:"number",value:n.monthlyLimit,onChange:a=>s({...n,monthlyLimit:Number(a.target.value)})})]})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:219",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:220",children:"任務說明"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:221",value:n.description??"",onChange:a=>s({...n,description:a.target.value})})]})]}),i.jsxs(O,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:227",children:[i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:228",variant:"outline",onClick:()=>s(null),children:"取消"}),i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:229",onClick:()=>x.mutate({id:n.id,taskName:n.taskName,rewardGp:n.rewardGp,dailyLimit:n.dailyLimit,weeklyLimit:n.weeklyLimit,monthlyLimit:n.monthlyLimit,description:n.description??void 0,sortOrder:n.sortOrder}),disabled:x.isPending,children:x.isPending?"保存中...":"保存"})]})]})}),i.jsx(L,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:250",open:l,onOpenChange:j,children:i.jsxs(w,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:251",className:"max-w-md",children:[i.jsx(S,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:252",children:i.jsx(T,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:253",children:"新增 GoPoint 任務"})}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:255",className:"space-y-3",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:256",className:"grid grid-cols-2 gap-3",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:257",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:258",children:"任務代碼(唯一)"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:259",placeholder:"e.g. complete_profile",value:e.taskCode,onChange:a=>c({...e,taskCode:a.target.value})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:265",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:266",children:"任務類別"}),i.jsxs(F,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:267",value:e.taskCategory,onValueChange:a=>c({...e,taskCategory:a}),children:[i.jsx(q,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:271",children:i.jsx(J,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:271"})}),i.jsxs(W,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:272",children:[i.jsx(k,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:273",value:"onetime",children:"一次性"}),i.jsx(k,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:274",value:"daily",children:"每日"}),i.jsx(k,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:275",value:"weekly",children:"每週"}),i.jsx(k,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:276",value:"social",children:"社交裂變"})]})]})]})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:281",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:282",children:"任務名稱"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:283",placeholder:"e.g. 完善個人資料",value:e.taskName,onChange:a=>c({...e,taskName:a.target.value})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:289",className:"grid grid-cols-2 gap-3",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:290",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:291",children:"獎勵 GP"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:292",type:"number",value:e.rewardGp,onChange:a=>c({...e,rewardGp:Number(a.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:298",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:299",children:"排序"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:300",type:"number",value:e.sortOrder,onChange:a=>c({...e,sortOrder:Number(a.target.value)})})]})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:307",className:"grid grid-cols-3 gap-3",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:308",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:309",children:"每日上限"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:310",type:"number",value:e.dailyLimit,onChange:a=>c({...e,dailyLimit:Number(a.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:312",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:313",children:"每週上限"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:314",type:"number",value:e.weeklyLimit,onChange:a=>c({...e,weeklyLimit:Number(a.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:316",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:317",children:"每月上限"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:318",type:"number",value:e.monthlyLimit,onChange:a=>c({...e,monthlyLimit:Number(a.target.value)})})]})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:321",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:322",children:"任務說明"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:323",placeholder:"可選說明文字",value:e.description,onChange:a=>c({...e,description:a.target.value})})]})]}),i.jsxs(O,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:330",children:[i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:331",variant:"outline",onClick:()=>j(!1),children:"取消"}),i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:332",onClick:()=>p.mutate(e),disabled:p.isPending||!e.taskCode||!e.taskName,children:p.isPending?"新增中...":"新增任務"})]})]})})]})}function ti(){const A=P.useUtils(),{data:u,isLoading:v}=P.gopoint.getExchangeRate.useQuery(),[x,p]=G.useState(""),n=P.gopoint.adminSetExchangeRate.useMutation({onSuccess:()=>
1{A.gopoint.getExchangeRate.invalidate(),h.success("充値比例已更新")},onError:l=>h.error("更新失敗",{description:l.message})}),s=u?.rate??10;return i.jsxs(b,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:359",className:"mb-6 border-orange-200 bg-orange-50/40",children:[i.jsxs(y,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:360",className:"pb-3",children:[i.jsxs(f,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:361",className:"text-base flex items-center gap-2",children:[i.jsx("span",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:362",className:"text-orange-500",children:"⚡"})," GoPoint 充値基礎比例設定"]}),i.jsx("p",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:364",className:"text-sm text-muted-foreground mt-1",children:"設定 1 MOP 對應多少 GP,此比例用於前台充値頁面顯示說明。充値套餐的實際 GP 數量以下方套餐設定為準。"})]}),i.jsx(C,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:368",children:i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:369",className:"flex items-center gap-4 flex-wrap",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:370",className:"flex items-center gap-2 text-sm text-muted-foreground",children:["目前比例:",v?i.jsx("span",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:373",className:"text-gray-400",children:"載入中..."}):i.jsxs("span",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:375",className:"font-bold text-orange-600 text-base",children:["1 MOP = ",s," GP"]})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:378",className:"flex items-center gap-2 ml-auto",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:379",className:"text-sm whitespace-nowrap",children:"更新為:1 MOP ="}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:380",type:"number",min:1,max:1e3,placeholder:String(s),value:x,onChange:l=>p(l.target.value===""?"":Number(l.target.value)),className:"w-24"}),i.jsx("span",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:389",className:"text-sm text-muted-foreground",children:"GP"}),i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:390",size:"sm",disabled:n.isPending||x===""||Number(x)<1,onClick:()=>n.mutate({rate:Number(x)}),children:n.isPending?"更新中...":"保存"})]})]})})]})}function ai(){const A=P.useUtils(),{data:u=[],isLoading:v}=P.gopoint.adminListRechargePlans.useQuery(),x=P.gopoint.adminUpdateRechargePlan.useMutation({onSuccess:()=>{A.gopoint.adminListRechargePlans.invalidate(),h.success("套餐已更新"),l(null)},onError:t=>h.error("更新失敗",{description:t.message})}),p=P.gopoint.adminCreateRechargePlan.useMutation({onSuccess:()=>{A.gopoint.adminListRechargePlans.invalidate(),h.success("套餐已新增"),e(!1)},onError:t=>h.error("新增失敗",{description:t.message})}),n=P.gopoint.adminUpdateRechargePlan.useMutation({onSuccess:()=>{A.gopoint.adminListRechargePlans.invalidate(),h.success("套餐狀態已更新")},onError:t=>h.error("操作失敗",{description:t.message})}),[s,l]=G.useState(null),[j,e]=G.useState(!1),[c,a]=G.useState({amountMop:100,gpAmount:100,bonusGp:0,isActive:!0,sortOrder:0,description:""});return i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:441",className:"space-y-4",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:442",className:"flex items-center justify-between",children:[i.jsxs("p",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:443",className:"text-sm text-muted-foreground",children:["共 ",u.length," 個充值套餐"]}),i.jsxs(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:444",size:"sm",onClick:()=>e(!0),children:[i.jsx(_,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:445",size:14,className:"mr-1"})," 新增套餐"]})]}),v?i.jsx("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:450",className:"text-center py-8 text-muted-foreground",children:"載入中..."}):i.jsx("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:452",className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:u.map(t=>i.jsxs(b,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:454",className:t.isActive?"":"opacity-50",children:[i.jsx(y,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:455",className:"pb-2",children:i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:456",className:"flex items-center justify-between",children:[i.jsxs(f,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:457",className:"text-lg",children:["MOP ",t.amountMop]}),i.jsx(I,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:458",variant:t.isActive?"default":"secondary",children:t.isActive?"上架":"下架"})]})}),i.jsxs(C,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:463",className:"space-y-2",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:464",className:"text-2xl font-bold text-amber-600",children:[t.gpAmount," GP",t.bonusGp>0&&i.jsxs("span",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:467",className:"text-sm font-normal text-green-600 ml-2",children:["+",t.bonusGp," 贈送"]})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:470",className:"text-xs text-muted-foreground",children:["實際獲得:",t.gpAmount+t.bonusGp," GP"]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:473",className:"flex gap-2 mt-2",children:[i.jsxs(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:474",variant:"outline",size:"sm",className:"flex-1",onClick:()=>l(t),children:[i.jsx(H,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:475",size:12,className:"mr-1"})," 編輯"]}),i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:477",variant:t.isActive?"destructive":"default",size:"sm",className:"flex-1",disabled:n.isPending,onClick:()=>n.mutate({id:t.id,isActive:!t.isActive}),children:t.isActive?"下架":"上架"})]})]})]},t.id))}),s&&i.jsx(L,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:495",open:!!s,onOpenChange:()=>l(null),children:i.jsxs(w,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:496",className:"max-w-sm",children:[i.jsx(S,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:497",children:i.jsx(T,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:498",children:"編輯充值套餐"})}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:500",className:"space-y-3",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:501",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:502",children:"金額(MOP)"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:503",type:"number",value:s.amountMop,onChange:t=>l({...s,amountMop:Number(t.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:505",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:506",children:"GP 數量"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:507",type:"number",value:s.gpAmount,onChange:t=>l({...s,gpAmount:Number(t.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:509",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:510",children:"贈送 GP(0 = 不贈送)"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:511",type:"number",value:s.bonusGp,onChange:t=>l({...s,bonusGp:Number(t.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:513",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:514",children:"排序(數字越小越靠前)"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:515",type:"number",value:s.sortOrder??0,onChange:t=>l({...s,sortOrder:Number(t.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:517",className:"flex items-center gap-2",children:[i.jsx(M,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:518",checked:s.isActive,onCheckedChange:t=>l({...s,isActive:t})}),i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:519",children:"上架"})]})]}),i.jsxs(O,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:522",children:[i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:523",variant:"outline",onClick:()=>l(null),children:"取消"}),i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:524",onClick:()=>x.mutate({id:s.id,amountMop:s.amountMop,gpAmount:s.gpAmount,bonusGp:s.bonusGp,isActive:s.isActive,sortOrder:s.sortOrder??0}),disabled:x.isPending,children:x.isPending?"保存中...":"保存"})]})]})}),i.jsx(L,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:536",open:j,onOpenChange:e,children:i.jsxs(w,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:537",className:"max-w-sm",children:[i.jsx(S,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:538",children:i.jsx(T,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:539",children:"新增充值套餐"})}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:541",className:"space-y-3",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:542",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:543",children:"金額(MOP)"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:544",type:"number",min:1,value:c.amountMop,onChange:t=>a({...c,amountMop:Number(t.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:546",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:547",children:"GP 數量"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:548",type:"number",min:1,value:c.gpAmount,onChange:t=>a({...c,gpAmount:Number(t.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:550",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:551",children:"贈送 GP(0 = 不贈送)"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:552",type:"number",min:0,value:c.bonusGp,onChange:t=>a({...c,bonusGp:Number(t.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:554",children:[i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:555",children:"排序(數字越小越靠前)"}),i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:556",type:"number",value:c.sortOrder,onChange:t=>a({...c,sortOrder:Number(t.target.value)})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:558",className:"flex items-center gap-2",children:[i.jsx(M,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:559",checked:c.isActive,onCheckedChange:t=>a({...c,isActive:t})}),i.jsx(d,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:560",children:"立即上架"})]})]}),i.jsxs(O,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:563",children:[i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:564",variant:"outline",onClick:()=>e(!1),children:"取消"}),i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:565",onClick:()=>p.mutate(c),disabled:p.isPending,children:p.isPending?"新增中...":"新增"})]})]})})]})}function si(){const[A,u]=G.useState(""),[v,x]=G.useState(""),[p,n]=G.useState(null),[s,l]=G.useState(1),{data:j}=P.gopoint.adminListUserGpSummary.useQuery({search:A||void 0,page:1,pageSize:20}),{data:e}=P.gopoint.adminGetUserGpHistory.useQuery({userId:p,page:s,pageSize:20},{enabled:!!p}),c=j?.items.find(t=>
1t.id===p),a={task_reward:"任務獎勵",recharge:"充值",admin_adjust:"管理員調整",spend:"消費",refund:"退款",subscription_bonus:"套餐贈送",referral_bonus:"邀請獎勵"};return i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:606",className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:608",className:"space-y-3",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:609",className:"flex gap-2",children:[i.jsx(o,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:610",placeholder:"搜索用戶名/手機/郵箱...",value:v,onChange:t=>x(t.target.value),onKeyDown:t=>t.key==="Enter"&&u(v)}),i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:616",variant:"outline",size:"icon",onClick:()=>u(v),children:i.jsx(B,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:617",size:14})})]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:620",className:"text-xs text-muted-foreground",children:["共 ",j?.total??0," 名用戶"]}),i.jsx("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:621",className:"border rounded-lg overflow-hidden",children:i.jsxs(z,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:622",children:[i.jsx(U,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:623",children:i.jsxs(N,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:624",children:[i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:625",children:"用戶"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:626",className:"text-right",children:"GP 餘額"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:627",children:"套餐"})]})}),i.jsx(D,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:630",children:(j?.items??[]).map(t=>i.jsxs(N,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:632",className:`cursor-pointer ${p===t.id?"bg-muted":"hover:bg-muted/50"}`,onClick:()=>{n(t.id),l(1)},children:[i.jsxs(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:637",children:[i.jsx("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:638",className:"font-medium text-sm",children:t.name??"未設置"}),i.jsx("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:639",className:"text-xs text-muted-foreground",children:t.email??t.mobile??"—"})]}),i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:641",className:"text-right font-semibold text-amber-600",children:t.points}),i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:642",className:"text-xs",children:t.subscriptionType??"free"})]},t.id))})]})})]}),i.jsx("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:651",className:"space-y-3",children:c?i.jsxs(i.Fragment,{children:[i.jsx("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:654",className:"flex items-center justify-between",children:i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:655",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:656",className:"font-semibold",children:[c.name??"未設置"," 的 GP 記錄"]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:657",className:"text-sm text-muted-foreground",children:["當前餘額:",i.jsxs("span",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:657",className:"text-amber-600 font-bold",children:[c.points," GP"]})]})]})}),i.jsx("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:660",className:"border rounded-lg overflow-hidden",children:i.jsxs(z,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:661",children:[i.jsx(U,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:662",children:i.jsxs(N,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:663",children:[i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:664",children:"類型"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:665",className:"text-right",children:"金額"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:666",children:"備注"}),i.jsx(g,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:667",children:"時間"})]})}),i.jsxs(D,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:670",children:[(e?.items??[]).map(t=>i.jsxs(N,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:672",children:[i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:673",children:i.jsx(I,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:674",variant:"outline",className:"text-xs",children:a[t.type]??t.type})}),i.jsxs(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:678",className:`text-right font-semibold ${t.amount>0?"text-green-600":"text-red-500"}`,children:[t.amount>0?"+":"",t.amount]}),i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:681",className:"text-xs text-muted-foreground max-w-[120px] truncate",children:t.reason??"—"}),i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:682",className:"text-xs text-muted-foreground",children:new Date(t.createdAt).toLocaleDateString("zh-HK")})]},t.id)),(e?.items??[]).length===0&&i.jsx(N,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:688",children:i.jsx(m,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:689",colSpan:4,className:"text-center text-muted-foreground py-6",children:"暫無記錄"})})]})]})}),(e?.total??0)>20&&i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:697",className:"flex items-center justify-between text-sm",children:[i.jsxs("span",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:698",className:"text-muted-foreground",children:["共 ",e?.total," 條"]}),i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:699",className:"flex gap-2",children:[i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:700",variant:"outline",size:"icon",disabled:s===1,onClick:()=>l(t=>t-1),children:i.jsx(Q,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:701",size:14})}),i.jsxs("span",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:703",className:"px-2 py-1",children:["第 ",s," 頁"]}),i.jsx(r,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:704",variant:"outline",size:"icon",disabled:s*20>=(e?.total??0),onClick:()=>l(t=>t+1),children:i.jsx($,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:705",size:14})})]})]})]}):i.jsx("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:712",className:"flex items-center justify-center h-48 text-muted-foreground border rounded-lg",children:"← 點選左側用戶查看 GP 記錄"})})]})}function Li(){return i.jsx(K,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:724",children:i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:725",className:"space-y-6",children:[i.jsxs("div",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:726",children:[i.jsx("h1",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:727",className:"text-2xl font-bold",children:"GP 任務設置"}),i.jsx("p",{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:728",className:"text-muted-foreground text-sm mt-1",children:"管理任務定義、充值套餐及用戶 GP 流水記錄"})]}),i.jsxs(V,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:733",defaultValue:"tasks",children:[i.jsxs(Y,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:734",children:[i.jsx(R,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:735",value:"tasks",children:"任務管理"}),i.jsx(R,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:736",value:"recharge",children:"充值套餐"}),i.jsx(R,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:737",value:"records",children:"用戶 GP 記錄"})]}),i.jsx(E,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:740",value:"tasks",className:"mt-4",children:i.jsxs(b,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:741",children:[i.jsx(y,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:742",children:i.jsx(f,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:743",className:"text-base",children:"GoPoint 任務定義"})}),i.jsx(C,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:745",children:i.jsx(ii,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:746"})})]})}),i.jsxs(E,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:751",value:"recharge",className:"mt-4",children:[i.jsx(ti,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:752"}),i.jsxs(b,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:753",children:[i.jsx(y,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:754",children:i.jsx(f,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:755",className:"text-base",children:"GP 充值套餐"})}),i.jsx(C,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:757",children:i.jsx(ai,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:758"})})]})]}),i.jsx(E,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:763",value:"records",className:"mt-4",children:i.jsxs(b,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:764",children:[i.jsx(y,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:765",children:i.jsx(f,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:766",className:"text-base",children:"用戶 GP 流水記錄"})}),i.jsx(C,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:768",children:i.jsx(si,{"data-loc":"client/src/pages/admin/AdminGoPoint.tsx:769"})})]})})]})]})})}export{Li 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.