Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions frontend/messages/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Quelle:",
"containers_no_mounts_configured": "Keine Volumes oder Mounts konfiguriert",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Container",
"container_name_required": "Containername ist erforderlich",
"container_image_required": "Image ist erforderlich",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Bearbeitung von {file} für das Projekt {project}",
"compose_editor_viewing_info": "Anzeige von {file} für das Projekt {project}",
"tabs_compose": "Komponieren Sie",
"tabs_inspect": "Inspect",
"tabs_environment": "Umgebung",
"tabs_volumes": "Volumes",
"tabs_network_security": "Netzwerk & Sicherheit",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/el.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Πηγή:",
"containers_no_mounts_configured": "Δεν έχουν ρυθμιστεί τόμοι ή προσαρτήσεις",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Container",
"container_name_required": "Απαιτείται όνομα container",
"container_image_required": "Απαιτείται image",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Επεξεργασία {file} για το έργο {project}",
"compose_editor_viewing_info": "Προβολή {file} για το έργο {project}",
"tabs_compose": "Σύνθεση",
"tabs_inspect": "Inspect",
"tabs_environment": "Περιβάλλον",
"tabs_volumes": "Τόμοι",
"tabs_network_security": "Δίκτυο & Ασφάλεια",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Source:",
"containers_no_mounts_configured": "No volumes or mounts configured",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Container",
"container_name_required": "Container name is required",
"container_image_required": "Image is required",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Editing {file} for project {project}",
"compose_editor_viewing_info": "Viewing {file} for project {project}",
"tabs_compose": "Compose",
"tabs_inspect": "Inspect",
"tabs_environment": "Environment",
"tabs_volumes": "Volumes",
"tabs_network_security": "Network & Security",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/eo.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Gastiganto:",
"containers_mount_label_source": "Fonto:",
"containers_no_mounts_configured": "Neniuj portiloj aŭ muntadoj agorditaj",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Ujo",
"container_name_required": "Uj-nomo estas postulata",
"container_image_required": "Prakopio estas postulata",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Editing {file} for project {project}",
"compose_editor_viewing_info": "Viewing {file} for project {project}",
"tabs_compose": "Compose",
"tabs_inspect": "Inspect",
"tabs_environment": "Medio",
"tabs_volumes": "Portiloj",
"tabs_network_security": "Reto kaj sekureco",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Anfitrión:",
"containers_mount_label_source": "Fuente:",
"containers_no_mounts_configured": "Ningún volumen o montajes configurados",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Contenedor",
"container_name_required": "El nombre del contenedor es obligatorio",
"container_image_required": "Imagen requerida",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Edición de {file} para el proyecto {project}",
"compose_editor_viewing_info": "Visualización de {file} para el proyecto {project}",
"tabs_compose": "Componga",
"tabs_inspect": "Inspect",
"tabs_environment": "Entorno",
"tabs_volumes": "Volúmenes",
"tabs_network_security": "Redes y seguridad",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Source:",
"containers_no_mounts_configured": "No volumes or mounts configured",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Conteneur",
"container_name_required": "Container name is required",
"container_image_required": "Image is required",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Modification de {file} pour le projet {project}",
"compose_editor_viewing_info": "Visualisation de {file} pour le projet {project}",
"tabs_compose": "Composer",
"tabs_inspect": "Inspect",
"tabs_environment": "Environment",
"tabs_volumes": "Volumes",
"tabs_network_security": "Network & Security",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Origine:",
"containers_no_mounts_configured": "Nessun volume o mount configurato",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Container",
"container_name_required": "Il nome del container è obbligatorio",
"container_image_required": "L'immagine è obbligatoria",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Modifica di {file} per il progetto {project}",
"compose_editor_viewing_info": "Visualizzazione di {file} per il progetto {project}",
"tabs_compose": "Comporre",
"tabs_inspect": "Inspect",
"tabs_environment": "Ambiente",
"tabs_volumes": "Volumi",
"tabs_network_security": "Rete & sicurezza",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Source:",
"containers_no_mounts_configured": "No volumes or mounts configured",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Container",
"container_name_required": "Container name is required",
"container_image_required": "Image is required",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "{file} を編集中 {project}",
"compose_editor_viewing_info": "プロジェクト {project} の {file} を見る",
"tabs_compose": "作曲する",
"tabs_inspect": "Inspect",
"tabs_environment": "Environment",
"tabs_volumes": "Volumes",
"tabs_network_security": "Network & Security",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "호스트:",
"containers_mount_label_source": "소스:",
"containers_no_mounts_configured": "구성된 볼륨 또는 마운트 없음",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "컨테이너",
"container_name_required": "컨테이너 이름은 필수입니다",
"container_image_required": "이미지는 필수입니다",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "프로젝트 {project} 편집 {file}",
"compose_editor_viewing_info": "프로젝트 {project} 보기 {file}",
"tabs_compose": "작성",
"tabs_inspect": "Inspect",
"tabs_environment": "환경",
"tabs_volumes": "볼륨",
"tabs_network_security": "네트워크 & 보안",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/nl.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Bron:",
"containers_no_mounts_configured": "Geen volumes of koppelingen geconfigureerd",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Container",
"container_name_required": "Container naam is vereist",
"container_image_required": "Afbeelding is vereist",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Bewerken van {file} voor project {project}",
"compose_editor_viewing_info": "{file} bekijken voor project {project}",
"tabs_compose": "Samenstellen",
"tabs_inspect": "Inspect",
"tabs_environment": "Milieu",
"tabs_volumes": "Volumes",
"tabs_network_security": "Netwerk & beveiliging",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/pt-BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Origem:",
"containers_no_mounts_configured": "Sem volumes ou montagens configuradas",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Container",
"container_name_required": "Nome do contêiner é obrigatório",
"container_image_required": "Requer imagem",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Processando {file} para o projeto {project}",
"compose_editor_viewing_info": "Visualizando {file} para o projeto {project}",
"tabs_compose": "Compor",
"tabs_inspect": "Inspect",
"tabs_environment": "Ambiente",
"tabs_volumes": "Volumes",
"tabs_network_security": "Rede e Segurança",
Expand Down
4 changes: 4 additions & 0 deletions frontend/messages/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Origem:",
"containers_no_mounts_configured": "Sem volumes ou montagens configuradas",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Contêiner",
"container_name_required": "Nome do contêiner é obrigatório",
"container_image_required": "Requer imagem",
Comment on lines 389 to 394
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Missing tabs_inspect key

