添加导航栏组件。
This commit is contained in:
		
							
								
								
									
										46
									
								
								src/page-components/navigation/NavigationMenu.module.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/page-components/navigation/NavigationMenu.module.css
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| @layer pages { | ||||
|   .navigation { | ||||
|     max-width: 20rem; | ||||
|     flex: 1 1; | ||||
|     display: flex; | ||||
|     flex-direction: column; | ||||
|     justify-content: flex-start; | ||||
|     align-items: stretch; | ||||
|     gap: var(--spacing-xs); | ||||
|     box-shadow: 2px 0 8px oklch(from var(--color-black) l c h / 65%); | ||||
|     z-index: 50; | ||||
|     h1 { | ||||
|       display: block; | ||||
|       padding: var(--spacing-m) var(--spacing-l); | ||||
|       font-size: var(--font-size-xxl); | ||||
|     } | ||||
|     footer { | ||||
|       padding-inline: var(--spacing-l); | ||||
|       padding-block: var(--spacing-m); | ||||
|     } | ||||
|     .nav_menu { | ||||
|       flex: 1 0; | ||||
|       padding: var(--spacing-n); | ||||
|       display: flex; | ||||
|       flex-direction: column; | ||||
|       align-items: stretch; | ||||
|       gap: var(--spacing-xs); | ||||
|       li { | ||||
|         list-style: none; | ||||
|         a.nav_link { | ||||
|           display: inline-block; | ||||
|           width: 100%; | ||||
|           padding-inline: var(--spacing-l); | ||||
|           padding-block: var(--spacing-s); | ||||
|           text-align: right; | ||||
|           &.active { | ||||
|             background-color: var(--color-primary-active); | ||||
|           } | ||||
|           &:hover { | ||||
|             background-color: var(--color-primary-hover); | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										86
									
								
								src/page-components/navigation/NavigationMenu.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								src/page-components/navigation/NavigationMenu.tsx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,86 @@ | ||||
| import cx from 'clsx'; | ||||
| import { NavLink } from 'react-router-dom'; | ||||
| import styles from './NavigationMenu.module.css'; | ||||
|  | ||||
| export function NavigationMenu() { | ||||
|   return ( | ||||
|     <nav className={styles.navigation}> | ||||
|       <h1>Color Q</h1> | ||||
|       <menu className={styles.nav_menu}> | ||||
|         <li> | ||||
|           <NavLink | ||||
|             to="/schemes" | ||||
|             className={({ isActive }) => cx(styles.nav_link, isActive && styles.active)}> | ||||
|             My Schemes | ||||
|           </NavLink> | ||||
|         </li> | ||||
|         <li> | ||||
|           <NavLink | ||||
|             to="/harmonies" | ||||
|             className={({ isActive }) => cx(styles.nav_link, isActive && styles.active)}> | ||||
|             Harmonies | ||||
|           </NavLink> | ||||
|         </li> | ||||
|         <li> | ||||
|           <NavLink | ||||
|             to="/wheels" | ||||
|             className={({ isActive }) => cx(styles.nav_link, isActive && styles.active)}> | ||||
|             Wheels | ||||
|           </NavLink> | ||||
|         </li> | ||||
|         <li> | ||||
|           <NavLink | ||||
|             to="/tones" | ||||
|             className={({ isActive }) => cx(styles.nav_link, isActive && styles.active)}> | ||||
|             Tones | ||||
|           </NavLink> | ||||
|         </li> | ||||
|         <li> | ||||
|           <NavLink | ||||
|             to="/tints-shades" | ||||
|             className={({ isActive }) => cx(styles.nav_link, isActive && styles.active)}> | ||||
|             Tints & Shades | ||||
|           </NavLink> | ||||
|         </li> | ||||
|         <li> | ||||
|           <NavLink | ||||
|             to="/lighten-darken" | ||||
|             className={({ isActive }) => cx(styles.nav_link, isActive && styles.active)}> | ||||
|             Lighten & Darken | ||||
|           </NavLink> | ||||
|         </li> | ||||
|         <li> | ||||
|           <NavLink | ||||
|             to="/mixer" | ||||
|             className={({ isActive }) => cx(styles.nav_link, isActive && styles.active)}> | ||||
|             Mixer | ||||
|           </NavLink> | ||||
|         </li> | ||||
|         <li> | ||||
|           <NavLink | ||||
|             to="/chroma" | ||||
|             className={({ isActive }) => cx(styles.nav_link, isActive && styles.active)}> | ||||
|             Chromatography | ||||
|           </NavLink> | ||||
|         </li> | ||||
|         <li> | ||||
|           <NavLink | ||||
|             to="/wacg" | ||||
|             className={({ isActive }) => cx(styles.nav_link, isActive && styles.active)}> | ||||
|             WACG Check | ||||
|           </NavLink> | ||||
|         </li> | ||||
|         <li> | ||||
|           <NavLink | ||||
|             to="/cards" | ||||
|             className={({ isActive }) => cx(styles.nav_link, isActive && styles.active)}> | ||||
|             Color Cards | ||||
|           </NavLink> | ||||
|         </li> | ||||
|       </menu> | ||||
|       <footer> | ||||
|         © <a href="https://archgrid.net">ArchGrid</a> 2024 | ||||
|       </footer> | ||||
|     </nav> | ||||
|   ); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user