♻️ refactor: Replace useQuery with Zustand store for subscription and node data management

This commit is contained in:
web
2025-09-17 02:20:54 -07:00
parent bdd53b1551
commit c6dd0b63f2
28 changed files with 448 additions and 359 deletions
+5 -17
View File
@@ -1,6 +1,5 @@
'use client';
import { useQuery } from '@tanstack/react-query';
import { useTranslations } from 'next-intl';
import { useSearchParams } from 'next/navigation';
import { useRef } from 'react';
@@ -8,7 +7,7 @@ import { useRef } from 'react';
import { Display } from '@/components/display';
import { ProTable, ProTableActions } from '@/components/pro-table';
import { getOrderList, updateOrderStatus } from '@/services/admin/order';
import { getSubscribeList } from '@/services/admin/subscribe';
import { useSubscribe } from '@/store/subscribe';
import { formatDate } from '@/utils/common';
import { Badge } from '@workspace/ui/components/badge';
import { Button } from '@workspace/ui/components/button';
@@ -32,16 +31,7 @@ export default function Page() {
const ref = useRef<ProTableActions>(null);
const { data: subscribeList } = useQuery({
queryKey: ['getSubscribeList', 'all'],
queryFn: async () => {
const { data } = await getSubscribeList({
page: 1,
size: 999999999,
});
return data.data?.list as API.SubscribeGroup[];
},
});
const { subscribes, getSubscribeName } = useSubscribe();
const initialFilters = {
search: sp.get('search') || undefined,
@@ -68,9 +58,7 @@ export default function Page() {
accessorKey: 'subscribe_id',
header: t('subscribe'),
cell: ({ row }) => {
const name = subscribeList?.find(
(item) => item.id === row.getValue('subscribe_id'),
)?.name;
const name = getSubscribeName(row.getValue('subscribe_id'));
const quantity = row.original.quantity;
return name ? `${name} × ${quantity}` : '';
},
@@ -186,8 +174,8 @@ export default function Page() {
{
key: 'subscribe_id',
placeholder: `${t('subscribe')}`,
options: subscribeList?.map((item) => ({
label: item.name,
options: subscribes?.map((item) => ({
label: item.name!,
value: String(item.id),
})),
},