Skip to content

Commit e9a2d6c

Browse files
Bekibooclaude
andcommitted
fix(blabsy): use dynamic viewport height so the chat composer isn't hidden by browser UI
The chat layout sized its containers with calc(100vh - ...). On mobile browsers 100vh is the largest viewport height (as if the browser chrome were hidden), so the fixed-height chat column overflowed the visible area and the message input was pushed behind the browser's navigation bar — unreachable, so tapping it never opened the keyboard. Installed as a PWA there is no browser chrome, which is why it only reproduced in-browser. Switch the chat containers from 100vh to 100dvh (dynamic viewport height) so they track the actually-visible area. dvh equals vh when there is no browser chrome (PWA / desktop), so no regression there. Verified on a real Android device (Chrome): the composer now sits above the navigation bar and stays reachable with the keyboard open. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 5f08b54 commit e9a2d6c

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

  • platforms/blabsy/client/src/components/chat

platforms/blabsy/client/src/components/chat/chat.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ export function Chat(): JSX.Element {
1212
return (
1313
<main className='min-h-full w-full max-w-5xl pt-8 pb-8'>
1414
{currentChat ? (
15-
<div className='h-[calc(100vh-6rem)] rounded-lg border border-gray-200 bg-white dark:border-gray-800 dark:bg-black'>
15+
<div className='h-[calc(100dvh-6rem)] rounded-lg border border-gray-200 bg-white dark:border-gray-800 dark:bg-black'>
1616
<ChatWindow />
1717
</div>
1818
) : (
19-
<div className='h-[calc(100vh-6rem)] rounded-lg border border-gray-200 bg-white dark:border-gray-800 dark:bg-black flex flex-col'>
19+
<div className='h-[calc(100dvh-6rem)] rounded-lg border border-gray-200 bg-white dark:border-gray-800 dark:bg-black flex flex-col'>
2020
<ChatList />
2121
</div>
2222
)}
@@ -27,11 +27,11 @@ export function Chat(): JSX.Element {
2727
// On desktop, show both in grid layout
2828
return (
2929
<main className='min-h-full w-full max-w-5xl pt-8'>
30-
<div className='grid h-[calc(100vh-4rem)] grid-cols-1 gap-4 md:grid-cols-[350px_1fr]'>
31-
<div className='h-[calc(100vh-4rem)] rounded-lg border border-gray-200 bg-white dark:border-gray-800 dark:bg-black flex flex-col'>
30+
<div className='grid h-[calc(100dvh-4rem)] grid-cols-1 gap-4 md:grid-cols-[350px_1fr]'>
31+
<div className='h-[calc(100dvh-4rem)] rounded-lg border border-gray-200 bg-white dark:border-gray-800 dark:bg-black flex flex-col'>
3232
<ChatList />
3333
</div>
34-
<div className='h-[calc(100vh-4rem)] rounded-lg border border-gray-200 bg-white dark:border-gray-800 dark:bg-black'>
34+
<div className='h-[calc(100dvh-4rem)] rounded-lg border border-gray-200 bg-white dark:border-gray-800 dark:bg-black'>
3535
<ChatWindow />
3636
</div>
3737
</div>

0 commit comments

Comments
 (0)