PageSourceSearch

https://myaffi.app/build/routes/admin.coupons._index-PN56ULOS.js

js myaffi.app collected 2026-10-02 01:15:15 UTC 12,451 bytes, 1 lines download raw bytes

1import{a as J}from"/build/_shared/chunk-JL5IET5I.js";import{a as m}from"/build/_shared/chunk-3MTBYWBU.js";import{a as $}from"/build/_shared/chunk-2PQHNWQF.js";import"/build/_shared/chunk-D266VSQY.js";import{a as B,b as z,c as E,d as H,e as w}from"/build/_shared/chunk-FKZBWAKK.js";import{a as i}from"/build/_shared/chunk-JFGVQWTN.js";import{a as O}from"/build/_shared/chunk-N425TMY6.js";import{a as L,b as D,c as U}from"/build/_shared/chunk-NGAC2VA3.js";import"/build/_shared/chunk-3SC2VAC3.js";import"/build/_shared/chunk-OK2A2S6H.js";import{L as j}from"/build/_shared/chunk-RNLA4Z5M.js";import"/build/_shared/chunk-BGNCMAKJ.js";import"/build/_shared/chunk-W34J4AVZ.js";import{r as M}from"/build/_shared/chunk-4AGFH5QJ.js";import{a as N}from"/build/_shared/chunk-6TKYLUTA.js";import{a as me,j as P,m as R,n as y,r as T,x as A}from"/build/_shared/chunk-RRQGU4LS.js";import{d as v}from"/build/_shared/chunk-T36URGAI.js";var r=v(me());var e=v(A()),de=[{key:"image",label:"\u753B\u50CF"},{key:"coupon_id",label:"ID"},{key:"name",label:"\u540D\u524D"},{key:"type_badges",label:"\u7A2E\u5225"},{key:"partner_name",label:"\u52A0\u76DF\u5E97\u8217"},{key:"start_time",label:"\u958B\u59CB"},{key:"end_time",label:"\u7D42\u4E86"},{key:"is_running",label:"\u7A3C\u50CD\u4E2D"}],ue=[{key:"image",label:"\u753B\u50CF"},{key:"coupon_id",label:"ID"},{key:"name",label:"\u540D\u524D"},{key:"type_badges",label:"\u7A2E\u5225"},{key:"start_time",label:"\u958B\u59CB"},{key:"end_time",label:"\u7D42\u4E86"},{key:"is_running",label:"\u7A3C\u50CD\u4E2D"}],pe=[{color:"green",label:"\u7A3C\u50CD\u4E2D",value:"\u7A3C\u50CD\u4E2D"},{color:"gray",label:"\u505C\u6B62\u4E2D",value:"\u505C\u6B62\u4E2D"}];function V(){let{t:a,lang:l}=N(),{coupons:p,isAdmin:n,allPartners:d}=T(),[f]=P(),[u,x]=(0,r.useState)(""),o=p.filter(t=>u?t.partner?.partner_id===Number(u):!0).map(t=>({...t,status_label:t.is_running?"\u7A3C\u50CD\u4E2D":"\u505C\u6B62\u4E2D"})),s=f.get("selected"),c=s?p.find(t=>t.coupon_id===Number(s))??null:null,_=s?(()=>{let t=o.findIndex(b=>b.coupon_id===Number(s));return t>=0?Math.floor(t/10)+1:1})():1,[h,k]=(0,r.useState)(c),[W,q]=(0,r.useState)(c?.coupon_id??null),{currentPage:G,dateRanges:g,filter:K,handleSort:Q,numberRanges:X,pageSize:Y,paginatedData:S,setCurrentPage:C,setDateRange:Z,setFilter:ee,setNumberRange:te,setPageSize:ae,setStatusFilter:ne,sortConfig:le,statusFilter:oe,totalItems:I}=U({data:o,dateRangeFields:["start_time","end_time","gettable_start_time","gettable_end_time"],defaultPageSize:10,initialPage:_,numberRangeFields:["capacity"],statusField:"status_label"}),re=[{...g.start_time,field:"start_time",label:a("\u5229\u7528\u958B\u59CB\u65E5")},{...g.end_time,field:"end_time",label:a("\u5229\u7528\u7D42\u4E86\u65E5")},{...g.gettable_start_time,field:"gettable_start_time",label:a("\u53D6\u5F97\u53EF\u80FD\u958B\u59CB\u65E5")},{...g.gettable_end_time,field:"gettable_end_time",label:a("\u53D6\u5F97\u53EF\u80FD\u7D42\u4E86\u65E5")}],se=[{...X.capacity,field:"capacity",label:a("\u4F7F\u7528\u53EF\u80FD\u6570")}],F=n?de:ue,ie=t=>{let b=[{key:"coupon_id",label:a("\u30AF\u30FC\u30DD\u30F3ID"),value:t.coupon_id},{key:"name",label:a("\u540D\u524D"),value:t.name},{key:"detail",label:a("\u8A73\u7D30"),value:t.detail},{key:"start_time",label:a("\u958B\u59CB\u6642\u9593"),value:i(t.start_time,l)},{key:"end_time",label:a("\u7D42\u4E86\u6642\u9593"),value:i(t.end_time,l)},{key:"gettable_start_time",label:a("\u53D6\u5F97\u53EF\u80FD\u958B\u59CB\u6642\u9593"),value:i(t.gettable_start_time,l)},{key:"gettable_end_time",label:a("\u53D6\u5F97\u53EF\u80FD\u7D42\u4E86\u6642\u9593"),value:i(t.gettable_end_time,l)},{key:"capacity",label:a("\u4F7F\u7528\u53EF\u80FD\u6570"),value:t.capacity},{key:"type_badges",label:a("\u7A2E\u5225"),value:[t.is_coupon&&a("\u30AF\u30FC\u30DD\u30F3"),t.is_lottery&&a("\u30AC\u30C1\u30E3")].filter(Boolean).join(", ")||a("\u306A\u3057")},{key:"category",label:a("\u30AB\u30C6\u30B4\u30EA\u540D"),value:t.category?.name},{key:"is_lottery",label:a("\u30AC\u30C1\u30E3"),value:t.is_lottery?a("\u6709\u52B9"):a("\u7121\u52B9")},{key:"is_running",label:a("\u7A3C\u50CD\u4E2D"),value:t.is_running?a("\u6709\u52B9"):a("\u7121\u52B9")},{key:"is_open",label:a("\u516C\u958B\u4E2D"),value:t.is_open?a("\u516C\u958B"):a("\u975E\u516C\u958B")}];return n&&t.partner&&b.splice(2,0,{key:"partner",label:a("\u30D1\u30FC\u30C8\u30CA\u30FC"),value:t.partner.name}),b};return(0,e.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,e.jsxs)("div",{className:"sm:flex sm:items-center sm:justify-between",children:[(0,e.jsxs)("div",{className:"sm:flex-auto",children:[(0,e.jsxs)("h1",{className:"text-2xl font-bold text-gray-900",children:[a("\u30AF\u30FC\u30DD\u30F3"),n&&(0,e.jsxs)("span",{className:"ml-2 text-base text-emerald-600",children:["(",a("\u5168\u5E97\u8217"),")"]})]}),(0,e.jsx)("p",{className:"mt-2 text-sm text-gray-600",children:a(n?"\u5168\u52A0\u76DF\u5E97\u8217\u306E\u30AF\u30FC\u30DD\u30F3\u4E00\u89A7\u3067\u3059\u3002":"\u52A0\u76DF\u5E97\u8217\u306E\u30AF\u30FC\u30DD\u30F3\u4E00\u89A7\u3067\u3059\u3002")})]}),(0,e.jsx)("div",{className:"mt-4 sm:ml-16 sm:mt-0 sm:flex-none flex items-center gap-3",children:(0,e.jsx)(R,{to:"/admin/coupons/add",className:"inline-flex items-center gap-2 rounded-lg bg-gradient-to-r from-blue-600 to-indigo-600 px-4 py-2.5 text-sm font-semibold text-white shadow-md hover:from-blue-500 hover:to-indigo-500 transition-all",children:a("\u30AF\u30FC\u30DD\u30F3\u3092\u8FFD\u52A0")})})]}),n&&(0,e.jsx)("div",{className:"mt-6 mb-0 rounded-lg border border-emerald-200 bg-emerald-50/50 p-3",children:(0,e.jsxs)("div",{className:"flex items-center gap-3",children:[(0,e.jsx)("span",{className:"text-sm font-medium text-emerald-700",children:a("\u5E97\u8217\u3067\u7D5E\u308A\u8FBC\u307F:")}),(0,e.jsxs)(B,{value:u||"__all__",onValueChange:t=>{x(t==="__all__"?"":t),C(1)},children:[(0,e.jsx)(E,{className:"w-64",children:(0,e.jsx)(z,{})}),(0,e.jsxs)(H,{children:[(0,e.jsx)(w,{value:"__all__",children:a("\u5168\u5E97\u8217")}),d.map(t=>(0,e.jsx)(w,{value:String(t.partner_id),children:t.name},t.partner_id))]})]}),(0,e.jsx)("span",{className:"text-xs text-emerald-600",children:a("\u7BA1\u7406\u8005\u30E2\u30FC\u30C9")})]})}),(0,e.jsxs)("div",{className:`${n?"mt-2":"mt-6"} flex flex-1 flex-col rounded-xl border border-gray-200 bg-white shadow-sm`,children:[(0,e.jsxs)("div",{className:"border-b border-gray-200 bg-gray-50/50 px-6 py-4 rounded-t-xl",children:[(0,e.jsx)(D,{value:K,onFilterChange:ee,placeholder:a("\u30AF\u30FC\u30DD\u30F3\u540D\u7B49\u3067\u691C\u7D22..."),statusOptions:pe,selectedStatus:oe,onStatusChange:ne,statusLabel:a("\u7A3C\u50CD\u72B6\u614B"),dateRangeFilters:re,onDateRangeChange:Z,numberRangeFilters:se,onNumberRangeChange:te}),(0,e.jsxs)("p",{className:"mt-3 text-sm text-gray-500",children:[I.toLocaleStr
1ing()," ",a("\u4EF6\u306E\u7D50\u679C")]})]}),(0,e.jsx)("div",{className:"flex-1 overflow-x-auto overflow-y-visible",children:(0,e.jsxs)("table",{className:"min-w-full divide-y divide-gray-200",children:[(0,e.jsx)(O,{columns:F,sortConfig:le,onSort:Q}),(0,e.jsx)("tbody",{className:"divide-y divide-gray-100 bg-white",children:S.length===0?(0,e.jsx)("tr",{children:(0,e.jsx)("td",{colSpan:F.length+1,className:"px-4 py-12 text-center",children:(0,e.jsx)("div",{className:"text-gray-500",children:(0,e.jsx)("p",{className:"text-sm font-medium",children:a("\u30C7\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093")})})})}):S.map(t=>(0,e.jsxs)("tr",{className:`hover:bg-gray-50/50 transition-colors ${W===t.coupon_id?"bg-blue-50 ring-2 ring-inset ring-blue-400":""}`,children:[(0,e.jsx)("td",{className:"whitespace-nowrap px-4 py-3.5",children:t.cover_photo_url?(0,e.jsx)(J,{src:t.cover_photo_url,alt:t.name}):(0,e.jsx)("div",{className:"h-10 w-10 rounded-lg bg-gray-100 flex items-center justify-center text-gray-400 text-xs",children:"No img"})}),(0,e.jsx)("td",{className:"whitespace-nowrap px-4 py-3.5 text-sm text-gray-900",children:t.coupon_id||"-"}),(0,e.jsx)("td",{className:"whitespace-nowrap px-4 py-3.5 text-sm text-gray-900",children:t.name||"-"}),(0,e.jsx)("td",{className:"whitespace-nowrap px-4 py-3.5 text-sm",children:(0,e.jsxs)("div",{className:"flex gap-1 flex-wrap",children:[t.is_coupon&&(0,e.jsx)("span",{className:"inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium bg-blue-50 text-blue-700 ring-1 ring-inset ring-blue-600/20",children:a("\u30AF\u30FC\u30DD\u30F3")}),t.is_lottery&&(0,e.jsx)("span",{className:"inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium bg-amber-50 text-amber-700 ring-1 ring-inset ring-amber-600/20",children:a("\u30AC\u30C1\u30E3")})]})}),n&&(0,e.jsx)("td",{className:"whitespace-nowrap px-4 py-3.5 text-sm text-gray-900",children:t.partner?.name||"-"}),(0,e.jsx)("td",{className:"whitespace-nowrap px-4 py-3.5 text-sm text-gray-500",children:i(t.start_time,l)}),(0,e.jsx)("td",{className:"whitespace-nowrap px-4 py-3.5 text-sm text-gray-500",children:i(t.end_time,l)}),(0,e.jsx)("td",{className:"whitespace-nowrap px-4 py-3.5 text-sm",children:(0,e.jsx)("span",{className:`inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium ${t.is_running?"bg-emerald-50 text-emerald-700 ring-1 ring-inset ring-emerald-600/20":"bg-gray-100 text-gray-700 ring-1 ring-inset ring-gray-600/20"}`,children:t.is_running?a("\u7A3C\u50CD\u4E2D"):a("\u505C\u6B62\u4E2D")})}),(0,e.jsx)("td",{className:"whitespace-nowrap px-4 py-3.5 text-right text-sm",children:(0,e.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,e.jsxs)("button",{type:"button",onClick:()=>{k(t),q(t.coupon_id)},className:"inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-sm font-medium text-blue-600 hover:bg-blue-50 transition-colors",children:[(0,e.jsx)(M,{className:"h-4 w-4"}),a("\u8A73\u7D30")]}),(0,e.jsx)(ce,{id:t.coupon_id,isAdmin:n,isRunning:t.is_running})]})})]},t.coupon_id))})]})}),(0,e.jsx)(L,{currentPage:G,pageSize:Y,totalItems:I,onPageChange:C,onPageSizeChange:ae})]}),(0,e.jsx)($,{isOpen:!!h,onClose:()=>k(null),title:a("\u30AF\u30FC\u30DD\u30F3\u8A73\u7D30"),items:h?ie(h):[]})]})}var ce=({id:a,isAdmin:l,isRunning:p})=>{let{t:n}=N(),d=(0,r.useRef)(null),[f,u]=(0,r.useState)(null),x=()=>{if(!d.current)return;let o=d.current.getBoundingClientRect(),s=d.current.closest(".overflow-x-auto"),c=s?s.getBoundingClientRect().bottom:window.innerHeight,_=160;o.bottom+_>c?u({bottom:window.innerHeight-o.top+4,left:o.right-160}):u({top:o.bottom+4,left:o.right-160})};return(0,e.jsxs)(m,{as:"div",className:"relative",children:[(0,e.jsx)(m.Button,{ref:d,onClick:x,className:"rounded-lg px-3 py-1.5 text-sm font-medium text-gray-600 hover:bg-gray-100 transition-colors",children:n("\u64CD\u4F5C")}),(0,e.jsx)(j,{as:r.Fragment,enter:"transition ease-out duration-100",enterFrom:"transform opacity-0 scale-95",enterTo:"transform opacity-100 scale-100",leave:"transition ease-in duration-75",leaveFrom:"transform opacity-100 scale-100",leaveTo:"transform opacity-0 scale-95",children:(0,e.jsxs)(m.Items,{className:"fixed z-50 w-48 rounded-xl bg-white py-2 shadow-lg ring-1 ring-gray-900/5 focus:outline-none",style:f??void 0,children:[!p&&(0,e.jsx)(m.Item,{children:(0,e.jsxs)(y,{action:"/admin/coupons/force-start",method:"post",children:[(0,e.jsx)("input",{type:"hidden",name:"id",value:a}),(0,e.jsx)("input",{type:"hidden",name:"isAdmin",value:String(l)}
1),(0,e.jsx)("button",{type:"submit",className:"block w-full text-left px-4 py-2 text-sm text-emerald-600 hover:bg-emerald-50",children:n("\u7A3C\u50CD\u958B\u59CB\u3059\u308B")})]})}),p&&(0,e.jsx)(m.Item,{children:(0,e.jsxs)(y,{action:"/admin/coupons/force-end",method:"post",children:[(0,e.jsx)("input",{type:"hidden",name:"id",value:a}),(0,e.jsx)("input",{type:"hidden",name:"isAdmin",value:String(l)}),(0,e.jsx)("button",{type:"submit",className:"block w-full text-left px-4 py-2 text-sm text-amber-600 hover:bg-amber-50",children:n("\u7A3C\u50CD\u505C\u6B62\u3059\u308B")})]})}),(0,e.jsx)(m.Item,{children:(0,e.jsxs)(y,{action:"/admin/coupons/delete",method:"post",children:[(0,e.jsx)("input",{type:"hidden",name:"id",value:a}),(0,e.jsx)("input",{type:"hidden",name:"isAdmin",value:String(l)}),(0,e.jsx)("button",{type:"submit",className:"block w-full text-left px-4 py-2 text-sm text-red-600 hover:bg-red-50",onClick:o=>{window.confirm(n("\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F"))||o.preventDefault()},children:n("\u524A\u9664\u3059\u308B")})]})})]})})]})};export{V 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.