diff --git a/ui/src/components/MultiModal.vue b/ui/src/components/MultiModal.vue
index e8eeda1..1ed1a5b 100644
--- a/ui/src/components/MultiModal.vue
+++ b/ui/src/components/MultiModal.vue
@@ -17,6 +17,11 @@
+
+
diff --git a/ui/src/components/TouchButton.vue b/ui/src/components/TouchButton.vue
index 621e75d..f356bc3 100644
--- a/ui/src/components/TouchButton.vue
+++ b/ui/src/components/TouchButton.vue
@@ -1,10 +1,12 @@
+ Eingabemodus:
diff --git a/ui/src/components/calendar/CalendarDoor.vue b/ui/src/components/calendar/CalendarDoor.vue
index 198157b..74b2c3a 100644
--- a/ui/src/components/calendar/CalendarDoor.vue
+++ b/ui/src/components/calendar/CalendarDoor.vue
@@ -3,8 +3,8 @@
style="cursor: pointer"
:variant="visible || hovered ? 'primary' : undefined"
:rectangle="door.position"
- @mouseover="hovered = true"
- @mouseout="hovered = false"
+ @mouseenter="hovered = true"
+ @mouseleave="hovered = false"
>
{{ door.day }}
diff --git a/ui/src/components/calendar/SVGRect.vue b/ui/src/components/calendar/SVGRect.vue
index 2d0df6b..5d3abfb 100644
--- a/ui/src/components/calendar/SVGRect.vue
+++ b/ui/src/components/calendar/SVGRect.vue
@@ -1,11 +1,11 @@
import { Rectangle } from "@/lib/rectangle";
+import { advent22Store } from "@/plugins/store";
import { Options, Vue } from "vue-class-component";
type BulmaVariant =
@@ -51,43 +52,7 @@ export default class extends Vue {
public variant?: BulmaVariant;
public rectangle!: Rectangle;
- private refreshKey = 0;
-
- declare $refs: {
- foreign_object: unknown;
- };
-
- private refresh() {
- window.setTimeout(() => {
- // don't loop endlessly
- if (this.refreshKey < 10000) {
- this.refreshKey++;
- }
- }, 100);
- }
-
- public get parent_aspect_ratio(): number {
- this.refreshKey; // read it just to force recompute on change
-
- if (
- !(this.$refs.foreign_object instanceof SVGForeignObjectElement) ||
- this.$refs.foreign_object.parentElement === null
- ) {
- this.refresh();
- return 1;
- }
-
- const parent = this.$refs.foreign_object.parentElement;
- const result = parent.clientWidth / parent.clientHeight;
-
- // force recompute for suspicious results
- if (result === 0 || result === Infinity) {
- this.refresh();
- return 1;
- }
-
- return result;
- }
+ public readonly store = advent22Store();
}
diff --git a/ui/src/components/calendar/ThouCanvas.vue b/ui/src/components/calendar/ThouCanvas.vue
index 4a54b74..3774fbf 100644
--- a/ui/src/components/calendar/ThouCanvas.vue
+++ b/ui/src/components/calendar/ThouCanvas.vue
@@ -17,6 +17,7 @@