Compare commits

...

10 Commits

Author SHA1 Message Date
Jared He f62b1d8e9d Merge main
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-03-21 01:49:42 -04:00
Jared He 9b5532469f Add titles
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-03-16 20:30:49 -04:00
Jared He 07813f7f10 Add playground
continuous-integration/drone/push Build is passing Details
2022-03-16 19:58:01 -04:00
Jared He f1994b2f5d Merge main
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-03-16 18:18:56 -04:00
Jared He 0414c01776 PR feedback 2022-03-16 18:13:50 -04:00
Jared He 955c906f4e Fix type for title
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-02-22 23:08:35 -05:00
Jared He 0028372789 Merge branch 'main' into j285he-one-book
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-02-17 08:34:09 -05:00
Jared He a2f84d7140 Trigger CI (?) 2022-02-16 08:55:34 -05:00
Jared He 5587b88cf1 Fix type errors 2022-02-15 22:24:26 -05:00
Jared He bd9f8c9a60 Add query for one book 2022-02-14 00:44:36 -05:00
4 changed files with 66 additions and 31 deletions

11
components/Detail.tsx Normal file
View File

@ -0,0 +1,11 @@
import React from "react";
import { DetailedBook } from "../lib/books";
export default function Detail(props: Props) {
return <p>{props.book.title}</p>;
}
interface Props {
book: DetailedBook;
}

21
components/List.tsx Normal file
View File

@ -0,0 +1,21 @@
import React from "react";
import { SimpleBook } from "../lib/books";
export default function List(props: Props) {
return (
<ul>
{props.books.map((book, idx) => {
return (
<li key={`${idx}_${book.id}`}>
{book.id}; {book.title}; {book.authors}; {book.isbn}
</li>
);
})}
</ul>
);
}
interface Props {
books: SimpleBook[];
}

View File

@ -1,34 +1,5 @@
import React from "react";
import { getBook, getAllBooks, DetailedBook, SimpleBook } from "../lib/books";
export default function Home(props: Props) {
return (
<div>
<ul>
{props.books.map((book, idx) => {
return (
<li key={`${idx}_${book.id}`}>
{book.id}; {book.title}; {book.authors}; {book.isbn}
</li>
);
})}
</ul>
<p>{props.book.title}</p>
</div>
);
}
interface Props {
book: DetailedBook;
books: SimpleBook[];
}
export async function getServerSideProps() {
return {
props: {
book: await getBook(44),
books: await getAllBooks(),
},
};
export default function Home() {
return <div></div>;
}

32
pages/playground.tsx Normal file
View File

@ -0,0 +1,32 @@
import React from "react";
import Detail from "../components/Detail";
import List from "../components/List";
import { DetailedBook, SimpleBook, getBook, getAllBooks } from "../lib/books";
export default function Playground(props: Props) {
return (
<div>
<h1>Detail</h1>
<hr />
<Detail book={props.book} />
<h1>List</h1>
<hr />
<List books={props.books} />
</div>
);
}
export async function getServerSideProps() {
return {
props: {
book: await getBook(44),
books: await getAllBooks(),
},
};
}
interface Props {
book: DetailedBook;
books: SimpleBook[];
}