From b5d0dd8458dcb40dd2826d11dabf4163bc7d5333 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Sat, 9 Mar 2024 15:27:47 +0000 Subject: [PATCH] Updates Docker stats section --- .../things/DockerDetailedInfo.astro | 89 +++++++++++++++---- web/src/utils/fetch-docker-instructions.ts | 6 ++ 2 files changed, 78 insertions(+), 17 deletions(-) diff --git a/web/src/components/things/DockerDetailedInfo.astro b/web/src/components/things/DockerDetailedInfo.astro index 4905efe..f8410b6 100644 --- a/web/src/components/things/DockerDetailedInfo.astro +++ b/web/src/components/things/DockerDetailedInfo.astro @@ -54,7 +54,10 @@ const formatBigNumber = (num: number): string => { )} -

View on DockerHub

+ {docker.dockerHubData && ( +

View on DockerHub

+ )} + {docker.dockerHubData && Object.keys(docker.dockerHubData).length > 0 && ( {docker.dockerHubData.user}/{docker.dockerHubData.name} @@ -71,10 +74,63 @@ const formatBigNumber = (num: number): string => {
- {docker.usage && ( + {docker.usage && docker.usage.dockerRunCommand && (

Run Command

{docker.usage.dockerRunCommand}
)} + {docker.usage && docker.usage.dockerComposeFile && ( +

Compose File

+
{docker.usage.dockerComposeFile}
+ )} + + {docker.template && docker.template.env && ( +

Environment Variables

+
    +
  • + Var Name + Default +
  • + {docker.template.env.map((env) => ( +
  • + {env.name || env.label} + {env.default || 'null'} +
  • + ))} +
+ )} + + {docker.template && docker.template.ports && ( +

Port List

+
    + {docker.template.ports.map((port) => ( +
  • {port}
  • + ))} +
+ )} + + {docker.template && docker.template.volumes && ( +

Volume Mounting

+
    + {docker.template.volumes.map((volume) => ( +
  • + {volume.bind} + {volume.container || '(any)'} +
  • + ))} +
+ )} + + {docker.dockerHubData && docker.dockerHubData.permissions && ( +

Permissions

+
    + {Object.keys(docker.dockerHubData.permissions).map((perm) => ( +
  • + {perm} + {perm ? '✅ Yes' : '❎ No'} +
  • + ))} +
+ )}
@@ -90,12 +146,6 @@ const formatBigNumber = (num: number): string => { width: 100%; } } - .long-list-data { - width: 100%; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - } } .left { @@ -116,15 +166,20 @@ const formatBigNumber = (num: number): string => { font-style: italic; -webkit-line-clamp: 3; } - .table { - max-width: 15rem; - padding-left: 0; - li { - display: flex; - justify-content: space-between; - .lbl { - font-weight: 500; - } + } + + .table { + max-width: 15rem; + padding-left: 0; + li { + display: flex; + justify-content: space-between; + .lbl { + font-weight: 500; + } + &.header { + border-bottom: 2px solid var(--accent); + .lbl { font-weight: 400; } } } } diff --git a/web/src/utils/fetch-docker-instructions.ts b/web/src/utils/fetch-docker-instructions.ts index 67fa01e..739bfe9 100644 --- a/web/src/utils/fetch-docker-instructions.ts +++ b/web/src/utils/fetch-docker-instructions.ts @@ -18,6 +18,7 @@ interface DockerTemplatePort { interface DockerTemplateEnvironmentVariable { name: string; + label?: string; default?: string; description?: string; } @@ -56,6 +57,11 @@ interface DockerHubData { last_updated: string; date_registered: string; build_status: string; + permissions: { + read: boolean; + write: boolean; + admin: boolean; + }; } interface DockerUsage {