123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- // BasicLayout.tsx
- import React from 'react';
- import { Layout, Menu, Breadcrumb } from 'antd';
- import { Link } from 'react-router-dom';
- const { Header, Content, Footer, Sider } = Layout;
- interface BasicLayoutProps {
- children: React.ReactNode;
- }
- const BasicLayout: React.FC<BasicLayoutProps> = ({ children }) => {
- return (
- <Layout style={{ minHeight: '100vh' }}>
- <Header className="header">
- <div className="logo" />
- <Menu theme="dark" mode="horizontal" defaultSelectedKeys={['2']}>
- <Menu.Item key="1"><Link to="/">Home</Link></Menu.Item>
- <Menu.Item key="2"><Link to="/about">About</Link></Menu.Item>
- </Menu>
- </Header>
- <Layout>
- <Sider width={200} className="site-layout-background">
- <Menu mode="inline" defaultSelectedKeys={['1']}>
- <Menu.Item key="1">Option 1</Menu.Item>
- <Menu.Item key="2">Option 2</Menu.Item>
- </Menu>
- </Sider>
- <Layout style={{ padding: '0 24px 24px' }}>
- <Breadcrumb style={{ margin: '16px 0' }}>
- <Breadcrumb.Item>Home</Breadcrumb.Item>
- <Breadcrumb.Item>List</Breadcrumb.Item>
- <Breadcrumb.Item>App</Breadcrumb.Item>
- </Breadcrumb>
- <Content
- className="site-layout-background"
- style={{
- padding: 24,
- margin: 0,
- minHeight: 280,
- }}
- >
- {children}
- </Content>
- <Footer style={{ textAlign: 'center' }}>
- Ant Design ©2025 Created by Ant UED
- </Footer>
- </Layout>
- </Layout>
- </Layout>
- );
- };
- export default BasicLayout;
|