diff options
author | 2021-08-20 13:17:57 -0700 | |
---|---|---|
committer | 2021-08-20 13:17:57 -0700 | |
commit | 5db15b6ec7cd41cc15214f4448b064f4dd11f974 (patch) | |
tree | 4dff15a434b069e17c8cb16cca1a20e8a015212f /examples/hello-next/pages | |
parent | f1d3aade3b408ead1c1459eb9e0d90e90290d687 (diff) | |
download | bun-5db15b6ec7cd41cc15214f4448b064f4dd11f974.tar.gz bun-5db15b6ec7cd41cc15214f4448b064f4dd11f974.tar.zst bun-5db15b6ec7cd41cc15214f4448b064f4dd11f974.zip |
demos -> examples
Former-commit-id: 19a5d395bd41b0a0b854cdf749eb96149f91cbe1
Diffstat (limited to 'examples/hello-next/pages')
-rw-r--r-- | examples/hello-next/pages/_app.tsx | 7 | ||||
-rw-r--r-- | examples/hello-next/pages/api/hello.tsx | 5 | ||||
-rw-r--r-- | examples/hello-next/pages/foo/bar/third.tsx | 26 | ||||
-rw-r--r-- | examples/hello-next/pages/index.tsx | 82 | ||||
-rw-r--r-- | examples/hello-next/pages/posts/[id].tsx | 19 | ||||
-rw-r--r-- | examples/hello-next/pages/second.tsx | 22 |
6 files changed, 161 insertions, 0 deletions
diff --git a/examples/hello-next/pages/_app.tsx b/examples/hello-next/pages/_app.tsx new file mode 100644 index 000000000..2fc3e0700 --- /dev/null +++ b/examples/hello-next/pages/_app.tsx @@ -0,0 +1,7 @@ +import "../styles/globals.css"; + +function MyApp({ Component, pageProps }) { + return <Component {...pageProps} />; +} + +export default MyApp; diff --git a/examples/hello-next/pages/api/hello.tsx b/examples/hello-next/pages/api/hello.tsx new file mode 100644 index 000000000..df63de88f --- /dev/null +++ b/examples/hello-next/pages/api/hello.tsx @@ -0,0 +1,5 @@ +// Next.js API route support: https://nextjs.org/docs/api-routes/introduction + +export default function handler(req, res) { + res.status(200).json({ name: 'John Doe' }) +} diff --git a/examples/hello-next/pages/foo/bar/third.tsx b/examples/hello-next/pages/foo/bar/third.tsx new file mode 100644 index 000000000..e1df24bc1 --- /dev/null +++ b/examples/hello-next/pages/foo/bar/third.tsx @@ -0,0 +1,26 @@ +import Link from "next/link"; + +export default function Baz({}) { + return ( + <div style={{ padding: 16 }}> + <h1>Third</h1> + <ul> + <li> + <Link href="/"> + <a>Root page</a> + </Link> + </li> + <li> + <Link href="/second"> + <a>Second page</a> + </Link> + </li> + <li> + <Link href="/posts/123"> + <a>Post page 123</a> + </Link> + </li> + </ul> + </div> + ); +} diff --git a/examples/hello-next/pages/index.tsx b/examples/hello-next/pages/index.tsx new file mode 100644 index 000000000..b87c67a84 --- /dev/null +++ b/examples/hello-next/pages/index.tsx @@ -0,0 +1,82 @@ +import Head from "next/head"; +import Image from "next/image"; +import styles from "../styles/Home.module.css"; +import Link from "next/link"; +import { useRouter } from "next/router"; + +import Title from "../components/Title"; + +export default function Home() { + const router = useRouter(); + return ( + <div className={styles.container}> + <Head> + <title>Fo</title> + <meta name="description" content="Generated by create next app" /> + <link rel="icon" href="/favicon.ico" /> + </Head> + + <Title /> + + <main className={styles.main}> + <h1 className={styles.title}> + Welcome to <a href="https://nextjs.org">Next.js!</a> + </h1> + + <p className={styles.description}> + Get started by editing{" "} + <code className={styles.code}>pages/index.js</code> + </p> + + <div className={styles.grid}> + <Link href="/second"> + <div className={styles.card}> + <h2>Second Page →</h2> + <p>Link</p> + </div> + </Link> + + <button + onClick={() => router.push("/foo/bar/third")} + className={styles.card} + style={{ backgroundColor: "white" }} + > + <h2>Third Page →</h2> + <p>button, router.push()</p> + </button> + + <a + href="https://github.com/vercel/next.js/tree/master/examples" + className={styles.card} + > + <h2>Examples →</h2> + <p>Discover and deploy boilerplate example Next.js projects.</p> + </a> + + <a + href="https://vercel.com/new?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app" + className={styles.card} + > + <h2>Deploy →</h2> + <p> + Instantly deploy your Next.js site to a public URL with Vercel. + </p> + </a> + </div> + </main> + + <footer className={styles.footer}> + <a + href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app" + target="_blank" + rel="noopener noreferrer" + > + Powered by{" "} + <span className={styles.logo}> + <img src="/vercel.svg" alt="Vercel Logo" width={72} height={16} /> + </span> + </a> + </footer> + </div> + ); +} diff --git a/examples/hello-next/pages/posts/[id].tsx b/examples/hello-next/pages/posts/[id].tsx new file mode 100644 index 000000000..48413669c --- /dev/null +++ b/examples/hello-next/pages/posts/[id].tsx @@ -0,0 +1,19 @@ +import { useRouter } from "next/router"; +import Link from "next/link"; + +export default function Post({}) { + const router = useRouter(); + + return ( + <div style={{ padding: 16 }}> + <h1>Post: {router.query.id}</h1> + <ul> + <li> + <Link href="/"> + <a>Root page</a> + </Link> + </li> + </ul> + </div> + ); +} diff --git a/examples/hello-next/pages/second.tsx b/examples/hello-next/pages/second.tsx new file mode 100644 index 000000000..0e7b5a5cf --- /dev/null +++ b/examples/hello-next/pages/second.tsx @@ -0,0 +1,22 @@ +import Link from "next/link"; + +export default function Second({}) { + return ( + <div style={{ padding: 16 }}> + <h1>Second</h1> + + <ul> + <li> + <Link href="/"> + <a>Root page</a> + </Link> + </li> + <li> + <Link href="/foo/bar/third"> + <a>Third! page</a> + </Link> + </li> + </ul> + </div> + ); +} |