aboutsummaryrefslogtreecommitdiff
path: root/examples/hello-next/pages
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-08-20 13:17:57 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-08-20 13:17:57 -0700
commit5db15b6ec7cd41cc15214f4448b064f4dd11f974 (patch)
tree4dff15a434b069e17c8cb16cca1a20e8a015212f /examples/hello-next/pages
parentf1d3aade3b408ead1c1459eb9e0d90e90290d687 (diff)
downloadbun-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.tsx7
-rw-r--r--examples/hello-next/pages/api/hello.tsx5
-rw-r--r--examples/hello-next/pages/foo/bar/third.tsx26
-rw-r--r--examples/hello-next/pages/index.tsx82
-rw-r--r--examples/hello-next/pages/posts/[id].tsx19
-rw-r--r--examples/hello-next/pages/second.tsx22
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 &rarr;</h2>
+ <p>Link</p>
+ </div>
+ </Link>
+
+ <button
+ onClick={() => router.push("/foo/bar/third")}
+ className={styles.card}
+ style={{ backgroundColor: "white" }}
+ >
+ <h2>Third Page &rarr;</h2>
+ <p>button, router.push()</p>
+ </button>
+
+ <a
+ href="https://github.com/vercel/next.js/tree/master/examples"
+ className={styles.card}
+ >
+ <h2>Examples &rarr;</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 &rarr;</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>
+ );
+}