pt.json is the only locale file that does not include the new tabs_inspect key. All 17 other locales in this PR add it. Without this key the Portuguese locale will either render a broken/empty tab label or fall back to the English value depending on how paraglide handles missing keys.

Add "tabs_inspect": "Inspect", near the other tabs_* entries in pt.json (mirroring every other locale file).

Prompt To Fix With AI
This is a comment left during a code review.
Path: frontend/messages/pt.json
Line: 389-396

Comment:
**Missing `tabs_inspect` key**

`pt.json` is the only locale file that does not include the new `tabs_inspect` key. All 17 other locales in this PR add it. Without this key the Portuguese locale will either render a broken/empty tab label or fall back to the English value depending on how paraglide handles missing keys.

Add `"tabs_inspect": "Inspect",` near the other `tabs_*` entries in `pt.json` (mirroring every other locale file).

How can I resolve this? If you propose a fix, please make it concise.

Fix in Codex

Expand All @@ -412,6 +414,8 @@
"container_hostname_placeholder": "my-hostname",
"container_domain_label": "Nome do domínio",
"container_domain_placeholder": "exemplo.com",
"tabs_compose": "Compose",
"tabs_inspect": "Inspect",
"tabs_environment": "Environment",
"tabs_volumes": "Volumes",
"tabs_network_security": "Rede e Segurança",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Хост:",
"containers_mount_label_source": "Источник:",
"containers_no_mounts_configured": "Нет настроенных томов или смонтированных",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Контейнер",
"container_name_required": "Необходимо указать имя контейнера",
"container_image_required": "Изображение обязательно",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Редактирование {file} для проекта {project}",
"compose_editor_viewing_info": "Просмотр {file} для проекта {project}",
"tabs_compose": "Составьте",
"tabs_inspect": "Inspect",
"tabs_environment": "Переменные среды",
"tabs_volumes": "Тома",
"tabs_network_security": "Сеть и безопасность",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/sv.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Source:",
"containers_no_mounts_configured": "No volumes or mounts configured",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Container",
"container_name_required": "Container name is required",
"container_image_required": "Image is required",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Redigering av {file} för projekt {project}",
"compose_editor_viewing_info": "Visning av {file} för projekt {project}",
"tabs_compose": "Komponera",
"tabs_inspect": "Inspect",
"tabs_environment": "Environment",
"tabs_volumes": "Volumes",
"tabs_network_security": "Network & Security",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/uk.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Source:",
"containers_no_mounts_configured": "No volumes or mounts configured",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Container",
"container_name_required": "Container name is required",
"container_image_required": "Image is required",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Редагування {file} для проекту {project}",
"compose_editor_viewing_info": "Перегляд {file} для проекту {project}",
"tabs_compose": "Скласти",
"tabs_inspect": "Inspect",
"tabs_environment": "Environment",
"tabs_volumes": "Volumes",
"tabs_network_security": "Network & Security",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/vi.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "Nguồn:",
"containers_no_mounts_configured": "Không có Volume hoặc Mount nào được cấu hình",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "Container",
"container_name_required": "Yêu cầu tên Container",
"container_image_required": "Yêu cầu Image",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "Chỉnh sửa {file} cho dự án {project}",
"compose_editor_viewing_info": "Xem {file} cho dự án {project}",
"tabs_compose": "Soạn thảo",
"tabs_inspect": "Inspect",
"tabs_environment": "Môi trường",
"tabs_volumes": "Volumes",
"tabs_network_security": "Mạng & Bảo mật",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/zh-CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "Host:",
"containers_mount_label_source": "源:",
"containers_no_mounts_configured": "未配置数据卷或挂载",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "容器",
"container_name_required": "请输入容器名",
"container_image_required": "必须提供镜像",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "为项目 {project} 编辑 {file}",
"compose_editor_viewing_info": "查看 {file} 的项目 {project}",
"tabs_compose": "编曲",
"tabs_inspect": "Inspect",
"tabs_environment": "环境",
"tabs_volumes": "数据卷",
"tabs_network_security": "网络与安全",
Expand Down
3 changes: 3 additions & 0 deletions frontend/messages/zh-TW.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@
"containers_mount_label_host": "主機位址:",
"containers_mount_label_source": "來源:",
"containers_no_mounts_configured": "沒有設定資料卷或掛載",
"containers_inspect_title": "Raw Inspect",
"containers_inspect_description": "Full JSON output of docker container inspect",
"container": "容器",
"container_name_required": "容器名稱為必填欄位",
"container_image_required": "映像檔為必填欄位",
Expand Down Expand Up @@ -564,6 +566,7 @@
"compose_editor_editing_info": "編輯 {project} 專案中的 {file}",
"compose_editor_viewing_info": "檢視 {project} 專案中的 {file}",
"tabs_compose": "Compose",
"tabs_inspect": "Inspect",
"tabs_environment": "環境",
"tabs_volumes": "資料卷",
"tabs_network_security": "網路與安全",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import ContainerLogsPanel from '../components/ContainerLogsPanel.svelte';
import ContainerShell from '../components/ContainerShell.svelte';
import ContainerComposePanel from '../components/ContainerComposePanel.svelte';
import ContainerInspect from '../components/ContainerInspect.svelte';
import ContainerDetailStatsSync from '../components/container-detail-stats-sync.svelte';
import IconImage from '$lib/components/icon-image.svelte';
import { getArcaneIconUrlFromLabels } from '$lib/utils/arcane-labels';
Expand All @@ -37,7 +38,8 @@
TerminalIcon,
ContainersIcon,
StatsIcon,
CodeIcon
CodeIcon,
InspectIcon
} from '$lib/icons';
import { parse as parseYaml } from 'yaml';
import type { IncludeFile } from '$lib/types/project.type';
Expand Down Expand Up @@ -211,7 +213,8 @@
...(showConfiguration ? [{ value: 'config', label: m.common_configuration(), icon: SettingsIcon }] : []),
...(showNetworkTab ? [{ value: 'network', label: m.containers_nav_networks(), icon: NetworksIcon }] : []),
...(hasMounts ? [{ value: 'storage', label: m.containers_nav_storage(), icon: VolumesIcon }] : []),
...(showComposeTab ? [{ value: 'compose', label: m.tabs_compose(), icon: CodeIcon }] : [])
...(showComposeTab ? [{ value: 'compose', label: m.tabs_compose(), icon: CodeIcon }] : []),
{ value: 'inspect', label: m.tabs_inspect(), icon: InspectIcon }
]);

