From 8ccd72e1412c3a0289d2829a89c821e4bdbd81e2 Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Fri, 28 Aug 2026 08:50:57 +0200 Subject: [PATCH] UI: show inactive phases as dots in phase indicator (#33173) --- .storybook/preview.ts | 2 + assets/css/app.css | 1 + assets/js/app.ts | 2 + .../js/components/Config/StatusIndicator.vue | 32 +--- .../Loadpoints/Loadpoints.stories.ts | 13 +- .../components/Loadpoints/Phases.stories.ts | 155 ++++++++++++------ assets/js/components/Loadpoints/Phases.vue | 53 ++++-- assets/js/directives/tooltip.ts | 25 +++ i18n/de.json | 1 + i18n/en.json | 1 + 10 files changed, 187 insertions(+), 98 deletions(-) create mode 100644 assets/js/directives/tooltip.ts diff --git a/.storybook/preview.ts b/.storybook/preview.ts index b38177500..a9d191d0f 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -2,6 +2,7 @@ import { type Preview, setup } from "@storybook/vue3"; import "bootstrap/dist/css/bootstrap.min.css"; import smoothscroll from "smoothscroll-polyfill"; import setupI18n from "../assets/js/i18n"; +import tooltip from "../assets/js/directives/tooltip"; import "../assets/css/app.css"; import { watchThemeChanges } from "../assets/js/theme"; @@ -35,6 +36,7 @@ export default { setup((app) => { app.use(setupI18n()); + app.directive("tooltip", tooltip); // Mock router-link for Storybook app.component("router-link", { diff --git a/assets/css/app.css b/assets/css/app.css index 33c75991e..d39e45dcd 100644 --- a/assets/css/app.css +++ b/assets/css/app.css @@ -50,6 +50,7 @@ --evcc-gray: var(--bs-gray-medium); --evcc-gray-50: #93949e80; --evcc-gray-25: #93949e40; + --evcc-gray-15: #93949e26; --evcc-gray-10: #93949e20; --evcc-accent1: var(--evcc-dark-yellow); --evcc-accent2: var(--evcc-darker-green); diff --git a/assets/js/app.ts b/assets/js/app.ts index b453c8527..1649b44f4 100644 --- a/assets/js/app.ts +++ b/assets/js/app.ts @@ -6,6 +6,7 @@ import { VueHeadMixin, createHead } from "@unhead/vue/client"; import App from "./views/App.vue"; import setupRouter from "./router.ts"; import setupI18n from "./i18n.ts"; +import tooltip from "./directives/tooltip.ts"; import { watchThemeChanges } from "./theme.ts"; import { applyUrlSettings } from "./urlSettings.ts"; import { appDetection, sendToApp } from "./utils/native"; @@ -99,6 +100,7 @@ app.use(i18n); app.use(router); app.use(head); app.mixin(VueHeadMixin); +app.directive("tooltip", tooltip); window.app = app.mount("#app"); watchThemeChanges(); diff --git a/assets/js/components/Config/StatusIndicator.vue b/assets/js/components/Config/StatusIndicator.vue index d27f33fb2..20e23e318 100644 --- a/assets/js/components/Config/StatusIndicator.vue +++ b/assets/js/components/Config/StatusIndicator.vue @@ -1,11 +1,9 @@