+ {/* Load gauge card */}
+ {hasExtras && !isCompact && (
+
+
)}
- {showLowHigh && (
- <>
-
- Low
- {low.toFixed(dp)}%
-
-
- High
- {high.toFixed(dp)}%
-
- >
+
+ {/* Compact load fallback when gauge doesn't fit */}
+ {hasExtras && isCompact && (
+
+ Load
+ {loadClamped.toFixed(0)}%
+
)}
+
+ {/* Status badge */}
{showStatus && !isCompact && (
-
+
{isCharging ? '⚡ Charging' : isDischarging ? '↓ Discharging' : '— Stable'}
)}
+
+ {/* Stats */}
+ {(showRate || showLowHigh) && (
+
+ {showRate && (
+
+ Rate
+ {rate.toFixed(dp)} %/min
+
+ )}
+ {showLowHigh && (
+ <>
+
+ Low
+ {low.toFixed(dp)}%
+
+
+ High
+ {high.toFixed(dp)}%
+
+ >
+ )}
+
+ )}
)}
diff --git a/src/module.ts b/src/module.ts
index 240195b..35c9ad5 100644
--- a/src/module.ts
+++ b/src/module.ts
@@ -4,6 +4,75 @@ import { ChargeVizOptions } from './types';
export const plugin = new PanelPlugin