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 }}
+
+
+ {{ Math.ceil(value) }}%
+
+
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);
}
}
});