feat(ui): show the changed-files count badge on the Git rail surface

Replaces the plain activity dot on the context panel rail's Git button with
a numeric badge of the changed-files count from the git store status, so the
count is visible at a glance without opening the Git surface. Large counts
cap at 99+ to keep the pill within the 36px button. The badge is reflected
in the button's accessible label and the hover tooltip.

Fixes #2364
This commit is contained in:
Serhii Dziupin
2026-08-05 13:37:46 +03:00
parent 34c221b07f
commit 9b7c032524
12 changed files with 80 additions and 20 deletions
+2
View File
@@ -2828,6 +2828,8 @@ export const dict = {
'contextPanel.editorEmpty.description': 'Wählen Sie etwas aus der Seitenleiste aus, um Kontext anzuzeigen.',
'contextRail.surface.editor.description': 'Bearbeitungskontext',
'contextRail.surface.git.description': 'Git-Kontext',
'contextRail.surface.git.changesCountAria': '{label}, {count} geänderte Dateien',
'contextRail.surface.git.changesCountTooltip': '{count} geänderte Dateien',
'contextRail.surface.terminal.description': 'Terminal-Kontext',
'contextRail.surface.diff.description': 'Diff-Kontext',
'contextPanel.mode.walkthrough': 'Walkthrough',
+2
View File
@@ -1106,6 +1106,8 @@ export const dict = {
'contextPanel.editorEmpty.description': 'Pick a file from the tree to start editing.',
'contextRail.surface.editor.description': 'Edit project files',
'contextRail.surface.git.description': 'Commits, branches, and pull requests',
'contextRail.surface.git.changesCountAria': '{label}, {count} changed files',
'contextRail.surface.git.changesCountTooltip': '{count} changed files',
'contextRail.surface.terminal.description': 'Built-in terminal',
'contextRail.surface.diff.description': 'Review working changes',
'contextPanel.mode.walkthrough': 'Walkthrough',
+2
View File
@@ -1107,6 +1107,8 @@ export const dict: Record<I18nKey, string> = {
"contextPanel.editorEmpty.description": "Elige un archivo del árbol para empezar a editar.",
"contextRail.surface.editor.description": "Editar archivos del proyecto",
"contextRail.surface.git.description": "Commits, ramas y pull requests",
"contextRail.surface.git.changesCountAria": "{label}, {count} archivos modificados",
"contextRail.surface.git.changesCountTooltip": "{count} archivos modificados",
"contextRail.surface.terminal.description": "Terminal integrada",
"contextRail.surface.diff.description": "Revisar cambios en curso",
"contextPanel.mode.walkthrough": "Recorrido",
+2
View File
@@ -931,6 +931,8 @@ export const dict = {
'contextPanel.editorEmpty.description': 'Choisissez un fichier dans l’arborescence pour commencer.',
'contextRail.surface.editor.description': 'Modifier les fichiers du projet',
'contextRail.surface.git.description': 'Commits, branches et pull requests',
'contextRail.surface.git.changesCountAria': '{label}, {count} fichiers modifiés',
'contextRail.surface.git.changesCountTooltip': '{count} fichiers modifiés',
'contextRail.surface.terminal.description': 'Terminal intégré',
'contextRail.surface.diff.description': 'Passer en revue les modifications',
'contextPanel.mode.walkthrough': 'Parcours',
+2
View File
@@ -1103,6 +1103,8 @@ export const dict: Record<I18nKey, string> = {
'contextPanel.editorEmpty.description': 'ツリーからファイルを選んで編集を始めましょう。',
'contextRail.surface.editor.description': 'プロジェクトのファイルを編集',
'contextRail.surface.git.description': 'コミット・ブランチ・プルリクエスト',
'contextRail.surface.git.changesCountAria': '{label}、変更ファイル{count}件',
'contextRail.surface.git.changesCountTooltip': '変更ファイル{count}件',
'contextRail.surface.terminal.description': '内蔵ターミナル',
'contextRail.surface.diff.description': '作業中の変更をレビュー',
'contextPanel.mode.walkthrough': 'ウォークスルー',
+2
View File
@@ -1107,6 +1107,8 @@ export const dict: Record<I18nKey, string> = {
'contextPanel.editorEmpty.description': '트리에서 파일을 선택해 편집을 시작하세요.',
'contextRail.surface.editor.description': '프로젝트 파일 편집',
'contextRail.surface.git.description': '커밋, 브랜치, 풀 리퀘스트',
'contextRail.surface.git.changesCountAria': '{label}, 변경된 파일 {count}개',
'contextRail.surface.git.changesCountTooltip': '변경된 파일 {count}개',
'contextRail.surface.terminal.description': '내장 터미널',
'contextRail.surface.diff.description': '작업 중인 변경 사항 검토',
'contextPanel.mode.walkthrough': '워크스루',
+2
View File
@@ -1419,6 +1419,8 @@ export const dict: Record<I18nKey, string> = {
'contextPanel.editorEmpty.description': 'Wybierz plik z drzewa, aby rozpocząć edycję.',
'contextRail.surface.editor.description': 'Edytuj pliki projektu',
'contextRail.surface.git.description': 'Commity, gałęzie i pull requesty',
'contextRail.surface.git.changesCountAria': '{label}, {count} zmienionych plików',
'contextRail.surface.git.changesCountTooltip': '{count} zmienionych plików',
'contextRail.surface.terminal.description': 'Wbudowany terminal',
'contextRail.surface.diff.description': 'Przeglądaj bieżące zmiany',
'contextPanel.mode.walkthrough': 'Przewodnik',
@@ -1107,6 +1107,8 @@ export const dict: Record<I18nKey, string> = {
"contextPanel.editorEmpty.description": "Escolha um arquivo na árvore para começar a editar.",
"contextRail.surface.editor.description": "Editar arquivos do projeto",
"contextRail.surface.git.description": "Commits, branches e pull requests",
"contextRail.surface.git.changesCountAria": "{label}, {count} arquivos modificados",
"contextRail.surface.git.changesCountTooltip": "{count} arquivos modificados",
"contextRail.surface.terminal.description": "Terminal integrado",
"contextRail.surface.diff.description": "Revisar alterações em andamento",
"contextPanel.mode.walkthrough": "Percurso",
+2
View File
@@ -1107,6 +1107,8 @@ export const dict: Record<I18nKey, string> = {
"contextPanel.editorEmpty.description": "Виберіть файл у дереві, щоб почати редагування.",
"contextRail.surface.editor.description": "Редагування файлів проєкту",
"contextRail.surface.git.description": "Коміти, гілки та pull request-и",
"contextRail.surface.git.changesCountAria": "{label}, {count} змінених файлів",
"contextRail.surface.git.changesCountTooltip": "{count} змінених файлів",
"contextRail.surface.terminal.description": "Вбудований термінал",
"contextRail.surface.diff.description": "Перегляд поточних змін",
"contextPanel.mode.walkthrough": "Розбір",
@@ -1107,6 +1107,8 @@ export const dict: Record<I18nKey, string> = {
'contextPanel.editorEmpty.description': '从文件树中选择一个文件开始编辑。',
'contextRail.surface.editor.description': '编辑项目文件',
'contextRail.surface.git.description': '提交、分支和拉取请求',
'contextRail.surface.git.changesCountAria': '{label},{count} 个更改的文件',
'contextRail.surface.git.changesCountTooltip': '{count} 个更改的文件',
'contextRail.surface.terminal.description': '内置终端',
'contextRail.surface.diff.description': '查看工作区更改',
'contextPanel.mode.walkthrough': '导读',
@@ -1119,6 +1119,8 @@ export const dict: Record<I18nKey, string> = {
'contextPanel.editorEmpty.description': '從檔案樹選擇檔案開始編輯。',
'contextRail.surface.editor.description': '編輯專案檔案',
'contextRail.surface.git.description': '提交、分支與拉取請求',
'contextRail.surface.git.changesCountAria': '{label},{count} 個變更的檔案',
'contextRail.surface.git.changesCountTooltip': '{count} 個變更的檔案',
'contextRail.surface.terminal.description': '內建終端機',
'contextRail.surface.diff.description': '檢視工作區變更',
'contextPanel.mode.walkthrough': '導讀',