feat(ai-scribe): Fix click outside during scribe generating response, scribe be closed

This commit is contained in:
dab246
2025-12-18 16:03:01 +07:00
committed by Dat H. Pham
parent 96b73aa971
commit 863bc115bb
2 changed files with 9 additions and 1 deletions
@@ -67,6 +67,7 @@ class AiScribeModalManager {
crossAxisAlignment: crossAxisAlignment, crossAxisAlignment: crossAxisAlignment,
onSelectAiScribeSuggestionAction: onSelectAiScribeSuggestionAction, onSelectAiScribeSuggestionAction: onSelectAiScribeSuggestionAction,
), ),
barrierDismissible: false,
barrierColor: AIScribeColors.dialogBarrier, barrierColor: AIScribeColors.dialogBarrier,
); );
} }
@@ -109,7 +109,7 @@ class _AiScribeSuggestionWidgetState extends State<AiScribeSuggestionWidget> {
return PointerInterceptor( return PointerInterceptor(
child: GestureDetector( child: GestureDetector(
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
onTap: Navigator.of(context).pop, onTap: _handleClickOutside,
child: Stack( child: Stack(
children: [ children: [
PositionedDirectional( PositionedDirectional(
@@ -194,4 +194,11 @@ class _AiScribeSuggestionWidgetState extends State<AiScribeSuggestionWidget> {
bool get _hasAnchor => bool get _hasAnchor =>
widget.buttonPosition != null && widget.buttonSize != null; widget.buttonPosition != null && widget.buttonSize != null;
void _handleClickOutside() {
final result = _state.value.getOrElse(() => UIState.idle);
if (result is GenerateAITextSuccess || result is GenerateAITextFailure) {
Navigator.of(context).pop();
}
}
} }