diff --git a/frontend/src/assets/main.css b/frontend/src/assets/main.css
index b9608c2..c490e5f 100644
--- a/frontend/src/assets/main.css
+++ b/frontend/src/assets/main.css
@@ -845,7 +845,9 @@ button {
}
.phone-dynamic-island-enter-active,
.phone-dynamic-island-leave-active {
- transition: opacity 180ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
+ transition:
+ opacity 180ms ease,
+ transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}
.phone-dynamic-island-enter-from,
.phone-dynamic-island-leave-to {
@@ -3544,6 +3546,11 @@ button {
backface-visibility: hidden;
will-change: transform, border-radius, opacity;
}
+.app-window--citywarn {
+ backface-visibility: visible;
+ filter: none;
+ will-change: auto;
+}
.app-window-enter-active {
transition:
transform 0.46s cubic-bezier(0.32, 0.72, 0, 1),
diff --git a/frontend/src/views/PhoneAppWindow.contract.test.ts b/frontend/src/views/PhoneAppWindow.contract.test.ts
index 248ef5a..0f1fecc 100644
--- a/frontend/src/views/PhoneAppWindow.contract.test.ts
+++ b/frontend/src/views/PhoneAppWindow.contract.test.ts
@@ -15,5 +15,6 @@ describe('PhoneAppWindow bundle contract', () => {
expect(source).toContain("app.value?.id === 'app-store'")
expect(source).toContain('? AppStoreApp : app.value?.component')
expect(source).toContain('')
+ expect(source).toContain("'app-window--citywarn': app.id === 'citywarn'")
})
})
diff --git a/frontend/src/views/PhoneAppWindow.vue b/frontend/src/views/PhoneAppWindow.vue
index d1d9bd6..91b69ec 100644
--- a/frontend/src/views/PhoneAppWindow.vue
+++ b/frontend/src/views/PhoneAppWindow.vue
@@ -27,7 +27,12 @@ const launchStyle = computed(() => {
-