diff --git a/src/pages/CacheAdmin.tsx b/src/pages/CacheAdmin.tsx index e1d26c5..c33e83f 100644 --- a/src/pages/CacheAdmin.tsx +++ b/src/pages/CacheAdmin.tsx @@ -1,8 +1,7 @@ -import React from 'react' -import { Card, Button, Statistic, Row, Col, Space, Input, Typography, message } from 'antd' +import { Card, Button, Statistic, Row, Col, Space, Typography, message } from 'antd' import { ClearOutlined, ReloadOutlined, DeleteOutlined } from '@ant-design/icons' import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' -import api from '@/lib/api' +import { api } from '@/services/http-client' const { Title } = Typography @@ -11,7 +10,7 @@ export default function CacheAdmin() { const { data: stats, isLoading } = useQuery({ queryKey: ['admin', 'cache-stats'], - queryFn: () => api.get('/admin-api/cache/stats').then(r => r.data?.data), + queryFn: () => api.get('/admin-api/cache/stats'), refetchInterval: 10_000, }) diff --git a/src/pages/NotificationAdmin.tsx b/src/pages/NotificationAdmin.tsx index a1520b4..3369dd9 100644 --- a/src/pages/NotificationAdmin.tsx +++ b/src/pages/NotificationAdmin.tsx @@ -1,8 +1,8 @@ -import React, { useState } from 'react' +import { useState } from 'react' import { Card, Table, Button, Modal, Form, Input, Select, Tag, Space, Typography, message } from 'antd' import { PlusOutlined, DeleteOutlined, EditOutlined } from '@ant-design/icons' import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' -import api from '@/lib/api' +import { api } from '@/services/http-client' const { Title } = Typography @@ -18,12 +18,12 @@ export default function NotificationAdmin() { const { data: templates, isLoading } = useQuery({ queryKey: ['admin', 'notification-templates'], - queryFn: () => api.get('/admin-api/notifications/templates').then(r => r.data?.data ?? []), + queryFn: () => api.get('/admin-api/notifications/templates').then(d => d ?? []), }) const { data: sendLogs } = useQuery({ queryKey: ['admin', 'notification-logs'], - queryFn: () => api.get('/admin-api/notifications/send-log?limit=50').then(r => r.data?.data ?? []), + queryFn: () => api.get('/admin-api/notifications/send-log?limit=50').then(d => d ?? []), }) const saveMutation = useMutation({ diff --git a/src/pages/ReviewAdmin.tsx b/src/pages/ReviewAdmin.tsx index 1249afe..a3b5e80 100644 --- a/src/pages/ReviewAdmin.tsx +++ b/src/pages/ReviewAdmin.tsx @@ -1,8 +1,8 @@ -import React, { useState } from 'react' -import { Card, Table, Tag, Space, Input, Select, Typography } from 'antd' +import { useState } from 'react' +import { Table, Tag, Space, Input, Select, Typography } from 'antd' import { SearchOutlined } from '@ant-design/icons' import { useQuery } from '@tanstack/react-query' -import api from '@/lib/api' +import { api } from '@/services/http-client' const { Title } = Typography @@ -16,7 +16,12 @@ export default function ReviewAdmin() { const { data, isLoading } = useQuery({ queryKey: ['admin', 'reviews', search, statusFilter], - queryFn: () => api.get('/admin-api/reviews', { params: { search, status: statusFilter } }).then(r => r.data?.data ?? { items: [], total: 0 }), + queryFn: () => { + const params = new URLSearchParams() + if (search) params.set('search', search) + if (statusFilter) params.set('status', statusFilter) + return api.get(`/admin-api/reviews?${params.toString()}`) + }, refetchInterval: 30_000, })