Skip to content

Commit

Permalink
Initial Commit --
Browse files Browse the repository at this point in the history
  • Loading branch information
us1mplex committed Apr 9, 2020
1 parent fe4f9d3 commit 7f57532
Show file tree
Hide file tree
Showing 8 changed files with 169 additions and 202 deletions.
23 changes: 23 additions & 0 deletions components/BaseLayout.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import Header from './Header'

const layoutStyle = {
margin: 20,
padding: 20,
border: '1px solid #DDD'
};

export default function BaseLayout(props) {
return (
<div>
<head>
<title>COVID-19 Survey</title>
</head>

<div style={layoutStyle}>
<Header />
{props.content}
</div>
</div>
);
}

19 changes: 19 additions & 0 deletions components/Header.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import Link from 'next/link';

const linkStyle = {
marginRight: 15
};

const Header = () => (

<div>
<Link href="/">
<a style={linkStyle}>Home</a>
</Link>
<Link href="/about">
<a style={linkStyle}>About</a>
</Link>
</div>
);

export default Header;
14 changes: 14 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"start": "next start"
},
"dependencies": {
"isomorphic-unfetch": "^3.0.0",
"next": "9.3.4",
"react": "16.13.1",
"react-dom": "16.13.1"
Expand Down
9 changes: 9 additions & 0 deletions pages/about.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import BaseLayout from "../components/BaseLayout";

const aboutContent = <p>About covid infection and stuff</p>;

export default function About(props) {
return (
<BaseLayout content={aboutContent} />
);
}
236 changes: 34 additions & 202 deletions pages/index.js
Original file line number Diff line number Diff line change
@@ -1,203 +1,35 @@
import Head from 'next/head'

const Home = () => (
<div className="container">
<Head>
<title>Create Next App</title>
<link rel="icon" href="/favicon.ico" />
</Head>

<main>
<h1 className="title">
Welcome to <a href="https://nextjs.org">Next.js!</a>
</h1>

<p className="description">
Get started by editing <code>pages/index.js</code>
</p>

<div className="grid">
<a href="https://nextjs.org/docs" className="card">
<h3>Documentation &rarr;</h3>
<p>Find in-depth information about Next.js features and API.</p>
</a>

<a href="https://nextjs.org/learn" className="card">
<h3>Learn &rarr;</h3>
<p>Learn about Next.js in an interactive course with quizzes!</p>
</a>

<a
href="https://github.com/zeit/next.js/tree/master/examples"
className="card"
>
<h3>Examples &rarr;</h3>
<p>Discover and deploy boilerplate example Next.js projects.</p>
</a>

<a
href="https://zeit.co/import?filter=next.js&utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
className="card"
>
<h3>Deploy &rarr;</h3>
<p>
Instantly deploy your Next.js site to a public URL with ZEIT Now.
</p>
</a>
</div>
</main>

<footer>
<a
href="https://zeit.co?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer"
>
Powered by <img src="/zeit.svg" alt="ZEIT Logo" />
</a>
</footer>

<style jsx>{`
.container {
min-height: 100vh;
padding: 0 0.5rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
main {
padding: 5rem 0;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
footer {
width: 100%;
height: 100px;
border-top: 1px solid #eaeaea;
display: flex;
justify-content: center;
align-items: center;
}
footer img {
margin-left: 0.5rem;
}
footer a {
display: flex;
justify-content: center;
align-items: center;
}
a {
color: inherit;
text-decoration: none;
}
.title a {
color: #0070f3;
text-decoration: none;
}
.title a:hover,
.title a:focus,
.title a:active {
text-decoration: underline;
}
.title {
margin: 0;
line-height: 1.15;
font-size: 4rem;
}
.title,
.description {
text-align: center;
}
.description {
line-height: 1.5;
font-size: 1.5rem;
}
code {
background: #fafafa;
border-radius: 5px;
padding: 0.75rem;
font-size: 1.1rem;
font-family: Menlo, Monaco, Lucida Console, Liberation Mono,
DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;
}
.grid {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
max-width: 800px;
margin-top: 3rem;
}
.card {
margin: 1rem;
flex-basis: 45%;
padding: 1.5rem;
text-align: left;
color: inherit;
text-decoration: none;
border: 1px solid #eaeaea;
border-radius: 10px;
transition: color 0.15s ease, border-color 0.15s ease;
}
.card:hover,
.card:focus,
.card:active {
color: #0070f3;
border-color: #0070f3;
}
.card h3 {
margin: 0 0 1rem 0;
font-size: 1.5rem;
}
.card p {
margin: 0;
font-size: 1.25rem;
line-height: 1.5;
}
@media (max-width: 600px) {
.grid {
width: 100%;
flex-direction: column;
}
}
`}</style>

<style jsx global>{`
html,
body {
padding: 0;
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
}
* {
box-sizing: border-box;
}
`}</style>
import Header from '../components/Header'
import BaseLayout from '../components/BaseLayout';
import Link from 'next/link';

// NOTE
// file structure doesn't matter [ONLY pages and public ]

function PostLink(props) {
return (
<li>
<Link href="/posts/[id]" as={`/posts/${props.id}`} >
<a>{props.id}</a>
</Link>
</li>
);
}
2
const indexContent = (
<div>
<h1>My Blog</h1>
<ul>
<PostLink id="1"></PostLink>
<PostLink id="2"></PostLink>
<PostLink id="3"></PostLink>
</ul>
</div>
)

export default Home
);

export default function Index() {
return (
<BaseLayout content={indexContent}>

</BaseLayout>
);
}
19 changes: 19 additions & 0 deletions pages/post.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { useRouter } from 'next/router';
import BaseLayout from '../components/BaseLayout';



export default function Post(props) {

const router = useRouter();
const postContent = (
<div>
<h1>{router.query.title}</h1>
<p>{router.query.title}</p>
</div>
);

return (
<BaseLayout content={postContent} />
);
}
Loading

0 comments on commit 7f57532

Please sign in to comment.