BREAKING CHANGE: helpers/utils.js no longer exports `isMobile()`. Any external code that relied on this function must switch to the `useIsMobile` React hook. Summary ------- 1. Deleted the obsolete `isMobile()` function from helpers/utils.js. 2. Introduced `MOBILE_BREAKPOINT` constant and `matchMedia`-based detection for non-React contexts. 3. Reworked toast positioning logic in utils.js to rely on `matchMedia`. 4. Updated render.js: • Removed isMobile import. • Added MOBILE_BREAKPOINT detection in `truncateText`. 5. Migrated every page/component to the `useIsMobile` hook: • Layout: HeaderBar, PageLayout, SiderBar • Pages: Home, Detail, Playground, User (Add/Edit), Token, Channel, Redemption, Ratio Sync • Components: ChannelsTable, ChannelSelectorModal, ConflictConfirmModal 6. Purged all remaining `isMobile()` calls and legacy imports. 7. Added missing `const isMobile = useIsMobile()` declarations where required. Benefits -------- • Unifies mobile detection with a React-friendly hook. • Eliminates duplicated logic and improves maintainability. • Keeps non-React helpers lightweight by using `matchMedia` directly.
29 lines
828 B
JavaScript
29 lines
828 B
JavaScript
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.js';
|
|
import './i18n/i18n.js';
|
|
import './index.css';
|
|
|
|
// initialization
|
|
|
|
const root = ReactDOM.createRoot(document.getElementById('root'));
|
|
root.render(
|
|
<React.StrictMode>
|
|
<StatusProvider>
|
|
<UserProvider>
|
|
<BrowserRouter>
|
|
<ThemeProvider>
|
|
<PageLayout />
|
|
</ThemeProvider>
|
|
</BrowserRouter>
|
|
</UserProvider>
|
|
</StatusProvider>
|
|
</React.StrictMode>,
|
|
);
|