summaryrefslogtreecommitdiff
path: root/src/app/article/_components
diff options
context:
space:
mode:
authorFushihara <1039534+fushihara@users.noreply.github.com>2024-09-28 19:24:00 +0900
committerFushihara <1039534+fushihara@users.noreply.github.com>2024-09-28 19:24:22 +0900
commit0acca62436a3521c67b3be423b07a57f9e829def (patch)
treecf19bd92a8383c10bef9fc9e3949427b00460024 /src/app/article/_components
parent67c590c46f3a29795308098e9c6d0fa1da53e805 (diff)
リンク一覧を個別エレメントに切り出し
Diffstat (limited to 'src/app/article/_components')
-rw-r--r--src/app/article/_components/articleListElement.tsx12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/app/article/_components/articleListElement.tsx b/src/app/article/_components/articleListElement.tsx
index 27c7862..2c23f59 100644
--- a/src/app/article/_components/articleListElement.tsx
+++ b/src/app/article/_components/articleListElement.tsx
@@ -2,6 +2,7 @@ import Link from "next/link";
import dateformat from "dateformat";
import { ArticleLoader } from "../../../util/articleLoader";
import { TableElement } from "../../_components/tableElements";
+import { ArciveLinkElement } from "../../_components/archiveLinkElement";
dateformat.i18n.dayNames = [
'日', '月', '火', '水', '木', '金', '土',
'日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'
@@ -22,9 +23,6 @@ export function ArticleListElement(displayData: DisplayData[], categoryTag: Cate
return result;
}
function getDisplayData(d: DisplayData, categoryTag: CategoryTagData) {
- const officialLinkTitle = `公式のakiba-souken.com へのリンク。閉鎖後は繋がらなくなるはず`;
- const iaSearchResultLinkTitle = `InternetArchive の検索結果へのリンク`;
- const iframeLinkTitle = `Iframeを使ってInternetArchiveに記録されたアーカイブを表示します`;
const topCategory = d.breadLinks[0];
const timestampStr = dateformat(new Date(d.timestampMs), "yyyy/mm/dd(ddd)HH:MM");
const originalUrl = `https://akiba-souken.com/article/${d.articleId}/`;
@@ -38,9 +36,7 @@ function getDisplayData(d: DisplayData, categoryTag: CategoryTagData) {
for (let page = 2; page <= d.maxPageNumber; page++) {
result.push(
<div className="flex gap-4 text-xs text-gray-300" key={`page-${page}`}>
- <a href={`https://akiba-souken.com/article/${d.articleId}/?page=${page}`} target="_blank" className="transition duration-300 ease-in-out hover:text-gray-900" title={officialLinkTitle}>公式</a>
- <a href={`https://web.archive.org/web/*/https://akiba-souken.com/article/${d.articleId}/?page=${page}`} target="_blank" className="transition duration-300 ease-in-out hover:text-gray-900" title={iaSearchResultLinkTitle}>IA検索結果</a>
- <Link href={`/iframe?src=article-${d.articleId}-${page}`} className="transition duration-300 ease-in-out hover:text-gray-900" title={iframeLinkTitle}>IAをiframe</Link> Page:{page}
+ {ArciveLinkElement({ type: "article", articleId: d.articleId, subPageNumber: page })}
</div>
);
}
@@ -106,9 +102,7 @@ function getDisplayData(d: DisplayData, categoryTag: CategoryTagData) {
element: <>
<div>{d.title}</div>
<div className="flex gap-4 text-xs text-gray-300">
- <a href={originalUrl} target="_blank" className="transition duration-300 ease-in-out hover:text-gray-900" title={officialLinkTitle}>公式</a>
- <a href={`https://web.archive.org/web/*/${originalUrl}`} target="_blank" className="transition duration-300 ease-in-out hover:text-gray-900" title={iaSearchResultLinkTitle}>IA検索結果</a>
- <Link href={`/iframe?src=article-${d.articleId}`} className="transition duration-300 ease-in-out hover:text-gray-900" title={iframeLinkTitle}>IAをiframe</Link>
+ {ArciveLinkElement({ type: "article", articleId: d.articleId })}
{breadElement}
{tagElement}
{hatebuElement}