From 5dde8bd71801857ccf61c290ca2ce4deeaa85335 Mon Sep 17 00:00:00 2001 From: speakeloudest Date: Sun, 7 Sep 2025 23:21:41 -0700 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A0=B7=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../(main)/(content)/(user)/wallet/page.tsx | 2 +- apps/user/app/api/kutt/route.ts | 2 +- .../user/assets/svg-icon/feature/Group 68.svg | 6 +++ .../user/assets/svg-icon/feature/Group 69.svg | 10 ++++ .../assets/svg-icon/feature/Vector (1).svg | 3 ++ .../assets/svg-icon/feature/Vector (2).svg | 3 ++ .../assets/svg-icon/feature/Vector (3).svg | 3 ++ .../assets/svg-icon/feature/Vector (4).svg | 3 ++ .../assets/svg-icon/feature/Vector (5).svg | 3 ++ apps/user/assets/svg-icon/feature/Vector.svg | 3 ++ .../CopyShortenedLink/CopyShortenedLink.tsx | 4 +- .../SubscribePlan/PlanContent/index.tsx | 51 +++++++++++++++---- apps/user/components/affiliate/index.tsx | 2 +- 13 files changed, 80 insertions(+), 15 deletions(-) create mode 100644 apps/user/assets/svg-icon/feature/Group 68.svg create mode 100644 apps/user/assets/svg-icon/feature/Group 69.svg create mode 100644 apps/user/assets/svg-icon/feature/Vector (1).svg create mode 100644 apps/user/assets/svg-icon/feature/Vector (2).svg create mode 100644 apps/user/assets/svg-icon/feature/Vector (3).svg create mode 100644 apps/user/assets/svg-icon/feature/Vector (4).svg create mode 100644 apps/user/assets/svg-icon/feature/Vector (5).svg create mode 100644 apps/user/assets/svg-icon/feature/Vector.svg diff --git a/apps/user/app/(main)/(content)/(user)/wallet/page.tsx b/apps/user/app/(main)/(content)/(user)/wallet/page.tsx index a00c602..b4c52bd 100644 --- a/apps/user/app/(main)/(content)/(user)/wallet/page.tsx +++ b/apps/user/app/(main)/(content)/(user)/wallet/page.tsx @@ -64,7 +64,7 @@ export default function Page() {

{user?.refer_code} - +

diff --git a/apps/user/app/api/kutt/route.ts b/apps/user/app/api/kutt/route.ts index 1b15d67..bce63c8 100644 --- a/apps/user/app/api/kutt/route.ts +++ b/apps/user/app/api/kutt/route.ts @@ -1,5 +1,5 @@ // 你的后端 API 密钥,请确保将其存储在 .env.local 文件中 -const BACKEND_API_KEY = 'Q4PuYh7J2H_DlW2X4XUrwYV-yaKty8dw0dwP4LXM'; +const BACKEND_API_KEY = 'NYTOohHPXUaRye4VylNYLyOBTCzwb1tDPt82fXT9'; import { NextResponse } from 'next/server'; export async function POST(request: Request) { diff --git a/apps/user/assets/svg-icon/feature/Group 68.svg b/apps/user/assets/svg-icon/feature/Group 68.svg new file mode 100644 index 0000000..8a78e4c --- /dev/null +++ b/apps/user/assets/svg-icon/feature/Group 68.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/user/assets/svg-icon/feature/Group 69.svg b/apps/user/assets/svg-icon/feature/Group 69.svg new file mode 100644 index 0000000..f7e1431 --- /dev/null +++ b/apps/user/assets/svg-icon/feature/Group 69.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/apps/user/assets/svg-icon/feature/Vector (1).svg b/apps/user/assets/svg-icon/feature/Vector (1).svg new file mode 100644 index 0000000..ad9cc98 --- /dev/null +++ b/apps/user/assets/svg-icon/feature/Vector (1).svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/user/assets/svg-icon/feature/Vector (2).svg b/apps/user/assets/svg-icon/feature/Vector (2).svg new file mode 100644 index 0000000..ae98f48 --- /dev/null +++ b/apps/user/assets/svg-icon/feature/Vector (2).svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/user/assets/svg-icon/feature/Vector (3).svg b/apps/user/assets/svg-icon/feature/Vector (3).svg new file mode 100644 index 0000000..e19e479 --- /dev/null +++ b/apps/user/assets/svg-icon/feature/Vector (3).svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/user/assets/svg-icon/feature/Vector (4).svg b/apps/user/assets/svg-icon/feature/Vector (4).svg new file mode 100644 index 0000000..4ffb637 --- /dev/null +++ b/apps/user/assets/svg-icon/feature/Vector (4).svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/user/assets/svg-icon/feature/Vector (5).svg b/apps/user/assets/svg-icon/feature/Vector (5).svg new file mode 100644 index 0000000..7676062 --- /dev/null +++ b/apps/user/assets/svg-icon/feature/Vector (5).svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/user/assets/svg-icon/feature/Vector.svg b/apps/user/assets/svg-icon/feature/Vector.svg new file mode 100644 index 0000000..6a9e4ac --- /dev/null +++ b/apps/user/assets/svg-icon/feature/Vector.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/user/components/CopyShortenedLink/CopyShortenedLink.tsx b/apps/user/components/CopyShortenedLink/CopyShortenedLink.tsx index a70a207..dada304 100644 --- a/apps/user/components/CopyShortenedLink/CopyShortenedLink.tsx +++ b/apps/user/components/CopyShortenedLink/CopyShortenedLink.tsx @@ -46,9 +46,9 @@ const CopyShortenedLink = ({ className }: { className?: string }) => { { - if (text) { + if (!text) { toast.success('text is undefined'); - return ''; + return; } if (result) { toast.success(t('copySuccess')); diff --git a/apps/user/components/SubscribePlan/PlanContent/index.tsx b/apps/user/components/SubscribePlan/PlanContent/index.tsx index e06f0b6..d9c91f4 100644 --- a/apps/user/components/SubscribePlan/PlanContent/index.tsx +++ b/apps/user/components/SubscribePlan/PlanContent/index.tsx @@ -99,18 +99,24 @@ const StarRating = ({ rating, maxRating = 5 }: { rating: number; maxRating?: num ); +import SvgIcon from '@/components/SvgIcon'; // 功能列表组件 const FeatureList = ({ plan }: { plan: API.Subscribe }) => { const t = useTranslations('subscribe.detail'); const tSubscribe = useTranslations('subscribe'); const tOffer = useTranslations('components.offerDialog'); - const features = [{ label: tOffer('availableNodes'), value: plan?.server_count }]; + const features = [ + { label: tOffer('availableNodes'), icon: 'feature/Vector (5)', value: plan?.server_count }, + ]; return (
-
    +
    • - {t('availableTraffic')} + + + {t('availableTraffic')} + @@ -118,7 +124,10 @@ const FeatureList = ({ plan }: { plan: API.Subscribe }) => {
    • - {tSubscribe('billing.duration')} + + + {tSubscribe('billing.duration')} + {plan.origin_price ? '365' : '30'} {tSubscribe('Day')} @@ -127,7 +136,10 @@ const FeatureList = ({ plan }: { plan: API.Subscribe }) => {
    • - {t('connectionSpeed')} + + + {t('connectionSpeed')} + @@ -135,7 +147,22 @@ const FeatureList = ({ plan }: { plan: API.Subscribe }) => {
    • - {t('connectedDevices')} + + + {plan?.name?.includes('pro') ? ( + IEPL专线 + ) : ( + 国内中转+专线中转 + )} + +
      +
    • +
    • +
      + + + {t('connectedDevices')} + @@ -147,14 +174,18 @@ const FeatureList = ({ plan }: { plan: API.Subscribe }) => { className='py-1 text-xs font-light leading-[1.8461538461538463em] text-black sm:text-sm' >
      - {feature.label}: + + + {feature.label}: + {feature.value}
    • ))} -
    • +
    • - + + {tOffer('networkStabilityIndex')} @@ -208,7 +239,7 @@ const PlanCard: React.FC<{ {t('subscribe')} -
      +
      {/* 功能列表 */}
      diff --git a/apps/user/components/affiliate/index.tsx b/apps/user/components/affiliate/index.tsx index aafc598..74c5883 100644 --- a/apps/user/components/affiliate/index.tsx +++ b/apps/user/components/affiliate/index.tsx @@ -85,7 +85,7 @@ export default function Affiliate() {

      {user?.refer_code} - +