"use client"; import { useSearch } from "@tanstack/react-router"; import { Badge } from "@workspace/ui/components/badge"; import { ProTable } from "@workspace/ui/composed/pro-table/pro-table"; import { filterResetSubscribeLog } from "@workspace/ui/services/admin/log"; import { useTranslation } from "react-i18next"; import { OrderLink } from "@/components/order-link"; import { UserDetail, UserSubscribeDetail } from "@/sections/user/user-detail"; import { formatDate } from "@/utils/common"; export default function ResetSubscribeLogPage() { const { t } = useTranslation("log"); const sp = useSearch({ strict: false }) as Record; const today = new Date().toISOString().split("T")[0]; const getResetSubscribeTypeText = (type: number) => { const typeText = t(`type.${type}`, { defaultValue: "" }); if (!typeText) { return `${t("unknown", "Unknown")} (${type})`; } return typeText; }; const initialFilters = { date: sp.date || today, user_subscribe_id: sp.user_subscribe_id || undefined, }; return ( columns={[ { accessorKey: "user", header: t("column.user", "User"), cell: ({ row }) => , }, { accessorKey: "user_subscribe_id", header: t("column.subscribeId", "Subscribe ID"), cell: ({ row }) => ( ), }, { accessorKey: "type", header: t("column.type", "Type"), cell: ({ row }) => ( {getResetSubscribeTypeText(row.original.type)} ), }, { accessorKey: "order_no", header: t("column.orderNo", "Order No."), cell: ({ row }) => , }, { accessorKey: "timestamp", header: t("column.time", "Time"), cell: ({ row }) => formatDate(row.original.timestamp), }, ]} header={{ title: t("title.resetSubscribe", "Reset Subscribe Log") }} initialFilters={initialFilters} params={[ { key: "date", type: "date" }, { key: "user_subscribe_id", placeholder: t("column.subscribeId", "Subscribe ID"), }, ]} request={async (pagination, filter) => { const { data } = await filterResetSubscribeLog({ page: pagination.page, size: pagination.size, date: (filter as any)?.date, user_subscribe_id: (filter as any)?.user_subscribe_id ? Number((filter as any)?.user_subscribe_id) : undefined, }); const list = (data?.data?.list || []) as any[]; const total = Number(data?.data?.total || list.length); return { list, total }; }} /> ); }