diff --git a/apps/user/app/(main)/(content)/(user)/dashboard/components/SubscribeCard/index.tsx b/apps/user/app/(main)/(content)/(user)/dashboard/components/SubscribeCard/index.tsx index baea550..ace62d7 100644 --- a/apps/user/app/(main)/(content)/(user)/dashboard/components/SubscribeCard/index.tsx +++ b/apps/user/app/(main)/(content)/(user)/dashboard/components/SubscribeCard/index.tsx @@ -71,7 +71,7 @@ const SubscribeCard = (props: SubscribeCardProps) => { {t('totalTraffic')}

- {userSubscribeData?.token ? ( + {userSubscribeData?.status === 1 ? ( { {t('nextResetDays')}

- {userSubscribeData?.token ? ( + {userSubscribeData?.status === 1 ? ( <> {userSubscribeData.reset_time ? differenceInDays(new Date(userSubscribeData.reset_time), new Date()) @@ -103,7 +103,7 @@ const SubscribeCard = (props: SubscribeCardProps) => { {t('expirationDays')}

- {userSubscribeData?.token ? ( + {userSubscribeData?.status === 1 ? ( <> {userSubscribeData.expire_time ? differenceInDays(new Date(userSubscribeData.expire_time), new Date()) || @@ -120,11 +120,13 @@ const SubscribeCard = (props: SubscribeCardProps) => { {/* 订阅链接 */}

-
- - {t('buySubscriptionNow')} - -
+ {userSubscribeData?.status !== 1 && ( +
+ + {t('buySubscriptionNow')} + +
+ )}
{props.protocol.length > 1 && ( { const { data } = await queryUserSubscribe(); - return data.data?.list || []; + const activeList = data.data?.list?.filter((v) => v.status === 1); + + return activeList[0] ?? {}; }, }); @@ -204,7 +206,7 @@ export default function Content() {
@@ -223,7 +225,7 @@ export default function Content() {
- {userSubscribe?.length > 0 && userSubscribe[0]?.status === 1 && orderData + {userSubscribe?.status === 1 && orderData ? orderData?.quantity === 1 ? t('annualMonthPlanUser') : t('annualYearPlanUser') @@ -252,7 +254,7 @@ export default function Content() {

{t('planStatus')} - {userSubscribe?.length > 0 && userSubscribe?.[0]?.status === 1 ? ( + {userSubscribe?.status === 1 ? ( {t('inEffect')} @@ -266,20 +268,20 @@ export default function Content() { className={ 'border-0 bg-transparent p-0 text-sm font-normal text-[#225BA9] shadow-none outline-0 hover:bg-transparent' } - id={userSubscribe?.[0]?.id || 0} - replacement={userSubscribe?.[0]?.subscribe.replacement} + id={userSubscribe?.id || 0} + replacement={userSubscribe?.subscribe?.replacement} />

{t('planExpirationTime')} - {formatDate(userSubscribe?.[0]?.expire_time, false) || t('None')} + {formatDate(userSubscribe?.expire_time, false) || t('None')}
- {userSubscribe?.[0]?.subscribe.name ? ( - userSubscribe?.[0]?.subscribe.name + {userSubscribe?.subscribe?.name ? ( + userSubscribe?.subscribe?.name ) : ( {t('noPlanAvailable')} )} @@ -289,12 +291,12 @@ export default function Content() {
{t('availableDevices')}
- {Array.from({ length: userSubscribe?.[0]?.subscribe.device_limit || 6 }).map( + {Array.from({ length: userSubscribe?.subscribe?.device_limit || 6 }).map( (_, index) => { return (
1 ? 'bg-[#225BA9]' : 'bg-[#D9D9D9]'}`} + className={`h-2.5 w-2.5 rounded-full sm:h-4 sm:w-4 ${index < (userSubscribe?.subscribe?.device_limit || 0) > 1 ? 'bg-[#225BA9]' : 'bg-[#D9D9D9]'}`} >
); }, @@ -303,25 +305,25 @@ export default function Content() {
{t('online')} - {data?.online_device || 0}/{userSubscribe?.[0]?.subscribe.device_limit || 0} + {data?.online_device || 0}/{userSubscribe?.subscribe?.device_limit || 0}
{t('usedTrafficTotalTraffic')} - {userSubscribe?.[0]?.subscribe.device_limit ? ( + {userSubscribe?.subscribe?.device_limit ? ( <> / ) : ( @@ -330,12 +332,18 @@ export default function Content() { {t('remaining')} - {100 - - Math.round( - (((userSubscribe?.[0]?.upload || 0) + (userSubscribe?.[0]?.download || 0)) / - (userSubscribe?.[0]?.traffic || 1)) * - 100, - )} + {userSubscribe?.status === 1 ? ( + <> + {100 - + Math.round( + (((userSubscribe?.upload || 0) + (userSubscribe?.download || 0)) / + (userSubscribe?.traffic || 1)) * + 100, + )} + + ) : ( + 0 + )} %
@@ -343,7 +351,7 @@ export default function Content() {