fix(mobile): mobile keyboard padding (#15365)

#### PR Dependency Tree


* **PR #15365** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved mobile keyboard and toolbar layout handling when the keyboard
overlays or resizes app content.
- Prevented incorrect extra spacing when Android applies keyboard insets
directly.
- Updated toolbar sizing and visibility states for smoother transitions.

- **Style**
- Adjusted mobile bottom spacing to account for keyboard height, safe
areas, and toolbar height.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
DarkSky
2026-07-28 13:02:38 +08:00
committed by GitHub
parent e7ec8a1032
commit b6fc0a2192
6 changed files with 42 additions and 31 deletions
@@ -45,15 +45,19 @@ export function KeyboardToolbarExtension(
override mounted() {
this._disposables.add(
affineVirtualKeyboardProvider.onChange(({ visible, height }) => {
batch(() => {
if (visible && this.staticHeight$.peek() !== height) {
this.staticHeight$.value = height;
}
this.visible$.value = visible;
this.height$.value = height;
});
})
affineVirtualKeyboardProvider.onChange(
({ visible, height, overlaysContent }) => {
const layoutHeight = overlaysContent === false ? 0 : height;
batch(() => {
if (visible && this.staticHeight$.peek() !== height) {
this.staticHeight$.value = height;
}
this.visible$.value = visible;
this.height$.value = layoutHeight;
});
}
)
);
}