|
1 | 1 | import type { AppProps } from 'next/app'; |
2 | 2 | import Head from 'next/head'; |
3 | | - |
| 3 | +import { useRouter } from 'next/router'; |
4 | 4 | import Container from 'react-bootstrap/Container'; |
5 | 5 | import Nav from 'react-bootstrap/Nav'; |
6 | 6 | import Navbar from 'react-bootstrap/Navbar'; |
7 | 7 |
|
8 | 8 | import 'idea-react/dist/index.css'; |
9 | 9 | import '../styles/globals.css'; |
10 | 10 |
|
| 11 | +const topNavBarMenu = [ |
| 12 | + { |
| 13 | + href: '/about', |
| 14 | + name: '关于', |
| 15 | + }, |
| 16 | + { |
| 17 | + href: '/history', |
| 18 | + name: '历史', |
| 19 | + }, |
| 20 | + { |
| 21 | + href: '/code-of-conduct', |
| 22 | + name: '行为规范', |
| 23 | + }, |
| 24 | + { |
| 25 | + href: '/join-us', |
| 26 | + name: '参与', |
| 27 | + }, |
| 28 | + { |
| 29 | + href: '/open-collaborator-award', |
| 30 | + name: '开放协作人奖', |
| 31 | + }, |
| 32 | +]; |
| 33 | + |
11 | 34 | export default function MyApp({ Component, pageProps }: AppProps) { |
| 35 | + const { pathname } = useRouter(); |
| 36 | + const thisFullYear = new Date().getFullYear(); |
12 | 37 | return ( |
13 | 38 | <> |
14 | 39 | <Head> |
15 | 40 | <meta name="viewport" content="width=device-width, initial-scale=1" /> |
16 | 41 |
|
17 | 42 | <title>开源市集</title> |
18 | 43 | <link rel="icon" href="/favicon.ico" /> |
19 | | - <link |
20 | | - rel="stylesheet" |
21 | | - href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" |
22 | | - /> |
23 | | - <link |
24 | | - rel="stylesheet" |
25 | | - href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css" |
26 | | - /> |
27 | 44 | </Head> |
28 | 45 |
|
29 | | - <Navbar bg="dark" variant="dark" fixed="top"> |
| 46 | + <Navbar bg="dark" variant="dark" fixed="top" expand="lg"> |
30 | 47 | <Container> |
31 | | - <Navbar.Brand href="/">开源市集</Navbar.Brand> |
32 | | - <Nav className="me-auto"> |
33 | | - <Nav.Link href="/about">关于</Nav.Link> |
34 | | - <Nav.Link href="/history">历史</Nav.Link> |
35 | | - <Nav.Link href="/code-of-conduct">行为规范</Nav.Link> |
36 | | - <Nav.Link href="/join-us">参与</Nav.Link> |
37 | | - <Nav.Link href="/open-collaborator-award">开放协作人奖</Nav.Link> |
38 | | - </Nav> |
| 48 | + <Navbar.Brand href="/" className="fw-bolder"> |
| 49 | + 开源市集 |
| 50 | + </Navbar.Brand> |
| 51 | + <Navbar.Toggle aria-controls="navbarScroll" /> |
| 52 | + <Navbar.Collapse id="navbarScroll"> |
| 53 | + <Nav className="me-auto my-2 my-lg-0" navbarScroll> |
| 54 | + {topNavBarMenu.map(({ href, name }) => ( |
| 55 | + <Nav.Link |
| 56 | + key={`${href}-${name}`} |
| 57 | + href={href} |
| 58 | + className={ |
| 59 | + pathname === `${href}` ? 'fw-bolder text-light' : '' |
| 60 | + } |
| 61 | + > |
| 62 | + {name} |
| 63 | + </Nav.Link> |
| 64 | + ))} |
| 65 | + </Nav> |
| 66 | + </Navbar.Collapse> |
39 | 67 | </Container> |
40 | 68 | </Navbar> |
41 | 69 |
|
42 | 70 | <div className="mt-5 pt-2"> |
43 | 71 | <Component {...pageProps} /> |
44 | 72 | </div> |
45 | 73 |
|
46 | | - {/* <footer className="flex-fill d-flex justify-content-center align-items-center border-top py-4"> |
47 | | - <a |
48 | | - className="flex-fill d-flex justify-content-center align-items-center" |
49 | | - href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app" |
50 | | - target="_blank" |
51 | | - rel="noopener noreferrer" |
52 | | - > |
53 | | - Powered by |
54 | | - <span className="mx-2"> |
55 | | - <Image src="/vercel.svg" alt="Vercel Logo" width={72} height={16} /> |
| 74 | + <footer className="mw-100 bg-dark text-white"> |
| 75 | + <p className="text-center my-0 py-3"> |
| 76 | + <span className="pr-3"> |
| 77 | + © 2021{thisFullYear === 2021 ? '' : `-${thisFullYear}`} 开源市集 |
56 | 78 | </span> |
57 | | - </a> |
58 | | - </footer> */} |
| 79 | + {/* <a |
| 80 | + className="flex-fill d-flex justify-content-center align-items-center" |
| 81 | + href="https://vercel.com/" |
| 82 | + target="_blank" |
| 83 | + rel="noopener noreferrer" |
| 84 | + > |
| 85 | + Powered by |
| 86 | + <span className="mx-2"> |
| 87 | + <Image |
| 88 | + src="/vercel.svg" |
| 89 | + alt="Vercel Logo" |
| 90 | + width={72} |
| 91 | + height={16} |
| 92 | + /> |
| 93 | + </span> |
| 94 | + </a> */} |
| 95 | + </p> |
| 96 | + </footer> |
59 | 97 | </> |
60 | 98 | ); |
61 | 99 | } |
0 commit comments