From a1e4999a2fd189a266bf0db5d935aa9f91005c29 Mon Sep 17 00:00:00 2001 From: "web@ppanel" Date: Sun, 8 Dec 2024 12:59:14 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(config):=20Runtime=20env?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/admin/components/billing.tsx | 43 +++++++------------ .../admin/components/dashboard/statistics.tsx | 21 +++------ apps/admin/config/constants.ts | 13 +++--- apps/user/components/empty.tsx | 2 +- apps/user/config/constants.ts | 33 ++++++++------ 5 files changed, 52 insertions(+), 60 deletions(-) diff --git a/apps/admin/components/billing.tsx b/apps/admin/components/billing.tsx index 11513a5..553bcac 100644 --- a/apps/admin/components/billing.tsx +++ b/apps/admin/components/billing.tsx @@ -1,8 +1,6 @@ import { Avatar, AvatarFallback, AvatarImage } from '@shadcn/ui/avatar'; import { Card, CardDescription, CardHeader, CardTitle } from '@shadcn/ui/card'; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@shadcn/ui/tooltip'; import { getTranslations } from 'next-intl/server'; -import Image from 'next/legacy/image'; import Link from 'next/link'; const BASE_URL = 'https://cdn.jsdelivr.net/gh/perfect-panel/ppanel-assets/billing/index.json'; @@ -15,7 +13,6 @@ interface ItemType { logo: string; title: string; description: string; - poster: string; expiryDate: string; href: string; } @@ -37,37 +34,29 @@ export default async function Billing({ type }: BillingProps) { } if (list && list.length === 0) return null; return ( - + <>

{t('title')} {t('description')}

