fix: viewport-fixed layout on all pages for mobile

- Replace 100vh with 100dvh everywhere (accounts for mobile browser chrome)
- DocsPage: viewport-fixed with tabs pinned, tab content scrolls internally
- BotProfilePage: overflow-hidden outer, internal scroll container
- JoinBoutPage: viewport-fixed with internal overflow scroll
- HumanFightPage: viewport-fixed, flex-1 content area with internal scroll
- All other pages: vh → dvh for correct mobile sizing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-08 15:25:34 +00:00
co-authored by Claude Opus 4.6
parent 8a345f5e56
commit 896e81960f
10 changed files with 85 additions and 40 deletions
+11 -7
View File
@@ -173,11 +173,11 @@ const registrationTest = `{
</script>
<template>
<div class="min-h-[calc(100vh-4rem)] px-6 py-8 max-w-4xl mx-auto">
<div class="slide-up">
<div class="h-[calc(100dvh-4rem)] flex flex-col overflow-hidden">
<div class="flex flex-col flex-1 min-h-0 px-6 py-4 max-w-4xl mx-auto w-full">
<div class="text-center mb-8">
<h2 class="font-display font-black text-3xl tracking-wider gradient-text mb-2">
<div class="text-center mb-4 shrink-0">
<h2 class="font-display font-black text-3xl tracking-wider gradient-text mb-1">
BOT SETUP GUIDE
</h2>
<p class="font-mono text-text-muted text-xs">
@@ -185,12 +185,12 @@ const registrationTest = `{
</p>
</div>
<div v-if="error" class="p-4 border-2 bg-ko/5 border-ko/30 text-ko font-mono text-xs">
<div v-if="error" class="p-4 border-2 bg-ko/5 border-ko/30 text-ko font-mono text-xs shrink-0">
{{ error }}
</div>
<!-- Tab nav -->
<div class="flex flex-wrap gap-1 mb-6 border-b border-border">
<!-- Tab nav (fixed) -->
<div class="flex flex-wrap gap-1 mb-4 border-b border-border shrink-0">
<button
v-for="tab in tabs"
:key="tab"
@@ -204,6 +204,9 @@ const registrationTest = `{
</button>
</div>
<!-- Scrollable tab content -->
<div class="flex-1 min-h-0 overflow-y-auto">
<!-- GUIDE TAB -->
<div v-if="activeTab === 'guide'" class="space-y-6">
@@ -716,6 +719,7 @@ const registrationTest = `{
</div>
</div>
</div><!-- /scrollable -->
</div>
</div>
</template>