From 2a86cc44b1e496e561509d17263c60f2e9827873 Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Sun, 19 Jul 2026 11:39:33 +0200 Subject: [PATCH] UI: move vehicle settings from charging plan modal to own modal (#31775) --- assets/css/app.css | 8 + assets/js/components/BottomTabs/Bar.vue | 12 +- assets/js/components/BottomTabs/MoreItem.vue | 4 +- assets/js/components/BottomTabs/MoreMenu.vue | 20 +- .../js/components/ChargingPlans/Arrival.vue | 162 -------------- .../components/ChargingPlans/ChargingPlan.vue | 2 +- .../ChargingPlans/ChargingPlanModal.vue | 133 +++-------- .../ChargingPlans/PlansSettings.vue | 2 +- .../Config/Remote/RemoteClientList.vue | 6 +- .../js/components/Energyflow/Energyflow.vue | 11 +- assets/js/components/Helper/Badge.stories.ts | 26 +++ assets/js/components/Helper/Badge.vue | 34 +++ assets/js/components/Helper/CustomSelect.vue | 46 +++- assets/js/components/Helper/GenericModal.vue | 10 +- assets/js/components/Helper/LabelAndValue.vue | 5 +- .../js/components/Helper/SettingsFormRow.vue | 30 +++ assets/js/components/Loadpoints/Loadpoint.vue | 2 +- .../js/components/Loadpoints/Loadpoints.vue | 13 +- .../js/components/Loadpoints/SessionInfo.vue | 5 +- .../components/Loadpoints/SettingsButton.vue | 2 +- assets/js/components/Site/Site.vue | 7 +- .../components/Vehicles/LimitEnergySelect.vue | 33 +-- .../js/components/Vehicles/LimitSocSelect.vue | 27 +-- assets/js/components/Vehicles/Options.vue | 8 +- .../js/components/Vehicles/SettingsModal.vue | 207 ++++++++++++++++++ assets/js/components/Vehicles/Title.vue | 7 +- assets/js/components/Vehicles/Vehicle.vue | 13 +- assets/js/uiLoadpoints.ts | 19 +- assets/js/utils/vehicleList.ts | 6 + assets/js/views/App.vue | 7 + assets/js/views/Config.vue | 2 +- assets/js/views/Sessions.vue | 4 +- i18n/bg.json | 12 - i18n/bs.json | 3 - i18n/ca.json | 10 +- i18n/cs.json | 12 - i18n/da.json | 12 - i18n/de.json | 30 +-- i18n/el.json | 12 - i18n/en.json | 30 +-- i18n/es.json | 12 - i18n/fi.json | 12 - i18n/fr.json | 12 - i18n/hr.json | 12 - i18n/hu.json | 12 - i18n/it.json | 12 - i18n/ja.json | 12 - i18n/lb.json | 12 - i18n/lt.json | 12 - i18n/lv.json | 12 - i18n/nl.json | 12 - i18n/no.json | 12 - i18n/pl.json | 12 - i18n/pt.json | 12 - i18n/ro.json | 12 - i18n/ru.json | 12 - i18n/sl.json | 12 - i18n/sv.json | 12 - i18n/ta.json | 12 - i18n/tr.json | 12 - i18n/uk.json | 12 - i18n/zh-Hans.json | 12 - tests/config-vehicles.spec.ts | 11 +- tests/vehicle-error.spec.ts | 13 +- tests/vehicle-settings.spec.ts | 204 +++++++++++------ 65 files changed, 690 insertions(+), 796 deletions(-) delete mode 100644 assets/js/components/ChargingPlans/Arrival.vue create mode 100644 assets/js/components/Helper/Badge.stories.ts create mode 100644 assets/js/components/Helper/Badge.vue create mode 100644 assets/js/components/Helper/SettingsFormRow.vue create mode 100644 assets/js/components/Vehicles/SettingsModal.vue create mode 100644 assets/js/utils/vehicleList.ts diff --git a/assets/css/app.css b/assets/css/app.css index bcedf8a4e..ede507141 100644 --- a/assets/css/app.css +++ b/assets/css/app.css @@ -745,6 +745,14 @@ html.app .modal-dialog { outline: revert; } +/* selects match :focus-visible on click, CustomSelect sets .focus-ring-visible instead */ +.keyboard-focus-ring:focus-visible, +.keyboard-focus-ring.focus-ring-visible { + outline: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color); + outline-offset: 2px; + border-radius: var(--bs-border-radius); +} + .round-box { border-radius: 1rem; color: var(--evcc-default-text); diff --git a/assets/js/components/BottomTabs/Bar.vue b/assets/js/components/BottomTabs/Bar.vue index aa88cd504..15085db8a 100644 --- a/assets/js/components/BottomTabs/Bar.vue +++ b/assets/js/components/BottomTabs/Bar.vue @@ -28,6 +28,7 @@ }, forecast: { type: Object as PropType }, + vehicles: { type: Object as PropType>, default: () => ({}) }, authProviders: { type: Object as PropType, default: () => ({}) }, sponsor: { type: Object as PropType, default: () => ({}) }, fatal: { type: Array as PropType, default: () => [] }, diff --git a/assets/js/components/BottomTabs/MoreItem.vue b/assets/js/components/BottomTabs/MoreItem.vue index 5071255ff..8d05241b9 100644 --- a/assets/js/components/BottomTabs/MoreItem.vue +++ b/assets/js/components/BottomTabs/MoreItem.vue @@ -11,6 +11,7 @@