Skip to content

Commit 9807437

Browse files
bidahclaude
andcommitted
🐛 fix(mobile): fix chat input buttons cut off and hide cloud row
- Make mobile container flex-col with overflow-hidden so ChatPanel properly fills remaining space after title bar - Add flex-1 min-h-0 to ChatPanel for correct flex sizing - Use safe-area-inset-bottom padding for mobile bottom spacing - Hide cloud button row on mobile - Update landing page copy (Capsule → React Native Vibe Code) - Center prompt gallery search bar Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent ecc53b6 commit 9807437

5 files changed

Lines changed: 11 additions & 12 deletions

File tree

‎apps/web/app/(app)/p/[id]/page.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2372,7 +2372,7 @@ function ProjectPageInternal() {
23722372
) : (
23732373
<>
23742374
{/* Mobile mode: Show selected panel based on mobile toggle (hidden on md and up) */}
2375-
<div className="flex-1 h-full md:hidden">
2375+
<div className="flex-1 flex flex-col h-full md:hidden overflow-hidden">
23762376
{/* Editable Project Title for mobile */}
23772377
<EditableProjectTitle
23782378
projectTitle={currentProject?.title || (firstMessage ? 'Creating New Project...' : 'New Project')}

‎apps/web/components/chat-panel-input.tsx‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -527,10 +527,9 @@ export const ChatPanelInput = memo(function ChatPanelInput({
527527

528528
return (
529529
<div
530-
className="p-2 pt-0 border-t bg-background flex-shrink-0 pb-4 w-full"
530+
className="p-2 pt-0 border-t bg-background flex-shrink-0 w-full"
531531
style={{
532-
// On mobile, use sticky positioning and account for safe area
533-
// paddingBottom: isMobile ? 'max(1rem, env(safe-area-inset-bottom))' : undefined,
532+
paddingBottom: 'max(1rem, env(safe-area-inset-bottom))',
534533
}}
535534
>
536535
{/* Show selection indicator when element is selected */}
@@ -735,8 +734,8 @@ export const ChatPanelInput = memo(function ChatPanelInput({
735734
</Button>
736735
</div>
737736
</div>
738-
{/* Cloud row - new bottom row */}
739-
<div className="relative flex items-center gap-x-2 bg-background border-t-1 -m-2 p-2 pl-2">
737+
{/* Cloud row - new bottom row (hidden on mobile) */}
738+
<div className="relative hidden md:flex items-center gap-x-2 bg-background border-t-1 -m-2 p-2 pl-2">
740739
{/* Invisible overlay when panel is open - clicking it dismisses the panel */}
741740
{isCloudPanelOpen && (
742741
<div

‎apps/web/components/landing-features.tsx‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export function LandingFeatures() {
3838
<span className="font-bold">vibe coding ideas into mobile and web apps</span>
3939
</h3>
4040
<p className="text-muted-foreground text-md md:text-lg max-w-2xl mx-auto">
41-
Capsule codes for you, so you can create apps by just prompting text or using your voice.
41+
The app agent codes for you, so you can create apps by just prompting text or using your voice.
4242
</p>
4343
</div>
4444

@@ -52,7 +52,7 @@ export function LandingFeatures() {
5252
The best code agent by default
5353
</h3>
5454
<p className="text-muted-foreground text-sm md:text-base leading-relaxed">
55-
Capsule integrates Claude Code the revolutionary coding agent that is shaking the internet. Its a magical combination. We integrated the Claude Code Agent SDK and set by default Claude Opus 4.5 the most powerful coding model on the planet.
55+
React Native Vibe Code integrates Claude Code the revolutionary coding agent that is shaking the internet. Its a magical combination. We integrated the Claude Code Agent SDK and set by default Claude Opus 4.5 the most powerful coding model on the planet.
5656
</p>
5757
</div>
5858
<div className="flex flex-col gap-2 min-w-[300px]">
@@ -169,7 +169,7 @@ export function LandingFeatures() {
169169
Cloud: Backend and Database
170170
</h3>
171171
<p className="text-muted-foreground text-sm md:text-base leading-relaxed max-w-2xl mb-8">
172-
The magic of having an app that not only builds UI but also connects all the pieces to a database and backend logic. This is the most powerful feature of Capsule. Every new app you create can get this integration by enabling the cloud option. After enabling it the code agent knows and creates fullstack apps always for you from there on.<br/> Powered by <Link className="underline" target='_blank' href="https://convex.dev">Convex.</Link>
172+
The magic of having an app that not only builds UI but also connects all the pieces to a database and backend logic. Every new app you create can get this integration by enabling the cloud option. After enabling it the code agent knows and creates fullstack apps always for you from there on.<br/> Powered by <Link className="underline" target='_blank' href="https://convex.dev">Convex.</Link>
173173
</p>
174174
<div className="flex items-center justify-center gap-4 md:gap-6">
175175
{/* Backend */}
@@ -218,7 +218,7 @@ export function LandingFeatures() {
218218
<div className="w-full p-4 rounded-lg bg-muted-foreground/5 border border-muted-foreground/10">
219219
<div className="flex items-center gap-3">
220220
<div className="w-3 h-3 rounded-full bg-green-500 animate-pulse" />
221-
<span className="text-sm text-muted-foreground font-mono">http://my-amazing-app.capsulethis.app</span>
221+
<span className="text-sm text-muted-foreground font-mono">http://my-amazing-app.pages.dev</span>
222222
</div>
223223
</div>
224224
</div>

‎apps/web/components/ui-prompts/prompt-gallery.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ export function PromptGallery() {
136136
return (
137137
<div className="space-y-8">
138138
{/* Search Bar */}
139-
<div className="relative">
139+
<div className="relative max-w-[500px] mx-auto">
140140
<Search className="absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" />
141141
<Input
142142
type="text"

‎packages/chat/src/components/chat-panel.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ export function ChatPanel({
183183
}, [projectId, sandboxId, userId])
184184

185185
return (
186-
<div className="flex flex-col border-r relative overflow-hidden h-full">
186+
<div className="flex flex-col border-r relative overflow-hidden h-full flex-1 min-h-0">
187187

188188
{/* Messages Container with Conversation (use-stick-to-bottom) */}
189189
{renderMessages({

0 commit comments

Comments
 (0)