diff --git a/.storybook/preview.ts b/.storybook/preview.ts index 1c51ac1cc..b38177500 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -34,7 +34,6 @@ export default { } satisfies Preview; setup((app) => { - app.config.globalProperties.$hiddenFeatures = () => true; app.use(setupI18n()); // Mock router-link for Storybook diff --git a/assets/js/api.ts b/assets/js/api.ts index 86fc9ddb4..0b0287725 100644 --- a/assets/js/api.ts +++ b/assets/js/api.ts @@ -40,9 +40,9 @@ const errorInterceptor = (error: any) => { message.push(`${error.response.data.error}.`); } if (error.config) { - const method = error.config.method.toUpperCase(); - const url = error.request.responseURL; - message.push(`${method} ${url}`); + const { baseURL, url, method } = error.config; + const fullUrl = error.request.responseURL || `${baseURL}${url}`; + message.push(`${method.toUpperCase()} ${fullUrl}`); } window.app.raise({ message }); return Promise.reject(error); diff --git a/assets/js/app.ts b/assets/js/app.ts index ae4b1466b..f2cc4c5a4 100644 --- a/assets/js/app.ts +++ b/assets/js/app.ts @@ -5,7 +5,6 @@ import { VueHeadMixin, createHead } from "@unhead/vue/client"; import App from "./views/App.vue"; import setupRouter from "./router.ts"; import setupI18n from "./i18n.ts"; -import featureflags from "./featureflags.ts"; import { watchThemeChanges } from "./theme.ts"; import { appDetection, sendToApp } from "./utils/native"; import type { Notification } from "./types/evcc"; @@ -74,7 +73,6 @@ const head = createHead(); app.use(i18n); app.use(setupRouter(i18n.global)); -app.use(featureflags); app.use(head); app.mixin(VueHeadMixin); window.app = app.mount("#app"); diff --git a/assets/js/components/Auth/PasswordModal.vue b/assets/js/components/Auth/PasswordModal.vue index 180a3c9e1..9a6f2b1b3 100644 --- a/assets/js/components/Auth/PasswordModal.vue +++ b/assets/js/components/Auth/PasswordModal.vue @@ -8,7 +8,7 @@ @open="open" @closed="closed" > -

{{ $t("passwordModal.error") }} "{{ error }}"

+

{{ $t("passwordModal.description") }}

import GenericModal from "../Helper/GenericModal.vue"; +import ErrorMessage from "../Helper/ErrorMessage.vue"; import FormRow from "../Helper/FormRow.vue"; import api from "@/api"; import { updateAuthStatus } from "./auth"; @@ -94,7 +95,7 @@ import { defineComponent } from "vue"; export default defineComponent({ name: "PasswordModal", - components: { FormRow, GenericModal }, + components: { FormRow, GenericModal, ErrorMessage }, props: { updateMode: Boolean, }, diff --git a/assets/js/components/Config/DeviceModal/DeviceModalBase.vue b/assets/js/components/Config/DeviceModal/DeviceModalBase.vue index 27200f665..0101e114d 100644 --- a/assets/js/components/Config/DeviceModal/DeviceModalBase.vue +++ b/assets/js/components/Config/DeviceModal/DeviceModalBase.vue @@ -66,7 +66,7 @@ /> -

{{ auth.error }}

+
import { defineComponent, type PropType } from "vue"; import GenericModal, { type ModalFade } from "../../Helper/GenericModal.vue"; +import ErrorMessage from "../../Helper/ErrorMessage.vue"; import PropertyEntry from "../PropertyEntry.vue"; import PropertyCollapsible from "../PropertyCollapsible.vue"; import Modbus from "./Modbus.vue"; @@ -203,6 +204,7 @@ export default defineComponent({ name: "DeviceModalBase", components: { GenericModal, + ErrorMessage, PropertyEntry, PropertyCollapsible, Modbus, diff --git a/assets/js/components/Config/ExperimentalModal.vue b/assets/js/components/Config/ExperimentalModal.vue index 15e4f851e..5f53042f3 100644 --- a/assets/js/components/Config/ExperimentalModal.vue +++ b/assets/js/components/Config/ExperimentalModal.vue @@ -1,46 +1,56 @@ diff --git a/assets/js/components/Site/Site.vue b/assets/js/components/Site/Site.vue index 4ca7070ac..b74554243 100644 --- a/assets/js/components/Site/Site.vue +++ b/assets/js/components/Site/Site.vue @@ -163,6 +163,7 @@ export default defineComponent({ forecast: Object as PropType, circuits: Object as PropType>, telemetry: Boolean, + experimental: Boolean, evopt: { type: Object as PropType }, }, computed: { diff --git a/assets/js/components/TelemetrySettings.vue b/assets/js/components/TelemetrySettings.vue index ad21a9af3..edd63ccf6 100644 --- a/assets/js/components/TelemetrySettings.vue +++ b/assets/js/components/TelemetrySettings.vue @@ -1,5 +1,5 @@ -