diff --git a/src/components/services/group.jsx b/src/components/services/group.jsx
index daae1909..7fc86907 100644
--- a/src/components/services/group.jsx
+++ b/src/components/services/group.jsx
@@ -1,4 +1,5 @@
import classNames from "classnames";
+import Image from "next/future/image";
import List from "components/services/list";
@@ -11,7 +12,12 @@ export default function ServicesGroup({ services, layout }) {
"flex-1 p-1"
)}
>
-
{services.name}
+
+ {services.icon &&
+
+ }
+
{services.name}
+
);
diff --git a/src/pages/api/services/index.js b/src/pages/api/services/index.js
index 52951fbb..a29b7fb1 100644
--- a/src/pages/api/services/index.js
+++ b/src/pages/api/services/index.js
@@ -33,11 +33,12 @@ export default async function handler(req, res) {
const mergedGroup = {
name: groupName,
+ icon: configuredGroup.icon,
services: [...discoveredGroup.services, ...configuredGroup.services].filter((service) => service),
};
mergedGroups.push(mergedGroup);
});
-
+
res.send(mergedGroups);
}
diff --git a/src/styles/globals.css b/src/styles/globals.css
index e11bf477..bb8003ea 100644
--- a/src/styles/globals.css
+++ b/src/styles/globals.css
@@ -12,3 +12,8 @@
body {
font-family: "Poppins", sans-serif;
}
+
+.h2-title-noicon {
+ padding-top: 8px;
+ padding-bottom: 8px;
+}
\ No newline at end of file
diff --git a/src/utils/service-helpers.js b/src/utils/service-helpers.js
index 595d5e36..8daf67f1 100644
--- a/src/utils/service-helpers.js
+++ b/src/utils/service-helpers.js
@@ -20,9 +20,11 @@ export async function servicesFromConfig() {
}
// map easy to write YAML objects into easy to consume JS arrays
- const servicesArray = services.map((servicesGroup) => ({
+ const servicesArray = services.map((servicesGroup) => (
+ {
name: Object.keys(servicesGroup)[0],
- services: servicesGroup[Object.keys(servicesGroup)[0]].map((entries) => ({
+ icon: Object.prototype.hasOwnProperty.call(servicesGroup[Object.keys(servicesGroup)[0]], 'icon') ? servicesGroup[Object.keys(servicesGroup)[0]].icon : '',
+ services: servicesGroup[Object.keys(servicesGroup)[0]].services.map((entries) => ({
name: Object.keys(entries)[0],
...entries[Object.keys(entries)[0]],
})),
@@ -106,6 +108,7 @@ export async function servicesFromDocker() {
export function cleanServiceGroups(groups) {
return groups.map((serviceGroup) => ({
name: serviceGroup.name,
+ icon: serviceGroup.icon,
services: serviceGroup.services.map((service) => {
const cleanedService = { ...service };