diff --git a/photon-client/src/components/app/photon-error-snackbar.vue b/photon-client/src/components/app/photon-error-snackbar.vue index d654d53435..871cc6a0e7 100644 --- a/photon-client/src/components/app/photon-error-snackbar.vue +++ b/photon-client/src/components/app/photon-error-snackbar.vue @@ -13,5 +13,15 @@ import { useStateStore } from "@/stores/StateStore";

{{ useStateStore().snackbarData.message }}

+ + + diff --git a/photon-client/src/components/settings/DeviceControlCard.vue b/photon-client/src/components/settings/DeviceControlCard.vue index 76783f6dcb..c0c4ed161e 100644 --- a/photon-client/src/components/settings/DeviceControlCard.vue +++ b/photon-client/src/components/settings/DeviceControlCard.vue @@ -84,9 +84,11 @@ const handleOfflineUpdate = () => { const uploadPercentage = (progress || 0) * 100.0; if (uploadPercentage < 99.5) { useStateStore().showSnackbarMessage({ - message: "New Software Upload in Process, " + uploadPercentage.toFixed(2) + "% complete", + message: "New Software Upload in Progress", color: "secondary", - timeout: -1 + timeout: -1, + progressBar: uploadPercentage, + progressBarColor: "primary" }); } else { useStateStore().showSnackbarMessage({ diff --git a/photon-client/src/components/settings/ObjectDetectionCard.vue b/photon-client/src/components/settings/ObjectDetectionCard.vue index 5cfe2eaed9..0450d1ec61 100644 --- a/photon-client/src/components/settings/ObjectDetectionCard.vue +++ b/photon-client/src/components/settings/ObjectDetectionCard.vue @@ -228,9 +228,11 @@ const handleBulkImport = () => { const uploadPercentage = (progress || 0) * 100.0; if (uploadPercentage < 99.5) { useStateStore().showSnackbarMessage({ - message: "Object Detection Models Upload in Process, " + uploadPercentage.toFixed(2) + "% complete", + message: "Object Detection Models Upload in Progress", color: "secondary", - timeout: -1 + timeout: -1, + progressBar: uploadPercentage, + progressBarColor: "primary" }); } else { useStateStore().showSnackbarMessage({ diff --git a/photon-client/src/stores/StateStore.ts b/photon-client/src/stores/StateStore.ts index 2c4e7edabf..cedb30df64 100644 --- a/photon-client/src/stores/StateStore.ts +++ b/photon-client/src/stores/StateStore.ts @@ -39,6 +39,8 @@ interface StateStore { snackbarData: { show: boolean; + progressBar: number; + progressBarColor: string; message: string; color: string; timeout: number; @@ -86,6 +88,8 @@ export const useStateStore = defineStore("state", { snackbarData: { show: false, + progressBar: -1, + progressBarColor: "info", message: "No Message", color: "info", timeout: 2000 @@ -158,13 +162,22 @@ export const useStateStore = defineStore("state", { updateDiscoveredCameras(data: VsmState) { this.vsmState = data; }, - showSnackbarMessage(data: { message: string; color: string; timeout?: number }) { + showSnackbarMessage(data: { + message: string; + color: string; + timeout?: number; + progressBar?: number; + progressBarColor?: string; + }) { this.snackbarData = { show: true, + progressBar: data.progressBar || -1, message: data.message, color: data.color, + progressBarColor: data.progressBarColor || "", timeout: data.timeout || 2000 }; + console.log(this.snackbarData); } } });