From 82e5b4506d891bc9103e6924057bb842d1e2da5b Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 25 Sep 2025 16:53:47 +0200 Subject: [PATCH] fix: complete iOS Safari safe area solution using inset and -webkit-fill-available - Replace calc() with env() approach (which returns 0px in portrait) - Use inset: 0 to fill entire viewport including safe areas - Add -webkit-fill-available for proper iOS height handling - Add iOS-specific meta tags for full-screen web app support - Include style element with !important to override any conflicts - Use @supports query to target only Safari browsers This approach bypasses the buggy env() functions and uses native iOS solutions --- apps/website/components/HeroSection.vue | 46 +++++++++++++++---------- apps/website/nuxt.config.ts | 4 ++- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/apps/website/components/HeroSection.vue b/apps/website/components/HeroSection.vue index 28ca789..45d6af9 100644 --- a/apps/website/components/HeroSection.vue +++ b/apps/website/components/HeroSection.vue @@ -112,31 +112,39 @@ const animateCount = () => { } onMounted(() => { - // NUCLEAR OPTION: Inject video directly into DOM, bypassing Vue/Nuxt entirely + // ULTIMATE FIX: Use inset: 0 and -webkit-fill-available to bypass env() bugs const videoHTML = ` -
+ +