@kwirthmagnify/kwirth-homepage-clusterized 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/front.js +2 -1
  2. package/package.json +1 -1
package/front.js CHANGED
@@ -78,6 +78,7 @@
78
78
  sx: { height: 4, borderRadius: 2, bgcolor: "action.hover", "& .MuiLinearProgress-bar": { bgcolor: color, borderRadius: 2 } }
79
79
  }
80
80
  ));
81
+ var MetricPlaceholder = ({ label }) => /* @__PURE__ */ import_react.default.createElement(import_material.Box, { sx: { minWidth: 72 } }, /* @__PURE__ */ import_react.default.createElement(import_material.Stack, { direction: "row", justifyContent: "space-between", alignItems: "center" }, /* @__PURE__ */ import_react.default.createElement(import_material.Typography, { variant: "caption", color: "text.disabled", sx: { fontSize: "0.65rem" } }, label), /* @__PURE__ */ import_react.default.createElement(import_material.Typography, { variant: "caption", sx: { fontSize: "0.65rem" } }, "\xA0")), /* @__PURE__ */ import_react.default.createElement(import_material.Box, { sx: { height: 4, borderRadius: 2, bgcolor: "action.hover" } }));
81
82
  var Clusterized = (props) => {
82
83
  const [metrics, setMetrics] = (0, import_react.useState)({});
83
84
  const showCpu = props.config?.showCpu ?? true;
@@ -114,7 +115,7 @@
114
115
  };
115
116
  return /* @__PURE__ */ import_react.default.createElement(import_material.Box, { sx: { p: 2, display: "flex", flexDirection: "column", gap: 2, overflowY: "auto", height: "100%" } }, props.clusters.map((cluster) => {
116
117
  const m = metrics[cluster.name];
117
- return /* @__PURE__ */ import_react.default.createElement(import_material.Card, { key: cluster.name, variant: "outlined" }, /* @__PURE__ */ import_react.default.createElement(import_material.CardContent, { sx: { py: 1.5, "&:last-child": { pb: 1.5 } } }, /* @__PURE__ */ import_react.default.createElement(import_material.Stack, { direction: "row", alignItems: "center", spacing: 2 }, /* @__PURE__ */ import_react.default.createElement(import_material.Box, { sx: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ import_react.default.createElement(import_material.Typography, { variant: "h6", sx: { lineHeight: 1.3 } }, cluster.name), /* @__PURE__ */ import_react.default.createElement(import_material.Typography, { variant: "caption", color: "text.secondary", sx: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", display: "block" } }, cluster.url)), needsMetrics && m && /* @__PURE__ */ import_react.default.createElement(import_material.Stack, { direction: "row", spacing: 1.5, alignItems: "center" }, showCpu && /* @__PURE__ */ import_react.default.createElement(MetricBar, { label: "CPU", value: m.cpu, color: "#2196f3" }), showMem && /* @__PURE__ */ import_react.default.createElement(MetricBar, { label: "MEM", value: m.memory, color: "#9c27b0" }), showPods && m.maxPods > 0 && /* @__PURE__ */ import_react.default.createElement(MetricBar, { label: "Pods", value: m.pods / m.maxPods * 100, color: "#ff9800" })), /* @__PURE__ */ import_react.default.createElement(import_material.Stack, { direction: "row", spacing: 0.75, alignItems: "center" }, /* @__PURE__ */ import_react.default.createElement(StatusLight, { color: "#4caf50", label: "Healthy" }), /* @__PURE__ */ import_react.default.createElement(StatusLight, { color: "#ff9800", label: "Warning" }), /* @__PURE__ */ import_react.default.createElement(StatusLight, { color: "#f44336", label: "Critical" })), /* @__PURE__ */ import_react.default.createElement(
118
+ return /* @__PURE__ */ import_react.default.createElement(import_material.Card, { key: cluster.name, variant: "outlined" }, /* @__PURE__ */ import_react.default.createElement(import_material.CardContent, { sx: { py: 1.5, "&:last-child": { pb: 1.5 } } }, /* @__PURE__ */ import_react.default.createElement(import_material.Stack, { direction: "row", alignItems: "center", spacing: 2 }, /* @__PURE__ */ import_react.default.createElement(import_material.Box, { sx: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ import_react.default.createElement(import_material.Typography, { variant: "h6", sx: { lineHeight: 1.3 } }, cluster.name), /* @__PURE__ */ import_react.default.createElement(import_material.Typography, { variant: "caption", color: "text.secondary", sx: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", display: "block" } }, cluster.url)), needsMetrics && /* @__PURE__ */ import_react.default.createElement(import_material.Stack, { direction: "row", spacing: 1.5, alignItems: "center" }, showCpu && (m ? /* @__PURE__ */ import_react.default.createElement(MetricBar, { label: "CPU", value: m.cpu, color: "#2196f3" }) : /* @__PURE__ */ import_react.default.createElement(MetricPlaceholder, { label: "CPU" })), showMem && (m ? /* @__PURE__ */ import_react.default.createElement(MetricBar, { label: "MEM", value: m.memory, color: "#9c27b0" }) : /* @__PURE__ */ import_react.default.createElement(MetricPlaceholder, { label: "MEM" })), showPods && (m && m.maxPods > 0 ? /* @__PURE__ */ import_react.default.createElement(MetricBar, { label: "Pods", value: m.pods / m.maxPods * 100, color: "#ff9800" }) : /* @__PURE__ */ import_react.default.createElement(MetricPlaceholder, { label: "Pods" }))), /* @__PURE__ */ import_react.default.createElement(import_material.Stack, { direction: "row", spacing: 0.75, alignItems: "center" }, /* @__PURE__ */ import_react.default.createElement(StatusLight, { color: "#4caf50", label: "Healthy" }), /* @__PURE__ */ import_react.default.createElement(StatusLight, { color: "#ff9800", label: "Warning" }), /* @__PURE__ */ import_react.default.createElement(StatusLight, { color: "#f44336", label: "Critical" })), /* @__PURE__ */ import_react.default.createElement(
118
119
  import_material.Button,
119
120
  {
120
121
  variant: "outlined",
package/package.json CHANGED
@@ -2,6 +2,6 @@
2
2
  "id": "clusterized",
3
3
  "name": "@kwirthmagnify/kwirth-homepage-clusterized",
4
4
  "displayName": "Clusterized",
5
- "version": "0.1.3",
5
+ "version": "0.1.4",
6
6
  "description": "Cluster-centric homepage for Kwirth — one card per cluster with status indicator and quick Magnify access"
7
7
  }