diff --git a/src/components/subscription-table.tsx b/src/components/subscription-table.tsx index b526b7c7ce09db7c5a3b874d985f80d3d0e9947f..6b094b4f2444128ad7bc4573c729a615be924082 100644 --- a/src/components/subscription-table.tsx +++ b/src/components/subscription-table.tsx @@ -1,17 +1,7 @@ import {Table, TableBody, TableCell, TableHead, TableHeader, TableRow} from "@/components/ui/table.tsx"; import {SubscriptionDropdown} from "@/components/subcription-dropdown.tsx"; import api from "@/api/api.ts"; - -interface Subscription { - userId: number; - premiumAlbumId: number; - username: string; - albumName: string; - artist: string; - status: string; - createdAt: string; - updatedAt: string; -} +import {Subscription} from "@/types/subscription.ts"; export function SubscriptionTable({data}: { data: Subscription[] }) { return ( diff --git a/src/pages/SubscriptionPage.tsx b/src/pages/SubscriptionPage.tsx index 46be0d3f057a76d1fcfd72ca9dd9aec4c6ac54c4..a81dc762fe5221aa52f3a123f823e54fcb7ce83d 100644 --- a/src/pages/SubscriptionPage.tsx +++ b/src/pages/SubscriptionPage.tsx @@ -1,17 +1,7 @@ import {useEffect, useState} from 'react'; import {SubscriptionTable} from "@/components/subscription-table.tsx"; import api from "@/api/api.ts"; - -interface Subscription { - userId: number; - premiumAlbumId: number; - username: string; - albumName: string; - artist: string; - status: string; - createdAt: string; - updatedAt: string; -} +import {Subscription} from "@/types/subscription.ts"; const SubscriptionPage = () => { const [subscriptionData, setSubscriptionData] = useState<Subscription[]>([]); @@ -23,17 +13,20 @@ const SubscriptionPage = () => { try { const response = await api.get('subscription' + '?page=' + page,) setLoading(false); - setSubscriptionData(response.data.subscription); + setSubscriptionData( + () => ([ + ...response.data.subscription, + ]) + ); } catch (error) { console.error('Error fetching data:', error); setLoading(true) - setSubscriptionData([]) + setSubscriptionData(() => ([])); } } useEffect(() => { - update(); - const interval = setInterval(update, 1000 * 5); // 100 milliseconds + const interval = setInterval(update, 1000); // 100 milliseconds return () => clearInterval(interval); }, [subscriptionData]); diff --git a/src/types/subscription.ts b/src/types/subscription.ts new file mode 100644 index 0000000000000000000000000000000000000000..4ce14a39e0b361c1d3e0347c772adfd20d57556a --- /dev/null +++ b/src/types/subscription.ts @@ -0,0 +1,10 @@ +export type Subscription = { + userId: number; + premiumAlbumId: number; + username: string; + albumName: string; + artist: string; + status: string; + createdAt: string; + updatedAt: string; +} \ No newline at end of file