feat(app): add a checks display selector and name running services in the sidebar
Checks stopped being a toggle. Showing the icon without its word is a real third answer rather than half of "off" — the state stays on the row for a glance and a passing workspace stops paying a word for it on every line — so it left the boolean row-item record instead of widening it, and a stored `sidebarRowItems.checks === false` migrates to the new "none". The services item narrowed to actual services. It used to fall back to any running command, but a test watcher running says nothing about whether a workspace is up, and the item now says "Services" so drawing a terminal glyph under that label was a control lying about itself. It reports the name rather than the port because the name is what you called it. `health` was already on the wire and nothing in the sidebar read it, so a failed check now turns the whole item danger; where several services run, the failing one takes the single slot, since a healthy one is the unremarkable case and any of them says "this is up". That narrowing is why the rename went through the code and the persisted key rather than stopping at the label: the concept genuinely changed, and a UI saying "Services" over a `scripts` key is the synonym docs/glossary.md calls a design error. Both key migrations are tagged COMPAT. The rest is the sidebar row's geometry. The show-more and new-workspace rows each carried their own smaller, inset, less-rounded version of a workspace row — 24pt of left margin, a 14pt icon column, `borderRadius.md`, one fill for hover and press — which under a column of real rows reads as a mistake rather than a distinction. They now take the workspace row's geometry, and the show-more row asks its caller whether it is ending an indented list, because the two groupings disagree. Group spacing moved from margin to padding so a collapsed group gives it back instead of staying spaced for content that is gone. SPACING gained a 0.5 rung for the 2pt gap between rows.
This commit is contained in:
@@ -908,10 +908,15 @@ export const ar: TranslationResources = {
|
||||
host: "المضيف",
|
||||
changeRequest: "طلب السحب",
|
||||
checks: "الفحوصات",
|
||||
scripts: "البرامج النصية",
|
||||
services: "الخدمات",
|
||||
diff: "إحصائيات الفروق",
|
||||
timestamp: "آخر نشاط",
|
||||
},
|
||||
checks: {
|
||||
iconAndText: "أيقونة ونص",
|
||||
icon: "أيقونة فقط",
|
||||
none: "مخفي",
|
||||
},
|
||||
hostFilter: {
|
||||
label: "المضيف",
|
||||
all: "كل المضيفين",
|
||||
@@ -984,7 +989,8 @@ export const ar: TranslationResources = {
|
||||
},
|
||||
workspace: {
|
||||
status: {
|
||||
scriptsAvailable: "البرامج النصية المتاحة",
|
||||
serviceRunning: "الخدمة {{name}} قيد التشغيل",
|
||||
serviceUnhealthy: "الخدمة {{name}} غير سليمة",
|
||||
creating: "جارٍ الإنشاء...",
|
||||
},
|
||||
actions: {
|
||||
|
||||
@@ -918,10 +918,15 @@ export const en = {
|
||||
host: "Host",
|
||||
changeRequest: "Pull request",
|
||||
checks: "Checks",
|
||||
scripts: "Scripts",
|
||||
services: "Services",
|
||||
diff: "Diff stats",
|
||||
timestamp: "Last activity",
|
||||
},
|
||||
checks: {
|
||||
iconAndText: "Icon and text",
|
||||
icon: "Icon only",
|
||||
none: "Hidden",
|
||||
},
|
||||
hostFilter: {
|
||||
label: "Host",
|
||||
all: "All hosts",
|
||||
@@ -994,7 +999,8 @@ export const en = {
|
||||
},
|
||||
workspace: {
|
||||
status: {
|
||||
scriptsAvailable: "Scripts available",
|
||||
serviceRunning: "Service {{name}} running",
|
||||
serviceUnhealthy: "Service {{name}} unhealthy",
|
||||
creating: "Creating...",
|
||||
},
|
||||
actions: {
|
||||
|
||||
@@ -939,10 +939,15 @@ export const es: TranslationResources = {
|
||||
host: "Host",
|
||||
changeRequest: "Pull request",
|
||||
checks: "Comprobaciones",
|
||||
scripts: "Scripts",
|
||||
services: "Servicios",
|
||||
diff: "Estadísticas de cambios",
|
||||
timestamp: "Última actividad",
|
||||
},
|
||||
checks: {
|
||||
iconAndText: "Icono y texto",
|
||||
icon: "Solo icono",
|
||||
none: "Oculto",
|
||||
},
|
||||
hostFilter: {
|
||||
label: "Host",
|
||||
all: "Todos los hosts",
|
||||
@@ -1015,7 +1020,8 @@ export const es: TranslationResources = {
|
||||
},
|
||||
workspace: {
|
||||
status: {
|
||||
scriptsAvailable: "Guiones disponibles",
|
||||
serviceRunning: "Servicio {{name}} en ejecución",
|
||||
serviceUnhealthy: "Servicio {{name}} con fallos",
|
||||
creating: "Creando...",
|
||||
},
|
||||
actions: {
|
||||
|
||||
@@ -938,10 +938,15 @@ export const fr: TranslationResources = {
|
||||
host: "Hôte",
|
||||
changeRequest: "Pull request",
|
||||
checks: "Vérifications",
|
||||
scripts: "Scripts",
|
||||
services: "Services",
|
||||
diff: "Statistiques de diff",
|
||||
timestamp: "Dernière activité",
|
||||
},
|
||||
checks: {
|
||||
iconAndText: "Icône et texte",
|
||||
icon: "Icône seule",
|
||||
none: "Masqué",
|
||||
},
|
||||
hostFilter: {
|
||||
label: "Hôte",
|
||||
all: "Tous les hôtes",
|
||||
@@ -1014,7 +1019,8 @@ export const fr: TranslationResources = {
|
||||
},
|
||||
workspace: {
|
||||
status: {
|
||||
scriptsAvailable: "Scripts disponibles",
|
||||
serviceRunning: "Service {{name}} en cours",
|
||||
serviceUnhealthy: "Service {{name}} en échec",
|
||||
creating: "Création...",
|
||||
},
|
||||
actions: {
|
||||
|
||||
@@ -919,10 +919,15 @@ export const ja: TranslationResources = {
|
||||
host: "ホスト",
|
||||
changeRequest: "プルリクエスト",
|
||||
checks: "チェック",
|
||||
scripts: "スクリプト",
|
||||
services: "サービス",
|
||||
diff: "差分統計",
|
||||
timestamp: "最終アクティビティ",
|
||||
},
|
||||
checks: {
|
||||
iconAndText: "アイコンとテキスト",
|
||||
icon: "アイコンのみ",
|
||||
none: "非表示",
|
||||
},
|
||||
hostFilter: {
|
||||
label: "ホスト",
|
||||
all: "すべてのホスト",
|
||||
@@ -995,7 +1000,8 @@ export const ja: TranslationResources = {
|
||||
},
|
||||
workspace: {
|
||||
status: {
|
||||
scriptsAvailable: "スクリプトが利用可能",
|
||||
serviceRunning: "サービス {{name}} 実行中",
|
||||
serviceUnhealthy: "サービス {{name}} 異常",
|
||||
creating: "作成中...",
|
||||
},
|
||||
actions: {
|
||||
|
||||
@@ -930,10 +930,15 @@ export const ptBR: TranslationResources = {
|
||||
host: "Host",
|
||||
changeRequest: "Pull request",
|
||||
checks: "Verificações",
|
||||
scripts: "Scripts",
|
||||
services: "Serviços",
|
||||
diff: "Estatísticas de diff",
|
||||
timestamp: "Última atividade",
|
||||
},
|
||||
checks: {
|
||||
iconAndText: "Ícone e texto",
|
||||
icon: "Somente ícone",
|
||||
none: "Oculto",
|
||||
},
|
||||
hostFilter: {
|
||||
label: "Host",
|
||||
all: "Todos os hosts",
|
||||
@@ -1006,7 +1011,8 @@ export const ptBR: TranslationResources = {
|
||||
},
|
||||
workspace: {
|
||||
status: {
|
||||
scriptsAvailable: "Scripts disponíveis",
|
||||
serviceRunning: "Serviço {{name}} em execução",
|
||||
serviceUnhealthy: "Serviço {{name}} com falha",
|
||||
creating: "Criando...",
|
||||
},
|
||||
actions: {
|
||||
|
||||
@@ -930,10 +930,15 @@ export const ru: TranslationResources = {
|
||||
host: "Хост",
|
||||
changeRequest: "Pull request",
|
||||
checks: "Проверки",
|
||||
scripts: "Скрипты",
|
||||
services: "Сервисы",
|
||||
diff: "Статистика изменений",
|
||||
timestamp: "Последняя активность",
|
||||
},
|
||||
checks: {
|
||||
iconAndText: "Значок и текст",
|
||||
icon: "Только значок",
|
||||
none: "Скрыто",
|
||||
},
|
||||
hostFilter: {
|
||||
label: "Хост",
|
||||
all: "Все хосты",
|
||||
@@ -1006,7 +1011,8 @@ export const ru: TranslationResources = {
|
||||
},
|
||||
workspace: {
|
||||
status: {
|
||||
scriptsAvailable: "Доступны скрипты",
|
||||
serviceRunning: "Сервис {{name}} запущен",
|
||||
serviceUnhealthy: "Сервис {{name}} неисправен",
|
||||
creating: "Создание...",
|
||||
},
|
||||
actions: {
|
||||
|
||||
@@ -900,10 +900,15 @@ export const zhCN: TranslationResources = {
|
||||
host: "主机",
|
||||
changeRequest: "拉取请求",
|
||||
checks: "检查",
|
||||
scripts: "脚本",
|
||||
services: "服务",
|
||||
diff: "差异统计",
|
||||
timestamp: "最近活动",
|
||||
},
|
||||
checks: {
|
||||
iconAndText: "图标和文字",
|
||||
icon: "仅图标",
|
||||
none: "隐藏",
|
||||
},
|
||||
hostFilter: {
|
||||
label: "主机",
|
||||
all: "所有主机",
|
||||
@@ -974,7 +979,8 @@ export const zhCN: TranslationResources = {
|
||||
},
|
||||
workspace: {
|
||||
status: {
|
||||
scriptsAvailable: "有可用 scripts",
|
||||
serviceRunning: "服务 {{name}} 运行中",
|
||||
serviceUnhealthy: "服务 {{name}} 异常",
|
||||
creating: "正在创建...",
|
||||
},
|
||||
actions: {
|
||||
|
||||
Reference in New Issue
Block a user