'use client'; import { Display } from '@/components/display'; import { querySubscribeList } from '@/services/user/subscribe'; import { useQuery } from '@tanstack/react-query'; import { Button } from '@workspace/ui/components/button'; import { Card, CardContent, CardFooter, CardHeader } from '@workspace/ui/components/card'; import { Separator } from '@workspace/ui/components/separator'; import { Icon } from '@workspace/ui/custom-components/icon'; import { cn } from '@workspace/ui/lib/utils'; import { useLocale, useTranslations } from 'next-intl'; import { useState } from 'react'; import { Empty } from '@/components/empty'; import { SubscribeDetail } from '@/components/subscribe/detail'; import Purchase from '@/components/subscribe/purchase'; export default function Page() { const t = useTranslations('subscribe'); const locale = useLocale(); const [subscribe, setSubscribe] = useState(); const { data } = useQuery({ queryKey: ['querySubscribeList', locale], queryFn: async () => { console.log('Fetching subscription list...'); const { data } = await querySubscribeList({ language: locale }); return data.data?.list || []; }, }); const filteredData = data?.filter((item) => item.show); return ( <>
{filteredData?.map((item) => ( {item.name} {/*
{t('productDescription')}
*/}
    {(() => { let parsedDescription; try { parsedDescription = JSON.parse(item.description); } catch { parsedDescription = { description: '', features: [] }; } const { description, features } = parsedDescription; return ( <> {description &&
  • {description}
  • } {features?.map( ( feature: { icon: string; label: string; type: 'default' | 'success' | 'destructive'; }, index: number, ) => (
  • {feature.icon && ( )} {feature.label}
  • ), )} ); })()}

/{t(item.unit_time || 'Month')}

))}
{filteredData?.length === 0 && }
); }