/* Copyright (C) 2025 QuantumNous This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ import React from 'react'; import ReactDOM from 'react-dom/client'; import { BrowserRouter } from 'react-router-dom'; import '@douyinfe/semi-ui/dist/css/semi.css'; import { UserProvider } from './context/User'; import 'react-toastify/dist/ReactToastify.css'; import { StatusProvider } from './context/Status'; import { ThemeProvider } from './context/Theme'; import PageLayout from './components/layout/PageLayout'; import './i18n/i18n'; import './index.css'; import { LocaleProvider } from '@douyinfe/semi-ui'; import { useTranslation } from 'react-i18next'; import zh_CN from '@douyinfe/semi-ui/lib/es/locale/source/zh_CN'; import en_GB from '@douyinfe/semi-ui/lib/es/locale/source/en_GB'; // 欢迎信息(二次开发者未经允许不准将此移除) // Welcome message (Do not remove this without permission from the original developer) if (typeof window !== 'undefined') { console.log( '%cWE ❤ NEWAPI%c Github: https://github.com/QuantumNous/new-api', 'color: #10b981; font-weight: bold; font-size: 24px;', 'color: inherit; font-size: 14px;', ); } function SemiLocaleWrapper({ children }) { const { i18n } = useTranslation(); const semiLocale = React.useMemo( () => ({ zh: zh_CN, en: en_GB })[i18n.language] || zh_CN, [i18n.language], ); return {children}; } // initialization const root = ReactDOM.createRoot(document.getElementById('root')); root.render( , );