summaryrefslogtreecommitdiff
path: root/src/app/article/_components
diff options
context:
space:
mode:
authorFushihara <1039534+fushihara@users.noreply.github.com>2024-09-25 21:35:06 +0900
committerFushihara <1039534+fushihara@users.noreply.github.com>2024-09-25 21:35:06 +0900
commit2b30ba0c4890c2a616c4b4cc8b0b3bc1bb9b3325 (patch)
treea618b0031741ec3b700e35d126613c365e3ae904 /src/app/article/_components
parent6703973245610272c6cbd747f69f97a3f8f66613 (diff)
記事のタグ、カテゴリの個数を表示するように追加
Diffstat (limited to 'src/app/article/_components')
-rw-r--r--src/app/article/_components/articleListElement.tsx23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/app/article/_components/articleListElement.tsx b/src/app/article/_components/articleListElement.tsx
index 5437c04..3cd30c1 100644
--- a/src/app/article/_components/articleListElement.tsx
+++ b/src/app/article/_components/articleListElement.tsx
@@ -6,7 +6,8 @@ dateformat.i18n.dayNames = [
'日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'
];
type DisplayData = Awaited<ReturnType<ArticleLoader["loadData"]>>["articles"][number];
-export function ArticleListElement(displayData: DisplayData[]) {
+type CategoryTagData = Awaited<ReturnType<ArticleLoader["loadData"]>>["categoryTag"]
+export function ArticleListElement(displayData: DisplayData[], categoryTag: CategoryTagData) {
return (
<table className="w-full">
<thead className="bg-white border-b sticky top-0 text-md font-medium text-gray-900">
@@ -60,7 +61,14 @@ export function ArticleListElement(displayData: DisplayData[]) {
if (d.breadLinks.indexOf(bread) != 0) {
breadChildElement.push(<span>></span>);
}
- breadChildElement.push(<Link href={`/article/tag/${bread}`} className="transition duration-300 ease-in-out hover:text-gray-900" key={`bread-${bread}`}>{bread}</Link>);
+ const tagCount = categoryTag.getTagCount(bread);
+ breadChildElement.push(
+ <Link
+ href={`/article/tag/${bread}`}
+ className="transition duration-300 ease-in-out hover:text-gray-900"
+ key={`bread-${bread}`}
+ >{bread}({tagCount})</Link>
+ );
}
breadElement = (
<span className="flex gap-0.5">
@@ -76,8 +84,15 @@ export function ArticleListElement(displayData: DisplayData[]) {
for (const tag of d.tags) {
if (d.tags.indexOf(tag) != 0) {
tagChildElements.push(<span>/</span>);
- }
- tagChildElements.push(<Link href={`/article/tag/${tag}`} className="transition duration-300 ease-in-out hover:text-gray-900" key={`tag-${tag}`}>{tag}</Link>);
+ };
+ const tagCount = categoryTag.getTagCount(tag);
+ tagChildElements.push(
+ <Link
+ href={`/article/tag/${tag}`}
+ className="transition duration-300 ease-in-out hover:text-gray-900"
+ key={`tag-${tag}`}
+ >{tag}({tagCount})</Link>
+ );
}
tagElement = (
<span className="flex gap-0.5">