From e0cc13094f90120d858b9946e5823a9702203ce9 Mon Sep 17 00:00:00 2001 From: "Apple\\Apple" Date: Sat, 7 Jun 2025 22:50:31 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=97feat(ui):=20Enhance=20About=20page?= =?UTF-8?q?=20with=20interactive=20project=20links=20and=20improve=20exter?= =?UTF-8?q?nal=20link=20handling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Changes:** - Replace React Router `Link` components with native `` tags for external links in About and Footer components - Add clickable links for "NewAPI", "QuantumNous", and "One API v0.5.4" in the About page - Link "NewAPI" to the main project repository (https://github.com/QuantumNous/new-api) - Link "QuantumNous" to the organization page (https://github.com/QuantumNous) - Link "One API v0.5.4" to the specific release page (https://github.com/songquanpeng/one-api/releases/tag/v0.5.4) - Apply consistent styling with primary color theme and hover effects across all links - Add proper security attributes (`rel="noopener noreferrer"`) to all external links **i18n Updates:** - Refactor i18n translation keys to support the new link structure - Split the original copyright string into smaller, reusable translation keys - Add new translation keys: `"© {{currentYear}}"` and `"| 基于"` - Maintain backward compatibility for existing translations **Benefits:** - Improved user experience with direct access to relevant project resources - Better SEO and link accessibility - Consistent visual styling across all external links - Enhanced security for external link navigation - Proper separation of concerns between internal routing and external navigation --- web/src/components/layout/Footer.js | 14 ++++---- web/src/i18n/locales/en.json | 8 +++-- web/src/pages/About/index.js | 53 ++++++++++++++++++++++++++--- 3 files changed, 60 insertions(+), 15 deletions(-) diff --git a/web/src/components/layout/Footer.js b/web/src/components/layout/Footer.js index d53ae2ed..b776c216 100644 --- a/web/src/components/layout/Footer.js +++ b/web/src/components/layout/Footer.js @@ -81,14 +81,12 @@ const FooterBar = () => { © {currentYear} {systemName}. {t('版权所有')} - {isDemoSiteMode && ( -
- {t('设计与开发由')} - Douyin FE - & - QuantumNous -
- )} +
+ {t('设计与开发由')} + New API + & + One API +
), [logo, systemName, t, currentYear, isDemoSiteMode]); diff --git a/web/src/i18n/locales/en.json b/web/src/i18n/locales/en.json index 29469d14..d9df1088 100644 --- a/web/src/i18n/locales/en.json +++ b/web/src/i18n/locales/en.json @@ -1404,8 +1404,12 @@ "演示站点": "Demo Site", "页面未找到,请检查您的浏览器地址是否正确": "Page not found, please check if your browser address is correct", "New API项目仓库地址:": "New API project repository address: ", - "NewAPI © {{currentYear}} QuantumNous | 基于 One API v0.5.4 © 2023 JustSong。": "NewAPI © {{currentYear}} QuantumNous | Based on One API v0.5.4 © 2023 JustSong.", - "本项目根据MIT许可证授权,需在遵守Apache-2.0协议的前提下使用。": "This project is licensed under the MIT License and must be used in compliance with the Apache-2.0 License.", + "© {{currentYear}}": "© {{currentYear}}", + "| 基于": " | Based on ", + "© 2023 JustSong。": "© 2023 JustSong.", + "本项目根据": "This project is licensed under the ", + "授权,需在遵守": " and must be used in compliance with the ", + "的前提下使用。": ".", "管理员暂时未设置任何关于内容": "The administrator has not set any custom About content yet", "早上好": "Good morning", "中午好": "Good afternoon", diff --git a/web/src/pages/About/index.js b/web/src/pages/About/index.js index 42ac09e0..78de9185 100644 --- a/web/src/pages/About/index.js +++ b/web/src/pages/About/index.js @@ -3,7 +3,6 @@ import { API, showError } from '../../helpers'; import { marked } from 'marked'; import { Empty } from '@douyinfe/semi-ui'; import { IllustrationConstruction, IllustrationConstructionDark } from '@douyinfe/semi-illustrations'; -import { Link } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; const About = () => { @@ -42,14 +41,58 @@ const About = () => {

{t('可在设置页面设置关于内容,支持 HTML & Markdown')}

{t('New API项目仓库地址:')} - + https://github.com/QuantumNous/new-api - +

- {t('NewAPI © {{currentYear}} QuantumNous | 基于 One API v0.5.4 © 2023 JustSong。', { currentYear })} + + NewAPI + {t('© {{currentYear}}', { currentYear })} + QuantumNous + {t('| 基于')} + One API v0.5.4 + {t('© 2023 JustSong。')}

- {t('本项目根据MIT许可证授权,需在遵守Apache-2.0协议的前提下使用。')} + {t('本项目根据')} + + MIT许可证 + + {t('授权,需在遵守')} + + Apache-2.0协议 + + {t('的前提下使用。')}

);