增加基础应用结构。
This commit is contained in:
parent
ea5803ce7a
commit
97773db59e
42
src/App.css
42
src/App.css
|
@ -1,42 +0,0 @@
|
|||
#root {
|
||||
max-width: 1280px;
|
||||
margin: 0 auto;
|
||||
padding: 2rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.logo {
|
||||
height: 6em;
|
||||
padding: 1.5em;
|
||||
will-change: filter;
|
||||
transition: filter 300ms;
|
||||
}
|
||||
.logo:hover {
|
||||
filter: drop-shadow(0 0 2em #646cffaa);
|
||||
}
|
||||
.logo.react:hover {
|
||||
filter: drop-shadow(0 0 2em #61dafbaa);
|
||||
}
|
||||
|
||||
@keyframes logo-spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
a:nth-of-type(2) .logo {
|
||||
animation: logo-spin infinite 20s linear;
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
padding: 2em;
|
||||
}
|
||||
|
||||
.read-the-docs {
|
||||
color: #888;
|
||||
}
|
41
src/App.tsx
41
src/App.tsx
|
@ -1,35 +1,14 @@
|
|||
import { useState } from 'react'
|
||||
import reactLogo from './assets/react.svg'
|
||||
import viteLogo from '/vite.svg'
|
||||
import './App.css'
|
||||
import { createBrowserRouter, RouterProvider } from 'react-router-dom';
|
||||
import { Notifications } from './components/Notifications';
|
||||
import { MainLayout } from './pages/MainLayout';
|
||||
|
||||
function App() {
|
||||
const [count, setCount] = useState(0)
|
||||
const routes = createBrowserRouter([{ path: '/', element: <MainLayout /> }]);
|
||||
|
||||
export function App() {
|
||||
return (
|
||||
<>
|
||||
<div>
|
||||
<a href="https://vite.dev" target="_blank">
|
||||
<img src={viteLogo} className="logo" alt="Vite logo" />
|
||||
</a>
|
||||
<a href="https://react.dev" target="_blank">
|
||||
<img src={reactLogo} className="logo react" alt="React logo" />
|
||||
</a>
|
||||
</div>
|
||||
<h1>Vite + React</h1>
|
||||
<div className="card">
|
||||
<button onClick={() => setCount((count) => count + 1)}>
|
||||
count is {count}
|
||||
</button>
|
||||
<p>
|
||||
Edit <code>src/App.tsx</code> and save to test HMR
|
||||
</p>
|
||||
</div>
|
||||
<p className="read-the-docs">
|
||||
Click on the Vite and React logos to learn more
|
||||
</p>
|
||||
</>
|
||||
)
|
||||
<Notifications>
|
||||
<title>Color Lab</title>
|
||||
<RouterProvider router={routes}></RouterProvider>
|
||||
</Notifications>
|
||||
);
|
||||
}
|
||||
|
||||
export default App
|
||||
|
|
14
src/pages/MainLayout.module.css
Normal file
14
src/pages/MainLayout.module.css
Normal file
|
@ -0,0 +1,14 @@
|
|||
@layer pages {
|
||||
.main_layout {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: stretch;
|
||||
}
|
||||
.content {
|
||||
flex: 1 0;
|
||||
}
|
||||
}
|
14
src/pages/MainLayout.tsx
Normal file
14
src/pages/MainLayout.tsx
Normal file
|
@ -0,0 +1,14 @@
|
|||
import { Outlet } from 'react-router-dom';
|
||||
import { NavigationMenu } from '../page-components/navigation/NavigationMenu';
|
||||
import styles from './MainLayout.module.css';
|
||||
|
||||
export function MainLayout() {
|
||||
return (
|
||||
<div className={styles.main_layout}>
|
||||
<NavigationMenu />
|
||||
<div className={styles.content}>
|
||||
<Outlet />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
Loading…
Reference in New Issue
Block a user