From 07385dc91e0ab2d923f23255631d06dd4fe3be06 Mon Sep 17 00:00:00 2001
From: Jason Fischer <jazzfisch@outlook.com>
Date: Sun, 27 Nov 2022 09:46:18 -0800
Subject: [PATCH 1/2] Add container health details to status

---
 src/components/services/status.jsx          | 16 ++++++++++++++++
 src/pages/api/docker/status/[...service].js |  1 +
 2 files changed, 17 insertions(+)

diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx
index 2d07e49e..c5fb93c9 100644
--- a/src/components/services/status.jsx
+++ b/src/components/services/status.jsx
@@ -13,6 +13,22 @@ export default function Status({ service }) {
   }
 
   if (data && data.status === "running") {
+    if (data.health === "starting") {
+      return (
+        <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.health}>
+          <div className="text-[8px] font-bold text-blue-500/80 uppercase">{data.health}</div>
+        </div>
+      );
+    }
+
+    if (data.health === "unhealthy") {
+      return (
+        <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.health}>
+          <div className="text-[8px] font-bold text-orange-400/50 dark:text-orange-400/80 uppercase">{data.health}</div>
+        </div>
+      );
+    }
+
     return (
       <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}>
         <div className="text-[8px] font-bold text-emerald-500/80 uppercase">{data.status}</div>
diff --git a/src/pages/api/docker/status/[...service].js b/src/pages/api/docker/status/[...service].js
index 8330ac3d..2861a1e5 100644
--- a/src/pages/api/docker/status/[...service].js
+++ b/src/pages/api/docker/status/[...service].js
@@ -40,6 +40,7 @@ export default async function handler(req, res) {
 
     return res.status(200).json({
       status: info.State.Status,
+      health: info.State.Health?.Status
     });
   } catch {
     return res.status(500).send({

From e0edc2735df1bae91d7a91678fe09022b3b3cefe Mon Sep 17 00:00:00 2001
From: Jason Fischer <jazzfisch@outlook.com>
Date: Sun, 27 Nov 2022 14:54:29 -0800
Subject: [PATCH 2/2] Add healthy status if available

---
 src/components/services/status.jsx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx
index c5fb93c9..eaf32030 100644
--- a/src/components/services/status.jsx
+++ b/src/components/services/status.jsx
@@ -30,8 +30,8 @@ export default function Status({ service }) {
     }
 
     return (
-      <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}>
-        <div className="text-[8px] font-bold text-emerald-500/80 uppercase">{data.status}</div>
+      <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.health ?? data.status}>
+        <div className="text-[8px] font-bold text-emerald-500/80 uppercase">{data.health ?? data.status}</div>
       </div>
     );
   }