|
|
@@ -46,9 +46,16 @@ const Novel: NextPage<NovelPageProps> = (props) => {
|
|
|
Home
|
|
|
</Link>
|
|
|
</li>
|
|
|
- <li>
|
|
|
- <a>{detail.genre}</a>
|
|
|
- </li>
|
|
|
+ {detail.genres && detail.genres.length > 0 ? (
|
|
|
+ <li>
|
|
|
+ <Link
|
|
|
+ title={detail.genres[0].name}
|
|
|
+ href={`/novels/${detail.genres[0].uri}`}
|
|
|
+ >
|
|
|
+ {detail.genres[0].name}
|
|
|
+ </Link>
|
|
|
+ </li>
|
|
|
+ ) : null}
|
|
|
<li>{detail.name}</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
@@ -65,24 +72,29 @@ const Novel: NextPage<NovelPageProps> = (props) => {
|
|
|
<small>Completed</small>
|
|
|
</h1>
|
|
|
<h2>
|
|
|
- <a title="Fantasy" href="">
|
|
|
- <svg>
|
|
|
- <use xlinkHref="/icons.svg#paper"></use>
|
|
|
- </svg>
|
|
|
- <span>{detail.genre}</span>
|
|
|
- </a>
|
|
|
+ {detail.genres && detail.genres.length > 0 ? (
|
|
|
+ <Link
|
|
|
+ title={detail.genres[0].name}
|
|
|
+ href={`/novels/${detail.genres[0].uri}`}
|
|
|
+ >
|
|
|
+ <svg>
|
|
|
+ <use xlinkHref="/icons.svg#paper"></use>
|
|
|
+ </svg>
|
|
|
+ <span>{detail.genres[0].name}</span>
|
|
|
+ </Link>
|
|
|
+ ) : null}
|
|
|
<strong>
|
|
|
<svg>
|
|
|
<use xlinkHref="/icons.svg#chapter"></use>
|
|
|
</svg>
|
|
|
- <span>0 Chapters</span>
|
|
|
+ <span>{chapters.chapters.length} Chapters</span>
|
|
|
</strong>
|
|
|
- <strong>
|
|
|
+ {/* <strong>
|
|
|
<svg>
|
|
|
<use xlinkHref="/icons.svg#eye"></use>
|
|
|
</svg>
|
|
|
<span>0 Views</span>
|
|
|
- </strong>
|
|
|
+ </strong> */}
|
|
|
</h2>
|
|
|
<div className={styles["btns"]}>
|
|
|
<Link
|
|
|
@@ -114,9 +126,14 @@ const Novel: NextPage<NovelPageProps> = (props) => {
|
|
|
<div className={clsx({ hidden: tab !== "about" })}>
|
|
|
<h2 className="sub-title">Tags</h2>
|
|
|
<div className="tags">
|
|
|
- {detail.genre.split(",").map((item) => (
|
|
|
- <Link href="" className="tag" key={item}>
|
|
|
- {item}
|
|
|
+ {detail.genres.map((item) => (
|
|
|
+ <Link
|
|
|
+ title={item.name}
|
|
|
+ href={`/novels/${item.uri}`}
|
|
|
+ className="tag"
|
|
|
+ key={item.uri}
|
|
|
+ >
|
|
|
+ {item.name}
|
|
|
</Link>
|
|
|
))}
|
|
|
</div>
|
|
|
@@ -160,10 +177,8 @@ export const getServerSideProps: GetServerSideProps<
|
|
|
}
|
|
|
const { slug } = context.params;
|
|
|
const [detail, chapters] = await Promise.all([
|
|
|
- get<Detail>(`https://novels.yergoo.com/api/novel/${slug}`),
|
|
|
- get<ChapterListData>(
|
|
|
- `https://novels.yergoo.com/api/novel/${slug}/chapters`
|
|
|
- ),
|
|
|
+ get<Detail>(`/api/novel/${slug}`),
|
|
|
+ get<ChapterListData>(`/api/novel/${slug}/chapters`),
|
|
|
]);
|
|
|
|
|
|
return {
|