From 09b9fc6c65a75e3152879aa2b07e661f3a871292 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 6 Mar 2026 22:45:49 +0000 Subject: [PATCH 1/2] Fix YouTube webview gesture conflicts in media carousel Co-authored-by: Dara Adedeji --- lib/widgets/youtube_view.dart | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/widgets/youtube_view.dart b/lib/widgets/youtube_view.dart index b90c099f..965f4746 100644 --- a/lib/widgets/youtube_view.dart +++ b/lib/widgets/youtube_view.dart @@ -1,5 +1,6 @@ import 'dart:developer' show log; +import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart'; import 'package:icarus/const/youtube_handler.dart'; @@ -49,10 +50,16 @@ class _YoutubeViewState extends State with AutomaticKeepAliveClientMixin { @override bool get wantKeepAlive => true; + static final Set> + _youtubeGestureRecognizers = { + Factory(() => EagerGestureRecognizer()), + }; @override Widget build(BuildContext context) { super.build(context); + final videoId = + YoutubeHandler.extractYoutubeIdWithTimestamp(widget.youtubeLink); if (!isWebViewInitialized) { // showShadDialog( @@ -71,6 +78,7 @@ class _YoutubeViewState extends State ), Positioned.fill( child: InAppWebView( + gestureRecognizers: _youtubeGestureRecognizers, onLoadStart: (controller, url) { log("Youtube view loading"); }, @@ -81,8 +89,7 @@ class _YoutubeViewState extends State initialSettings: InAppWebViewSettings(allowBackgroundAudioPlaying: false), initialUrlRequest: URLRequest( - url: WebUri( - "https://embed.icarus-strats.xyz/?v=${YoutubeHandler.extractYoutubeIdWithTimestamp(widget.youtubeLink)}")), + url: WebUri("https://embed.icarus-strats.xyz/?v=$videoId")), ), ), ], From 09db4b6a34678fb1aebfc30bed1cbc29f1513eab Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 6 Mar 2026 22:50:49 +0000 Subject: [PATCH 2/2] Fix missing Factory import for webview gesture recognizer Co-authored-by: Dara Adedeji --- lib/widgets/youtube_view.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/widgets/youtube_view.dart b/lib/widgets/youtube_view.dart index 965f4746..994fc105 100644 --- a/lib/widgets/youtube_view.dart +++ b/lib/widgets/youtube_view.dart @@ -1,5 +1,6 @@ import 'dart:developer' show log; +import 'package:flutter/foundation.dart' show Factory; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart';