refactor: drop mobile keyboard/viewport hacks, rely on browser
Remove body position:fixed lock, visualViewport listener in MainLayout (keyboard-inset heuristics, scroll-to-zero lock, focusin/focusout RAF), [data-keyboard-avoid-active] translateY rule, and related CSS vars (--oc-keyboard-inset, --oc-keyboard-avoid-offset, --oc-keyboard-home-indicator, --oc-visual-viewport-offset-top). Strip data-keyboard-avoid* attrs and keyboardAvoid props from Dialog/ScrollableOverlay and consumers. Drop isKeyboardOpen from useUIStore. With body unlocked and the layout plain flex-col (h-dvh), the browser shrinks the viewport on keyboard open naturally — composer sits above the keyboard, header stops lagging, input no longer jitters. FilesView.nudgeEditorSelectionAboveKeyboard now derives the occluded bottom locally from visualViewport + documentElement.clientHeight.
This commit is contained in:
@@ -76,7 +76,6 @@ interface TerminalViewportProps {
|
||||
className?: string;
|
||||
enableTouchScroll?: boolean;
|
||||
autoFocus?: boolean;
|
||||
keyboardAvoidTargetId?: string;
|
||||
}
|
||||
|
||||
const TerminalViewport = React.forwardRef<TerminalController, TerminalViewportProps>(
|
||||
@@ -92,7 +91,6 @@ const TerminalViewport = React.forwardRef<TerminalController, TerminalViewportPr
|
||||
className,
|
||||
enableTouchScroll,
|
||||
autoFocus = true,
|
||||
keyboardAvoidTargetId,
|
||||
},
|
||||
ref
|
||||
) => {
|
||||
@@ -1514,7 +1512,6 @@ const TerminalViewport = React.forwardRef<TerminalController, TerminalViewportPr
|
||||
tabIndex={-1}
|
||||
enterKeyHint="send"
|
||||
data-terminal-hidden-input="true"
|
||||
data-keyboard-avoid-target-id={keyboardAvoidTargetId}
|
||||
aria-label="Terminal input"
|
||||
aria-hidden="true"
|
||||
style={{
|
||||
@@ -1542,7 +1539,6 @@ const TerminalViewport = React.forwardRef<TerminalController, TerminalViewportPr
|
||||
tabIndex={-1}
|
||||
enterKeyHint="send"
|
||||
data-terminal-hidden-input="true"
|
||||
data-keyboard-avoid-target-id={keyboardAvoidTargetId}
|
||||
aria-label="Terminal input"
|
||||
aria-hidden="true"
|
||||
style={{
|
||||
|
||||
Reference in New Issue
Block a user