diff --git a/public/service-worker.js b/public/service-worker.js index 1072a56..c4c89e5 100644 --- a/public/service-worker.js +++ b/public/service-worker.js @@ -1,4 +1,4 @@ -const CACHE_VERSION = 'nexus-timer-cache-v3.3'; +const CACHE_VERSION = 'nexus-timer-cache-v3.4'; const APP_SHELL_URLS = [ // '/', // Let NetworkFirst handle '/' '/manifest.json', diff --git a/src/assets/tailwind.css b/src/assets/tailwind.css index 6f7e610..d4e13c1 100644 --- a/src/assets/tailwind.css +++ b/src/assets/tailwind.css @@ -7,6 +7,17 @@ body { overscroll-behavior-y: contain; /* Prevents pull-to-refresh on mobile */ } +/* Safe area insets for mobile devices (status bar, home indicator) */ +.safe-area-padding { + padding-top: env(safe-area-inset-top); + /* padding-bottom: env(safe-area-inset-bottom); */ +} + +.safe-area-height { + height: calc(100dvh - env(safe-area-inset-top)); + min-height: 0; +} + /* Basic button styling */ .btn { @apply px-4 py-2 rounded font-semibold focus:outline-none focus:ring-2 focus:ring-opacity-50; diff --git a/src/components/PlayerDisplay.vue b/src/components/PlayerDisplay.vue index ea49b63..823d519 100644 --- a/src/components/PlayerDisplay.vue +++ b/src/components/PlayerDisplay.vue @@ -32,7 +32,7 @@ -

+

{{ player.name }}

SKIPPED

-

(Swipe up to pass turn)

@@ -109,9 +108,9 @@ const calculateAvatarSize = () => { const availableHeight = screenHeight / 2; let size = Math.min(availableHeight * 0.5, screenWidth * 0.4, 175); - if (screenWidth < 960) { - size = Math.min(availableHeight * 0.7, screenWidth * 0.6, 250); - } else if (screenWidth < 1024) { + if (screenWidth < 768) { // Mobile + size = Math.min(availableHeight * 0.7, screenWidth * 0.6, 230); + } else if (screenWidth < 1024) { // Tablet size = Math.min(availableHeight * 0.55, screenWidth * 0.45, 180); } size = Math.max(size, 100); diff --git a/src/views/GameView.vue b/src/views/GameView.vue index bf76d63..52eb459 100644 --- a/src/views/GameView.vue +++ b/src/views/GameView.vue @@ -1,5 +1,5 @@