const activeTab = $derived.by(() => {
Expand Down Expand Up @@ -373,6 +376,10 @@
</Tabs.Content>
{/if}
{/await}

<Tabs.Content value="inspect" class="h-full">
<ContainerInspect {container} />
</Tabs.Content>
{/snippet}
</TabbedPageLayout>
{:else}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<script lang="ts">
import * as Card from '$lib/components/ui/card';
import { CopyButton } from '$lib/components/ui/copy-button';
import { m } from '$lib/paraglide/messages';
import type { ContainerDetailsDto } from '$lib/types/container.type';
import { CodeIcon } from '$lib/icons';

interface Props {
container: ContainerDetailsDto;
}

let { container }: Props = $props();

const json = $derived(JSON.stringify(container, null, 2));
</script>

<Card.Root>
<Card.Header icon={CodeIcon}>
<div class="flex flex-col space-y-1.5">
<Card.Title>
<h2>{m.containers_inspect_title()}</h2>
</Card.Title>
<Card.Description>{m.containers_inspect_description()}</Card.Description>
</div>
<div class="ml-auto">
<CopyButton text={json} variant="outline" size="default">
{m.common_copy_json()}
</CopyButton>
</div>
</Card.Header>
<Card.Content class="p-0">
<pre class="bg-muted/40 overflow-auto rounded-b-lg p-4 font-mono text-xs leading-relaxed"><code>{json}</code></pre>
</Card.Content>
</Card.Root>
Loading