From fb4c0db9360ea604638608b07d706d23d016a8b9 Mon Sep 17 00:00:00 2001 From: tfomkin Date: Wed, 28 Jan 2026 00:30:25 +0800 Subject: [PATCH 1/3] fix: disable ScreenWrapper scroll when isKeyboardAvoiding is true, custom bottom offset added --- apps/mobile/app/(main)/chat/create.tsx | 2 +- .../ui/keyboard-avoiding-view/src/lib/component.tsx | 7 ++++--- .../shared/ui/screen-wrapper/src/lib/component.tsx | 13 ++++++++++--- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/apps/mobile/app/(main)/chat/create.tsx b/apps/mobile/app/(main)/chat/create.tsx index 0f679f4..6b62115 100644 --- a/apps/mobile/app/(main)/chat/create.tsx +++ b/apps/mobile/app/(main)/chat/create.tsx @@ -47,7 +47,7 @@ export default function CreateChatScreen(): ReactElement { header: , }} safeAreaProps={{ edges: [] }} - keyBoardAvoidingProps={{ enabled: !isBottomSheetInputFocused }}> + keyBoardAvoidingProps={{ enabled: !isBottomSheetInputFocused, bottomOffset: 60 }}> & { onFocus?: ((event: any) => void) | null; contentContainerStyleKeyboardShown?: StyleProp; enabled?: boolean; + bottomOffset?: number; }; // TODO: Research how use nativewind here export const AppKeyboardAvoidingView: ComponentType = ({ children, ...props }) => { - const { onFocus, ...restProps } = props; + const { onFocus, contentContainerStyle, bottomOffset, ...restProps } = props; return ( {children} diff --git a/libs/mobile/shared/ui/screen-wrapper/src/lib/component.tsx b/libs/mobile/shared/ui/screen-wrapper/src/lib/component.tsx index 39dab46..2be92ca 100644 --- a/libs/mobile/shared/ui/screen-wrapper/src/lib/component.tsx +++ b/libs/mobile/shared/ui/screen-wrapper/src/lib/component.tsx @@ -25,13 +25,20 @@ export function ScreenWrapper({ isKeyboardAvoiding, keyBoardAvoidingProps, }: PropsWithChildren): ReactElement { - const { header, ...restScreenProps } = screenProps || {}; + const { header, scrollDisabled, ...restScreenProps } = screenProps || {}; + + const effectiveScrollDisabled = isKeyboardAvoiding ? true : scrollDisabled; + const content = isKeyboardAvoiding ? ( - {children} + + {children} + ) : ( - {children} + + {children} + ); return ( From 6ae9ce7fdbf429992e917a262ed9e7f7fae55903 Mon Sep 17 00:00:00 2001 From: tfomkin Date: Wed, 28 Jan 2026 00:33:30 +0800 Subject: [PATCH 2/3] fix: KnowledgeResponse items transform fix --- .../api/src/lib/knowledge/models/knowledge-response.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/shared/data-access/api/src/lib/knowledge/models/knowledge-response.ts b/libs/shared/data-access/api/src/lib/knowledge/models/knowledge-response.ts index 387f00f..5851bed 100644 --- a/libs/shared/data-access/api/src/lib/knowledge/models/knowledge-response.ts +++ b/libs/shared/data-access/api/src/lib/knowledge/models/knowledge-response.ts @@ -1,8 +1,9 @@ -import { Expose } from 'class-transformer'; +import { Expose, Type } from 'class-transformer'; import { Knowledge } from './knowledge'; export class KnowledgeResponse { @Expose() + @Type(() => Knowledge) public items: Array; @Expose() From 67d80267ca5640b60bdd86efc27d642ca3dc3a30 Mon Sep 17 00:00:00 2001 From: tfomkin Date: Fri, 30 Jan 2026 13:56:00 +0800 Subject: [PATCH 3/3] chore: props simplified --- .../shared/ui/screen-wrapper/src/lib/component.tsx | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/libs/mobile/shared/ui/screen-wrapper/src/lib/component.tsx b/libs/mobile/shared/ui/screen-wrapper/src/lib/component.tsx index 2be92ca..ba54d59 100644 --- a/libs/mobile/shared/ui/screen-wrapper/src/lib/component.tsx +++ b/libs/mobile/shared/ui/screen-wrapper/src/lib/component.tsx @@ -25,20 +25,16 @@ export function ScreenWrapper({ isKeyboardAvoiding, keyBoardAvoidingProps, }: PropsWithChildren): ReactElement { - const { header, scrollDisabled, ...restScreenProps } = screenProps || {}; - - const effectiveScrollDisabled = isKeyboardAvoiding ? true : scrollDisabled; + const { header, ...restScreenProps } = screenProps || {}; const content = isKeyboardAvoiding ? ( - + {children} ) : ( - - {children} - + {children} ); return (