diff --git a/scribe/lib/scribe/ai/presentation/widgets/modal/ai_scribe_modal_widget.dart b/scribe/lib/scribe/ai/presentation/widgets/modal/ai_scribe_modal_widget.dart index 0d944eb9d..9ad44f3a5 100644 --- a/scribe/lib/scribe/ai/presentation/widgets/modal/ai_scribe_modal_widget.dart +++ b/scribe/lib/scribe/ai/presentation/widgets/modal/ai_scribe_modal_widget.dart @@ -72,6 +72,10 @@ class AiScribeModalWidget extends StatelessWidget { ); if (buttonPosition != null && buttonSize != null) { + final keyboardHeight = MediaQuery.of(context).viewInsets.bottom; + final screenSize = MediaQuery.of(context).size; + final availableHeight = screenSize.height - keyboardHeight; + final maxHeightModal = hasContent ? AIScribeSizes.searchBarMinHeight + AIScribeSizes.fieldSpacing + @@ -81,7 +85,7 @@ class AiScribeModalWidget extends StatelessWidget { final layoutResult = AnchoredModalLayoutCalculator.calculate( input: AnchoredModalLayoutInput( - screenSize: MediaQuery.of(context).size, + screenSize: Size(screenSize.width, availableHeight), anchorPosition: buttonPosition!, anchorSize: buttonSize!, menuSize: Size( diff --git a/scribe/lib/scribe/ai/presentation/widgets/modal/ai_scribe_suggestion_widget.dart b/scribe/lib/scribe/ai/presentation/widgets/modal/ai_scribe_suggestion_widget.dart index 0c2944ae6..3af57b73b 100644 --- a/scribe/lib/scribe/ai/presentation/widgets/modal/ai_scribe_suggestion_widget.dart +++ b/scribe/lib/scribe/ai/presentation/widgets/modal/ai_scribe_suggestion_widget.dart @@ -49,7 +49,9 @@ class _AiScribeSuggestionWidgetState extends State @override Widget build(BuildContext context) { - final screenSize = MediaQuery.sizeOf(context); + final keyboardHeight = MediaQuery.of(context).viewInsets.bottom; + final screenSize = MediaQuery.of(context).size; + final availableHeight = screenSize.height - keyboardHeight; final modalWidth = min( screenSize.width * AIScribeSizes.mobileFactor, @@ -57,7 +59,7 @@ class _AiScribeSuggestionWidgetState extends State ); final modalMaxHeight = min( - screenSize.height * AIScribeSizes.mobileFactor, + availableHeight * AIScribeSizes.mobileFactor, AIScribeSizes.suggestionModalMaxHeight, ); @@ -76,7 +78,7 @@ class _AiScribeSuggestionWidgetState extends State } final layout = AnchoredModalLayoutCalculator.calculateAnchoredSuggestLayout( - screenSize: screenSize, + screenSize: Size(screenSize.width, availableHeight), anchorPosition: widget.buttonPosition!, anchorSize: widget.buttonSize!, menuSize: Size(modalWidth, modalMaxHeight),