fix(android): edge-to-edge alignment, keyboard handling, toolbar spacing
This commit is contained in:
@@ -15,7 +15,8 @@
|
|||||||
android:launchMode="singleTask"
|
android:launchMode="singleTask"
|
||||||
android:label="@string/main_activity_title"
|
android:label="@string/main_activity_title"
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:exported="true">
|
android:exported="true"
|
||||||
|
android:windowSoftInputMode="adjustResize">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. Forces dark mode since our CSS themes are always dark. -->
|
||||||
<style name="Theme.app" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
<style name="Theme.app" parent="Theme.MaterialComponents.NoActionBar">
|
||||||
<!-- Customize your theme here. -->
|
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||||
|
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||||
|
<!-- Force light status bar icons (white) against our dark background -->
|
||||||
|
<item name="android:windowLightStatusBar">false</item>
|
||||||
|
<item name="android:windowLightNavigationBar">false</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. Forces dark mode since our CSS themes are always dark. -->
|
||||||
<style name="Theme.app" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
<style name="Theme.app" parent="Theme.MaterialComponents.NoActionBar">
|
||||||
<!-- Customize your theme here. -->
|
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||||
|
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||||
|
<!-- Force light status bar icons (white) against our dark background -->
|
||||||
|
<item name="android:windowLightStatusBar">false</item>
|
||||||
|
<item name="android:windowLightNavigationBar">false</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ export function Layout() {
|
|||||||
<div className="h-full w-full bg-gb-bg text-gb-fg font-mono flex flex-col">
|
<div className="h-full w-full bg-gb-bg text-gb-fg font-mono flex flex-col">
|
||||||
{/* Outer terminal frame with safe area */}
|
{/* Outer terminal frame with safe area */}
|
||||||
<div className="flex-1 terminal-border bg-gb-bg-h flex flex-col min-h-0"
|
<div className="flex-1 terminal-border bg-gb-bg-h flex flex-col min-h-0"
|
||||||
style={{ padding: 'max(env(safe-area-inset-top), 0.25rem) max(env(safe-area-inset-right), 0) max(env(safe-area-inset-bottom), 0) max(env(safe-area-inset-left), 0)' }}>
|
style={{ padding: 'max(env(safe-area-inset-top), 1.5rem) max(env(safe-area-inset-right), 0) max(env(safe-area-inset-bottom), 0.75rem) max(env(safe-area-inset-left), 0)' }}>
|
||||||
|
|
||||||
{/* Top bar — minimal on mobile */}
|
{/* Top bar — minimal on mobile */}
|
||||||
<div className="flex items-center justify-between px-2 md:px-3 py-1 border-b border-gb-bg-t bg-gb-bg-s gap-1">
|
<div className="flex items-center justify-between px-2 md:px-3 py-1 border-b border-gb-bg-t bg-gb-bg-s gap-1">
|
||||||
|
|||||||
@@ -598,7 +598,7 @@ export const MessageInput = forwardRef<HTMLTextAreaElement, MessageInputProps>(f
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
{/* toolbar row */}
|
{/* toolbar row */}
|
||||||
<div className="flex items-center gap-0.5 pt-0.5 border-t border-gb-bg-t">
|
<div className="flex items-center gap-x-1 md:gap-x-0.5 pt-0.5 border-t border-gb-bg-t">
|
||||||
{/* + file upload */}
|
{/* + file upload */}
|
||||||
<input
|
<input
|
||||||
ref={fileInputRef}
|
ref={fileInputRef}
|
||||||
|
|||||||
Reference in New Issue
Block a user