diff --git a/README.md b/README.md index 95ee24c..feb4157 100644 --- a/README.md +++ b/README.md @@ -1,125 +1,7 @@ - +### 部署步骤 -
- - - -

PPanel web

- -This is a PPanel web powered by PPanel - -English -· -[Chinese](./README.zh-CN.md) -· -[Changelog](../../CHANGELOG.md) -· -[Report Bug][issues-link] -· -[Request Feature][issues-link] - - - -[![][github-release-shield]][github-release-link] -[![][github-releasedate-shield]][github-releasedate-link] -[![][github-action-test-shield]][github-action-test-link] -[![][github-action-release-shield]][github-action-release-link]
-[![][github-contributors-shield]][github-contributors-link] -[![][github-forks-shield]][github-forks-link] -[![][github-stars-shield]][github-stars-link] -[![][github-issues-shield]][github-issues-link] -[![][github-license-shield]][github-license-link] - -![][split] - -
- -## 📦 Application List - -| 📦 Application | 🖼️ Preview | -| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | -| [**PPanel User Web**][ppanel-user-web-github]
Developed with modern frontend technologies (Next.js, TypeScript, TailwindCSS), providing basic user features with support for multiple languages and themes.
[![One-Click Deploy](https://img.shields.io/badge/Deploy%20with-Vercel-blue?style=for-the-badge)][ppanel-user-web-deploy] | [![Preview][ppanel-user-web-cover]][ppanel-user-web-github] | -| [**PPanel Admin Web**][ppanel-admin-web-github]
Developed with modern frontend technologies, this admin web provides basic data management features with support for multiple languages and themes.
[![One-Click Deploy](https://img.shields.io/badge/Deploy%20with-Vercel-blue?style=for-the-badge)][ppanel-admin-web-deploy] | [![Preview][ppanel-admin-web-cover]][ppanel-admin-web-preview] | - -## ⌨️ Local Development - -You can use Github Codespaces for online development: - -[![][codespaces-shield]][codespaces-link] - -You can use Gitpod for online development: - -[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)][gitpod-link] - -or clone it for local development: - -```bash -git clone https://github.com/perfect-panel/ppanel-web.git -cd ppanel-web - -# Install dependencies -bun install -``` - -## 🤝 Contributing - -Contributions of all types are more than welcome, -if you're interested in contributing code, feel free to check out our GitHub -[Issues][github-issues-link] to get stuck in to show us what you’re made of. - -[![][pr-welcome-shield]][pr-welcome-link] - -[![][contributors-contrib]][contributors-url] - -
- -[![][back-to-top]](#readme-top) - -
- ---- - -## 📝 License - -Copyright © 2024 [PPanel][profile-link].
-This project is [GNU](../../LICENSE) licensed. - - - -[back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square -[codespaces-link]: https://codespaces.new/perfect-panel/ppanel-web -[codespaces-shield]: https://github.com/codespaces/badge.svg -[contributors-contrib]: https://contrib.rocks/image?repo=perfect-panel/ppanel-web -[contributors-url]: https://github.com/perfect-panel/ppanel-web/graphs/contributors -[github-action-release-link]: https://github.com/perfect-panel/ppanel-web/actions/workflows/release.yml -[github-action-release-shield]: https://img.shields.io/github/actions/workflow/status/perfect-panel/ppanel-web/release.yml?label=release&labelColor=black&logo=githubactions&logoColor=white&style=flat-square -[github-action-test-link]: https://github.com/perfect-panel/ppanel-web/actions/workflows/test.yml -[github-action-test-shield]: https://img.shields.io/github/actions/workflow/status/perfect-panel/ppanel-web/test.yml?label=test&labelColor=black&logo=githubactions&logoColor=white&style=flat-square -[github-contributors-link]: https://github.com/perfect-panel/ppanel-web/graphs/contributors -[github-contributors-shield]: https://img.shields.io/github/contributors/perfect-panel/ppanel-web?color=c4f042&labelColor=black&style=flat-square -[github-forks-link]: https://github.com/perfect-panel/ppanel-web/network/members -[github-forks-shield]: https://img.shields.io/github/forks/perfect-panel/ppanel-web?color=8ae8ff&labelColor=black&style=flat-square -[github-issues-link]: https://github.com/perfect-panel/ppanel-web/issues -[github-issues-shield]: https://img.shields.io/github/issues/perfect-panel/ppanel-web?color=ff80eb&labelColor=black&style=flat-square -[github-license-link]: https://github.com/perfect-panel/ppanel-web/blob/master/LICENSE -[github-license-shield]: https://img.shields.io/github/license/perfect-panel/ppanel-web?color=white&labelColor=black&style=flat-square -[github-release-link]: https://github.com/perfect-panel/ppanel-web/releases -[github-release-shield]: https://img.shields.io/github/v/release/perfect-panel/ppanel-web?style=flat-square&sort=semver&logo=github -[github-releasedate-link]: https://github.com/perfect-panel/ppanel-web/releases -[github-releasedate-shield]: https://img.shields.io/github/release-date/perfect-panel/ppanel-web?labelColor=black&style=flat-square -[github-stars-link]: https://github.com/perfect-panel/ppanel-web/network/stargazers -[github-stars-shield]: https://img.shields.io/github/stars/perfect-panel/ppanel-web?color=ffcb47&labelColor=black&style=flat-square -[gitpod-link]: https://gitpod.io/#https://github.com/perfect-panel/ppanel-web -[issues-link]: https://github.com/perfect-panel/ppanel-web/issues/new/choose -[pr-welcome-link]: https://github.com/perfect-panel/ppanel-web/pulls -[pr-welcome-shield]: https://img.shields.io/badge/🤯_pr_welcome-%E2%86%92-ffcb47?labelColor=black&style=for-the-badge -[profile-link]: https://github.com/perfect-panel -[split]: https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png -[ppanel-user-web-github]: https://github.com/perfect-panel/ppanel-web/tree/main/apps/user -[ppanel-user-web-cover]: https://urlscan.io/liveshot/?width=1920&height=1080&url=https://user.ppanel.dev -[ppanel-user-web-preview]: https://user.ppanel.dev -[ppanel-user-web-deploy]: https://vercel.com/new/clone?demo-description=PPanel%20is%20a%20pure%2C%20professional%2C%20and%20perfect%20open-source%20proxy%20panel%20tool%2C%20designed%20to%20be%20your%20ideal%20choice%20for%20learning%20and%20practical%20use&demo-image=https%3A%2F%2Furlscan.io%2Fliveshot%2F%3Fwidth%3D1920%26height%3D1080%26url%3Dhttps%3A%2F%2Fuser.ppanel.dev&demo-title=PPanel%20User%20Web&demo-url=https%3A%2F%2Fuser.ppanel.dev%2F&from=.&project-name=ppanel-user-web&repository-name=ppanel-web&repository-url=https%3A%2F%2Fgithub.com%2Fperfect-panel%2Fppanel-web&root-directory=apps%2Fuser&skippable-integrations=1 -[ppanel-admin-web-github]: https://github.com/perfect-panel/ppanel-web/tree/main/apps/admin -[ppanel-admin-web-cover]: https://urlscan.io/liveshot/?width=1920&height=1080&url=https://admin.ppanel.dev -[ppanel-admin-web-preview]: https://admin.ppanel.dev -[ppanel-admin-web-deploy]: https://vercel.com/new/clone?demo-description=PPanel%20is%20a%20pure%2C%20professional%2C%20and%20perfect%20open-source%20proxy%20panel%20tool%2C%20designed%20to%20be%20your%20ideal%20choice%20for%20learning%20and%20practical%20use&demo-image=https%3A%2F%2Furlscan.io%2Fliveshot%2F%3Fwidth%3D1920%26height%3D1080%26url%3Dhttps%3A%2F%2Fadmin.ppanel.dev&demo-title=PPanel%20Admin%20Web&demo-url=https%3A%2F%2Fadmin.ppanel.dev%2F&from=.&project-name=ppanel-admin-web&repository-name=ppanel-web&repository-url=https%3A%2F%2Fgithub.com%2Fperfect-panel%2Fppanel-web&root-directory=apps%2Fadmin&skippable-integrations=1 +1. bun run build +2. ./script/publish.sh +3. 上传out/zip.gz到服务器 +4. tar -xzvf ppanel-user-web.tar.gz 解压 +5. pm2 start ppanel-user-web 重启 diff --git a/apps/user/components/main/OfferDialog/index.tsx b/apps/user/components/main/OfferDialog/index.tsx index 03f9525..f5fb3d6 100644 --- a/apps/user/components/main/OfferDialog/index.tsx +++ b/apps/user/components/main/OfferDialog/index.tsx @@ -143,7 +143,7 @@ const OfferDialog = forwardRef((props, ref) => { const response = await getSubscription({ skipErrorHandler: true }); // 确保返回有效的数组,避免 undefined const list = response.data?.data?.list || []; - return list as SubscriptionData[]; + return list as unknown as SubscriptionData[]; } catch (err) { // 自定义错误处理 console.error('获取订阅数据失败:', err); @@ -183,7 +183,6 @@ const OfferDialog = forwardRef((props, ref) => { price: 8, originalPrice: 10, duration: 'year', - isPopular: false, features: { traffic: '140G', duration: '30天', @@ -216,7 +215,6 @@ const OfferDialog = forwardRef((props, ref) => { price: 48, originalPrice: 60, duration: 'year', - isPopular: false, features: { traffic: '180G', duration: '30天', diff --git a/apps/user/components/user-nav.tsx b/apps/user/components/user-nav.tsx index 0365c0b..c847d1c 100644 --- a/apps/user/components/user-nav.tsx +++ b/apps/user/components/user-nav.tsx @@ -13,7 +13,7 @@ import { Icon } from '@workspace/ui/custom-components/icon'; import { useTranslations } from 'next-intl'; import { usePathname, useRouter } from 'next/navigation'; -export function UserNav({ from }: { from: string }) { +export function UserNav({ from = '' }: { from?: string }) { const t = useTranslations('menu'); const { user, setUser } = useGlobalStore(); const router = useRouter(); @@ -55,7 +55,7 @@ export function UserNav({ from }: { from: string }) {