🐛 fix(api): Update Model

This commit is contained in:
web@ppanel
2024-12-01 15:44:51 +07:00
parent 81e0f21a39
commit 39aaa73d6d
33 changed files with 1257 additions and 413 deletions
@@ -18,7 +18,7 @@ export default function Announcement() {
page: 1,
size: 1,
});
return (data.data?.announcements?.[0] as API.AnnouncementDetails) || {};
return (data.data?.announcements?.[0] as API.Announcement) || {};
},
});
@@ -53,10 +53,10 @@ export default function Page() {
queryKey: ['queryApplicationConfig'],
queryFn: async () => {
const { data } = await queryApplicationConfig();
return data.data as API.QueryApplicationConfigResponse;
return data.data as API.ApplicationResponse;
},
});
const [platform, setPlatform] = useState<keyof API.QueryApplicationConfigResponse>('windows');
const [platform, setPlatform] = useState<keyof API.ApplicationResponse>('windows');
const handleCopy = async (text: string) => {
try {
@@ -79,9 +79,7 @@ export default function Page() {
<div className='flex flex-wrap justify-between gap-4'>
<Tabs
value={platform}
onValueChange={(value) =>
setPlatform(value as keyof API.QueryApplicationConfigResponse)
}
onValueChange={(value) => setPlatform(value as keyof API.ApplicationResponse)}
className='w-full max-w-full md:w-auto'
>
<TabsList className='flex *:flex-auto'>
@@ -12,18 +12,18 @@ import { AnimatePresence, motion } from 'framer-motion';
import { useTranslations } from 'next-intl';
import { useEffect, useId, useRef, useState } from 'react';
export function DocumentButton({ items }: { items: API.DocumentItem[] }) {
export function DocumentButton({ items }: { items: API.Document[] }) {
const t = useTranslations('document');
const [active, setActive] = useState<API.DocumentItem | boolean | null>(null);
const [active, setActive] = useState<API.Document | boolean | null>(null);
const id = useId();
const ref = useRef<HTMLDivElement>(null);
const { data } = useQuery({
enabled: !!(active as API.DocumentItem)?.id,
queryKey: ['queryDocumentDetail', (active as API.DocumentItem)?.id],
enabled: !!(active as API.Document)?.id,
queryKey: ['queryDocumentDetail', (active as API.Document)?.id],
queryFn: async () => {
const { data } = await queryDocumentDetail({
id: (active as API.DocumentItem)?.id,
id: (active as API.Document)?.id,
});
return data.data?.content;
},
+5 -5
View File
@@ -15,7 +15,7 @@ export default function Page() {
const ref = useRef<ProListActions>(null);
return (
<ProList<API.OrderDetails, Record<string, unknown>>
<ProList<API.OrderDetail, Record<string, unknown>>
action={ref}
request={async (pagination, filter) => {
const response = await queryOrderList({ ...pagination, ...filter });
@@ -30,14 +30,14 @@ export default function Page() {
<CardHeader className='bg-muted/50 flex flex-row items-center justify-between gap-2 space-y-0 p-3'>
<CardTitle>
{t('orderNo')}
<p className='text-sm'>{item.orderNo}</p>
<p className='text-sm'>{item.order_no}</p>
</CardTitle>
<CardDescription className='flex gap-2'>
{item.status === 1 ? (
<>
<Link
key='payment'
href={`/payment?order_no=${item.orderNo}`}
href={`/payment?order_no=${item.order_no}`}
className={buttonVariants({ size: 'sm' })}
>
{t('payment')}
@@ -47,7 +47,7 @@ export default function Page() {
size='sm'
variant='destructive'
onClick={async () => {
await closeOrder({ orderNo: item.orderNo });
await closeOrder({ orderNo: item.order_no });
ref.current?.refresh();
}}
>
@@ -57,7 +57,7 @@ export default function Page() {
) : (
<Link
key='detail'
href={`/payment?order_no=${item.orderNo}`}
href={`/payment?order_no=${item.order_no}`}
className={buttonVariants({ size: 'sm' })}
>
{t('detail')}
@@ -25,8 +25,8 @@ export default function Purchase({
subscribe,
setSubscribe,
}: {
subscribe?: API.SubscribeDetails;
setSubscribe: (subscribe?: API.SubscribeDetails) => void;
subscribe?: API.Subscribe;
setSubscribe: (subscribe?: API.Subscribe) => void;
}) {
const t = useTranslations('order');
@@ -26,8 +26,8 @@ export default function Renewal({
subscribe,
}: {
mark: string;
subscribe: Omit<API.SubscribeDetails, 'discount'> & {
discount: string | API.UserSubscribeDiscount[];
subscribe: Omit<API.Subscribe, 'discount'> & {
discount: string | API.SubscribeDiscount[];
};
}) {
const t = useTranslations('order');
@@ -77,7 +77,7 @@ export default function Renewal({
function getDiscount() {
try {
if (typeof subscribe.discount === 'string') {
return JSON.parse(subscribe?.discount) as API.UserSubscribeDiscount[];
return JSON.parse(subscribe?.discount) as API.SubscribeDiscount[];
}
return subscribe?.discount;
} catch (error) {
@@ -17,7 +17,7 @@ import { SubscribeDetail } from './detail';
export default function Page() {
const t = useTranslations('subscribe');
const [subscribe, setSubscribe] = useState<API.SubscribeDetails>();
const [subscribe, setSubscribe] = useState<API.Subscribe>();
const [group, setGroup] = useState<string>('');
@@ -81,7 +81,6 @@ export default function Page() {
icon: string;
label: string;
type: 'default' | 'success' | 'destructive';
support: boolean;
},
index: number,
) => (
+2 -2
View File
@@ -51,7 +51,7 @@ export default function Page() {
queryKey: ['getUserTicketDetails', ticketId],
queryFn: async () => {
const { data } = await getUserTicketDetails({ id: ticketId });
return data.data as API.UserTicket;
return data.data as API.Ticket;
},
enabled: !!ticketId,
refetchInterval: 5000,
@@ -74,7 +74,7 @@ export default function Page() {
return (
<>
<ProList<API.UserTicket, { status: number }>
<ProList<API.Ticket, { status: number }>
action={ref}
header={{
title: t('ticketList'),