LaoeGaoci | ee7c577 | 2025-05-28 12:34:47 +0800 | [diff] [blame] | 1 | // app/layout.tsx |
LaoeGaoci | a82dfe9 | 2025-04-01 20:17:11 +0800 | [diff] [blame] | 2 | |
LaoeGaoci | ee7c577 | 2025-05-28 12:34:47 +0800 | [diff] [blame] | 3 | import type { Metadata } from 'next'; |
| 4 | import { Avatar } from 'primereact/avatar'; |
| 5 | // 页面跳转 |
| 6 | import Link from 'next/link'; |
| 7 | // PrimeReact 依赖 |
| 8 | import { PrimeReactProvider } from 'primereact/api'; |
| 9 | import 'primeicons/primeicons.css'; |
| 10 | import 'primereact/resources/themes/lara-light-teal/theme.css'; // 主题 |
| 11 | // 全局样式 |
LaoeGaoci | 388f776 | 2025-05-29 22:24:35 +0800 | [diff] [blame^] | 12 | import './globals.scss'; |
LaoeGaoci | a82dfe9 | 2025-04-01 20:17:11 +0800 | [diff] [blame] | 13 | |
LaoeGaoci | ee7c577 | 2025-05-28 12:34:47 +0800 | [diff] [blame] | 14 | //设置标题 |
LaoeGaoci | a82dfe9 | 2025-04-01 20:17:11 +0800 | [diff] [blame] | 15 | export const metadata: Metadata = { |
LaoeGaoci | ee7c577 | 2025-05-28 12:34:47 +0800 | [diff] [blame] | 16 | title: 'MCPT', |
| 17 | description: 'MCPT resource Platform', |
LaoeGaoci | a82dfe9 | 2025-04-01 20:17:11 +0800 | [diff] [blame] | 18 | }; |
| 19 | |
LaoeGaoci | ee7c577 | 2025-05-28 12:34:47 +0800 | [diff] [blame] | 20 | // 页首工具栏 |
| 21 | export default function RootLayout({ children }: { children: React.ReactNode }) { |
LaoeGaoci | a82dfe9 | 2025-04-01 20:17:11 +0800 | [diff] [blame] | 22 | return ( |
LaoeGaoci | ee7c577 | 2025-05-28 12:34:47 +0800 | [diff] [blame] | 23 | <html lang="zh"> |
| 24 | <body> |
| 25 | <PrimeReactProvider> |
| 26 | <div className="container"> |
| 27 | <header className="toolbar"> |
| 28 | <div className="logo-name"> |
| 29 | <Link href="/" className="no-underline"> |
| 30 | <img src="/logo.png" alt="Logo" className="logo" /> |
| 31 | </Link> |
| 32 | |
| 33 | <span className="name">MCPT</span> |
| 34 | </div> |
| 35 | <div className="tools"> |
LaoeGaoci | 388f776 | 2025-05-29 22:24:35 +0800 | [diff] [blame^] | 36 | <Link href="/resource/hot-resource" className="no-underline"> |
| 37 | <div className="tool-item"> |
| 38 | <i className="pi pi-trophy" /> |
| 39 | <span>热门</span> |
| 40 | </div> |
| 41 | </Link> |
| 42 | <Link href="/search" className="no-underline"> |
LaoeGaoci | ee7c577 | 2025-05-28 12:34:47 +0800 | [diff] [blame] | 43 | <div className="tool-item"> |
| 44 | <i className="pi pi-search" /> |
| 45 | <span>搜索</span> |
| 46 | </div> |
| 47 | </Link> |
| 48 | |
| 49 | <Link href="/community" className="no-underline"> |
| 50 | <div className="tool-item"> |
| 51 | <i className="pi pi-users" /> |
| 52 | <span>社区</span> |
| 53 | </div> |
| 54 | </Link> |
| 55 | |
LaoeGaoci | 388f776 | 2025-05-29 22:24:35 +0800 | [diff] [blame^] | 56 | <Link href="/resource/classification" className="no-underline"> |
LaoeGaoci | ee7c577 | 2025-05-28 12:34:47 +0800 | [diff] [blame] | 57 | <div className="tool-item"> |
| 58 | <i className="pi pi-tags" /> |
| 59 | <span>分类</span> |
| 60 | </div> |
| 61 | </Link> |
| 62 | |
| 63 | <Link href="/notification" className="no-underline"> |
| 64 | <div className="tool-item"> |
| 65 | <i className="pi pi-bell" /> |
| 66 | <span>通知</span> |
| 67 | </div> |
| 68 | </Link> |
| 69 | <Link href="/user" className="no-underline"> |
| 70 | <Avatar image="/images/avatar/asiyajavayant.png" size="large" shape="circle" /> |
| 71 | </Link> |
| 72 | </div> |
| 73 | </header> |
| 74 | <main className="mainContent">{children}</main> |
| 75 | </div> |
| 76 | </PrimeReactProvider> |
LaoeGaoci | a82dfe9 | 2025-04-01 20:17:11 +0800 | [diff] [blame] | 77 | </body> |
| 78 | </html> |
| 79 | ); |
| 80 | } |