diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index cd9a5d1..cb26cb0 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -245,6 +245,9 @@ "message": "$count$ files", "placeholders": { "count": { "content": "$1", "example": "5" } } }, + "prDiffStatsLinkHint": { + "message": "Click to view file changes" + }, "diffStatsTitle": { "message": "$add$ additions, $del$ deletions", "placeholders": { diff --git a/src/_locales/zh_CN/messages.json b/src/_locales/zh_CN/messages.json index fb5dd99..0a1e7e6 100644 --- a/src/_locales/zh_CN/messages.json +++ b/src/_locales/zh_CN/messages.json @@ -245,6 +245,9 @@ "message": "$count$ 个文件", "placeholders": { "count": { "content": "$1", "example": "5" } } }, + "prDiffStatsLinkHint": { + "message": "点击查看文件变更" + }, "diffStatsTitle": { "message": "新增 $add$ 行,删除 $del$ 行", "placeholders": { diff --git a/src/_locales/zh_TW/messages.json b/src/_locales/zh_TW/messages.json index 8b763d8..369919f 100644 --- a/src/_locales/zh_TW/messages.json +++ b/src/_locales/zh_TW/messages.json @@ -245,6 +245,9 @@ "message": "$count$ 個檔案", "placeholders": { "count": { "content": "$1", "example": "5" } } }, + "prDiffStatsLinkHint": { + "message": "點擊查看檔案變更" + }, "diffStatsTitle": { "message": "新增 $add$ 行,刪除 $del$ 行", "placeholders": { diff --git a/src/features/pr-diff-stats.test.ts b/src/features/pr-diff-stats.test.ts index 8a7bc3b..3c691fc 100644 --- a/src/features/pr-diff-stats.test.ts +++ b/src/features/pr-diff-stats.test.ts @@ -50,7 +50,7 @@ describe("injectPRDiffStats", () => { expect(badge7.querySelector(".better-github-diff-stats-add")?.textContent).toBe("+1,234"); expect(badge7.querySelector(".better-github-diff-stats-del")?.textContent).toBe("−56"); expect(badge7.querySelector(".better-github-diff-stats-files")?.textContent).toBe("3 files"); - expect(badge7.title).toBe("1,234 additions, 56 deletions across 3 files"); + expect(badge7.title).toBe("1,234 additions, 56 deletions across 3 files\nClick to view file changes"); // changedFiles === 1 → singular "file". const badge8 = document.querySelector("#issue_8 .better-github-diff-stats") as HTMLElement; diff --git a/src/features/pr-diff-stats.ts b/src/features/pr-diff-stats.ts index a70dfbd..4ce5a14 100644 --- a/src/features/pr-diff-stats.ts +++ b/src/features/pr-diff-stats.ts @@ -4,6 +4,7 @@ import { fetchPRDiffStats } from "../lib/github-api"; import { insertInfoRowItem } from "../lib/info-row"; import { buildDiffStatsBadge } from "../lib/diff-stats-badge"; import { clearSkeletons } from "../lib/info-row-skeleton"; +import { t } from "../lib/i18n"; const BADGE_CLASS = "better-github-diff-stats"; @@ -32,7 +33,12 @@ export async function injectPRDiffStats(): Promise { if (row.querySelector(`.${BADGE_CLASS}`)) continue; - insertInfoRowItem(row, "diff", buildDiffStatsBadge(stat, BADGE_CLASS)); + const link = document.createElement("a"); + link.href = `/${info.owner}/${info.repo}/pull/${prNumber}/changes`; + const badge = buildDiffStatsBadge(stat, BADGE_CLASS); + badge.title += `\n${t("prDiffStatsLinkHint")}`; + link.appendChild(badge); + insertInfoRowItem(row, "diff", link); } } finally { clearSkeletons("prDiff");