diff --git a/frontend/src/components/ui/layout.tsx b/frontend/src/components/ui/layout.tsx new file mode 100644 index 00000000..cdfcf63d --- /dev/null +++ b/frontend/src/components/ui/layout.tsx @@ -0,0 +1,66 @@ +import * as React from "react"; +import { cn } from "@/lib/utils"; + +const Layout = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)); +Layout.displayName = "Layout"; + +const LayoutContent = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)); +LayoutContent.displayName = "LayoutContent"; + +const Header = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)); +Header.displayName = "Header"; + +const Main = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)); +Main.displayName = "Main"; + +export { Layout, LayoutContent, Header, Main }; \ No newline at end of file diff --git a/frontend/src/layouts/BasicLayout.tsx b/frontend/src/layouts/BasicLayout.tsx index 2992d8b1..6625a027 100644 --- a/frontend/src/layouts/BasicLayout.tsx +++ b/frontend/src/layouts/BasicLayout.tsx @@ -1,5 +1,5 @@ import React, {useEffect, useState, useCallback} from 'react'; -import {Layout, Dropdown, Modal, message, Spin, Space, Tooltip} from 'antd'; +import {Dropdown, Modal, message, Spin, Space, Tooltip} from 'antd'; import {useNavigate, useLocation, Outlet} from 'react-router-dom'; import {useDispatch, useSelector} from 'react-redux'; import { @@ -17,8 +17,8 @@ import type {RootState} from '../store'; import dayjs from 'dayjs'; import 'dayjs/locale/zh-cn'; import { AppMenu } from '@/components/AppMenu'; +import { Layout, LayoutContent, Header, Main } from '@/components/ui/layout'; -const {Header, Content} = Layout; const {confirm} = Modal; // 设置中文语言 @@ -153,91 +153,46 @@ const BasicLayout: React.FC = () => { if (loading) { return ( -
+
-
-

正在为您准备系统资源

-

请稍候,马上就好...

+
+

正在为您准备系统资源

+

请稍候,马上就好...

); } return ( - + - -
+ +
- - + + {currentTime.format('YYYY年MM月DD日 HH:mm:ss')} 星期{currentTime.format('dd')} - - + + {weather.weather} {weather.temp}℃ - + {userInfo?.nickname || userInfo?.username}
- +
- - +
+
); }