Skip to content

Commit 781cc84

Browse files
widgets: Replace timesMounted with everMounted on the manager vars
We were using it to check if the widget was ever mounted, so it already satisfies the requirements. Updating it on every mount was causing the profile to change all the time, which makes syncing dificult.
1 parent 4719da5 commit 781cc84

File tree

5 files changed

+29
-9
lines changed

5 files changed

+29
-9
lines changed

src/assets/defaults.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export const defaultProfileVehicleCorrespondency = {
1313
}
1414

1515
export const defaultWidgetManagerVars = {
16-
timesMounted: 0,
16+
everMounted: false,
1717
configMenuOpen: false,
1818
allowMoving: false,
1919
lastNonMaximizedX: 0.4,
@@ -24,7 +24,7 @@ export const defaultWidgetManagerVars = {
2424
}
2525

2626
export const defaultMiniWidgetManagerVars = {
27-
timesMounted: 0,
27+
everMounted: false,
2828
configMenuOpen: false,
2929
highlighted: false,
3030
}

src/components/WidgetHugger.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,10 +211,10 @@ const resizeWidgetToMinimalSize = (): void => {
211211
}
212212
213213
onMounted(async () => {
214-
if (managerVars.value.timesMounted === 0) {
214+
if (managerVars.value.everMounted === false) {
215215
resizeWidgetToMinimalSize()
216216
}
217-
managerVars.value.timesMounted += 1
217+
managerVars.value.everMounted = true
218218
219219
if (widgetResizeHandles.value) {
220220
for (let i = 0; i < widgetResizeHandles.value.length; i++) {

src/stores/widgetManager.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -593,9 +593,29 @@ export const useWidgetManagerStore = defineStore('widget-manager', () => {
593593
v.visible = v.visible ?? true
594594

595595
// If there's any configuration menu open, close it
596-
v.widgets.forEach((w) => (w.managerVars.configMenuOpen = false))
597-
v.miniWidgetContainers.forEach((c) => c.widgets.forEach((w) => (w.managerVars.configMenuOpen = false)))
596+
v.widgets.forEach((w) => {
597+
w.managerVars.configMenuOpen = false
598+
w.managerVars.everMounted = true
599+
// @ts-ignore: This is an old value that we are removing on those that still hold it
600+
w.managerVars.timesMounted = undefined
601+
})
602+
v.miniWidgetContainers.forEach((c) =>
603+
c.widgets.forEach((w) => {
604+
w.managerVars.configMenuOpen = false
605+
w.managerVars.everMounted = true
606+
// @ts-ignore: This is an old value that we are removing on those that still hold it
607+
w.managerVars.timesMounted = undefined
608+
})
609+
)
598610
})
611+
612+
currentMiniWidgetsProfile.value.containers.forEach((c) =>
613+
c.widgets.forEach((w) => {
614+
w.managerVars.everMounted = true
615+
// @ts-ignore: This is an old value that we are removing on those that still hold it
616+
w.managerVars.timesMounted = undefined
617+
})
618+
)
599619
})
600620
})
601621

src/types/miniWidgets.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export type MiniWidget = {
4242
/**
4343
* Number of times the mini-widget was mounted
4444
*/
45-
timesMounted: number
45+
everMounted: boolean
4646
/**
4747
* If the configuration menu is open or not
4848
*/

src/types/widgets.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export type Widget = {
5151
/**
5252
* Number of times the widget was mounted
5353
*/
54-
timesMounted: number
54+
everMounted: boolean
5555
/**
5656
* If the configuration menu is open or not
5757
*/
@@ -128,7 +128,7 @@ export type Profile = {
128128

129129
export const isWidget = (maybeWidget: Widget): maybeWidget is Widget => {
130130
const widgetProps = ['hash', 'component', 'position', 'size', 'name', 'options', 'managerVars']
131-
const managetVarsProps = ['timesMounted']
131+
const managetVarsProps = ['everMounted']
132132
let realWidget = true
133133
widgetProps.forEach((p) => {
134134
// @ts-ignore

0 commit comments

Comments
 (0)