{list.map((item, index) => ( - - - - - - - - {item.title} - -
- {item.title} - {item.description} -
-
-
- -
- -

{item.description}

- -
-
+ + + + + + {item.title} + +
+ {item.title} + {item.description} +
+
+
+ ))}
-
+ ); } diff --git a/apps/admin/components/dashboard/statistics.tsx b/apps/admin/components/dashboard/statistics.tsx index 13e04d4..8d54ca6 100644 --- a/apps/admin/components/dashboard/statistics.tsx +++ b/apps/admin/components/dashboard/statistics.tsx @@ -2,14 +2,7 @@ import { Icon } from '@iconify/react'; import { formatBytes, unitConversion } from '@repo/ui/utils'; -import { - Card, - CardContent, - CardDescription, - CardFooter, - CardHeader, - CardTitle, -} from '@shadcn/ui/card'; +import { Card, CardContent, CardFooter, CardHeader, CardTitle } from '@shadcn/ui/card'; import { ChartConfig, ChartContainer, @@ -119,12 +112,12 @@ export default function Statistics() { return ( <>

统计

-
+
{[ { title: '在线IP数', value: '666', - icon: 'uil:network-wired', + icon: 'uil:users-alt', onClick: () => console.log('在线IP数 clicked'), }, { @@ -171,13 +164,11 @@ export default function Statistics() { }, ].map((item, index) => ( - + {item.title} - - - - + +
{item.value}
diff --git a/apps/admin/config/constants.ts b/apps/admin/config/constants.ts index fa3f488..c7c91f9 100644 --- a/apps/admin/config/constants.ts +++ b/apps/admin/config/constants.ts @@ -2,10 +2,13 @@ import { env } from 'next-runtime-env'; export const locales = ['en-US', 'zh-CN']; -export const NEXT_PUBLIC_DEFAULT_LANGUAGE = env('NEXT_PUBLIC_DEFAULT_LANGUAGE') || locales[0]; +export const NEXT_PUBLIC_DEFAULT_LANGUAGE = + env('NEXT_PUBLIC_DEFAULT_LANGUAGE') || process.env.NEXT_PUBLIC_DEFAULT_LANGUAGE || locales[0]; -export const NEXT_PUBLIC_SITE_URL = env('NEXT_PUBLIC_SITE_URL'); -export const NEXT_PUBLIC_API_URL = env('NEXT_PUBLIC_API_URL'); +export const NEXT_PUBLIC_SITE_URL = env('NEXT_PUBLIC_SITE_URL') || process.env.NEXT_PUBLIC_SITE_URL; +export const NEXT_PUBLIC_API_URL = env('NEXT_PUBLIC_API_URL') || process.env.NEXT_PUBLIC_API_URL; -export const NEXT_PUBLIC_DEFAULT_USER_EMAIL = env('NEXT_PUBLIC_DEFAULT_USER_EMAIL'); -export const NEXT_PUBLIC_DEFAULT_USER_PASSWORD = env('NEXT_PUBLIC_DEFAULT_USER_PASSWORD'); +export const NEXT_PUBLIC_DEFAULT_USER_EMAIL = + env('NEXT_PUBLIC_DEFAULT_USER_EMAIL') || process.env.NEXT_PUBLIC_DEFAULT_USER_EMAIL; +export const NEXT_PUBLIC_DEFAULT_USER_PASSWORD = + env('NEXT_PUBLIC_DEFAULT_USER_PASSWORD') || process.env.NEXT_PUBLIC_DEFAULT_USER_PASSWORD; diff --git a/apps/user/components/empty.tsx b/apps/user/components/empty.tsx index 9362887..db10c99 100644 --- a/apps/user/components/empty.tsx +++ b/apps/user/components/empty.tsx @@ -12,7 +12,7 @@ export function Empty() { useEffect(() => { const random = Math.floor(Math.random() * 10); setDescription(t(`empty.${random}`)); - }, []); + }, [t]); return <_Empty description={description} />; } diff --git a/apps/user/config/constants.ts b/apps/user/config/constants.ts index 9b1d224..85aa509 100644 --- a/apps/user/config/constants.ts +++ b/apps/user/config/constants.ts @@ -2,19 +2,28 @@ import { env } from 'next-runtime-env'; export const locales = ['en-US', 'zh-CN']; -export const NEXT_PUBLIC_DEFAULT_LANGUAGE = env('NEXT_PUBLIC_DEFAULT_LANGUAGE') || locales[0]; +export const NEXT_PUBLIC_DEFAULT_LANGUAGE = + env('NEXT_PUBLIC_DEFAULT_LANGUAGE') || process.env.NEXT_PUBLIC_DEFAULT_LANGUAGE || locales[0]; -export const NEXT_PUBLIC_SITE_URL = env('NEXT_PUBLIC_SITE_URL'); -export const NEXT_PUBLIC_API_URL = env('NEXT_PUBLIC_API_URL'); +export const NEXT_PUBLIC_SITE_URL = env('NEXT_PUBLIC_SITE_URL') || process.env.NEXT_PUBLIC_SITE_URL; +export const NEXT_PUBLIC_API_URL = env('NEXT_PUBLIC_API_URL') || process.env.NEXT_PUBLIC_API_URL; -export const NEXT_PUBLIC_DEFAULT_USER_EMAIL = env('NEXT_PUBLIC_DEFAULT_USER_EMAIL'); -export const NEXT_PUBLIC_DEFAULT_USER_PASSWORD = env('NEXT_PUBLIC_DEFAULT_USER_PASSWORD'); +export const NEXT_PUBLIC_DEFAULT_USER_EMAIL = + env('NEXT_PUBLIC_DEFAULT_USER_EMAIL') || process.env.NEXT_PUBLIC_DEFAULT_USER_EMAIL; +export const NEXT_PUBLIC_DEFAULT_USER_PASSWORD = + env('NEXT_PUBLIC_DEFAULT_USER_PASSWORD') || process.env.NEXT_PUBLIC_DEFAULT_USER_PASSWORD; -export const NEXT_PUBLIC_EMAIL = env('NEXT_PUBLIC_EMAIL'); +export const NEXT_PUBLIC_EMAIL = env('NEXT_PUBLIC_EMAIL') || process.env.NEXT_PUBLIC_EMAIL; -export const NEXT_PUBLIC_TELEGRAM_LINK = env('NEXT_PUBLIC_TELEGRAM_LINK'); -export const NEXT_PUBLIC_DISCORD_LINK = env('NEXT_PUBLIC_DISCORD_LINK'); -export const NEXT_PUBLIC_GITHUB_LINK = env('NEXT_PUBLIC_GITHUB_LINK'); -export const NEXT_PUBLIC_LINKEDIN_LINK = env('NEXT_PUBLIC_LINKEDIN_LINK'); -export const NEXT_PUBLIC_TWITTER_LINK = env('NEXT_PUBLIC_TWITTER_LINK'); -export const NEXT_PUBLIC_INSTAGRAM_LINK = env('NEXT_PUBLIC_INSTAGRAM_LINK'); +export const NEXT_PUBLIC_TELEGRAM_LINK = + env('NEXT_PUBLIC_TELEGRAM_LINK') || process.env.NEXT_PUBLIC_TELEGRAM_LINK; +export const NEXT_PUBLIC_DISCORD_LINK = + env('NEXT_PUBLIC_DISCORD_LINK') || process.env.NEXT_PUBLIC_DISCORD_LINK; +export const NEXT_PUBLIC_GITHUB_LINK = + env('NEXT_PUBLIC_GITHUB_LINK') || process.env.NEXT_PUBLIC_GITHUB_LINK; +export const NEXT_PUBLIC_LINKEDIN_LINK = + env('NEXT_PUBLIC_LINKEDIN_LINK') || process.env.NEXT_PUBLIC_LINKEDIN_LINK; +export const NEXT_PUBLIC_TWITTER_LINK = + env('NEXT_PUBLIC_TWITTER_LINK') || process.env.NEXT_PUBLIC_TWITTER_LINK; +export const NEXT_PUBLIC_INSTAGRAM_LINK = + env('NEXT_PUBLIC_INSTAGRAM_LINK') || process.env.NEXT_PUBLIC_INSTAGRAM_LINK;