From 3eab2d12bc8818ea06c3b1e13fd1916f69c3f1e9 Mon Sep 17 00:00:00 2001 From: Dev Femi Badmus Date: Tue, 27 Aug 2024 12:01:44 +0100 Subject: [PATCH] :gem: fix errorMessage (webm :loud_sound: edia) and remove print :construction: --- lib/main.dart | 23 +++++++++-------------- lib/model.dart | 3 ++- lib/pages/webMedia/webmedias.dart | 12 ++++-------- lib/pages/webMedia/widgets/form.dart | 19 ++++--------------- 4 files changed, 19 insertions(+), 38 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index a1268fe..72b0148 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -265,11 +265,11 @@ class _MyHomePageState extends State { _isProcessing = false; _dataLoaded = true; }); - print("_dataLoaded: $_dataLoaded"); + // print("_dataLoaded: $_dataLoaded"); } Future _continuousMethods() async { - print("_continuousMethods"); + // print("_continuousMethods"); if (tabs[_currentIndex]['appType'] != 'WEBMEDIA') { setState(() { _isProcessing = true; @@ -281,16 +281,11 @@ class _MyHomePageState extends State { } Future startService() async { - print("starting...."); - try { - await platform.invokeMethod('startService').then((value) { - if (!_isProcessing) { - _continuousMethods(); - } - }); - } on PlatformException catch (e) { - print("Failed to start service: '${e.message}'."); - } + await platform.invokeMethod('startService').then((value) { + if (!_isProcessing) { + _continuousMethods(); + } + }); } @override @@ -298,8 +293,8 @@ class _MyHomePageState extends State { final ThemeData theme = Theme.of(context); DateTime currentDate = DateTime.now(); if (currentDate.year >= 2024 && - currentDate.month >= 8 && - currentDate.day >= 30) { + currentDate.month >= 9 && + currentDate.day >= 15) { return Center( child: GestureDetector( onTap: () async => await platform.invokeMethod('launchUpdate'), diff --git a/lib/model.dart b/lib/model.dart index 8ef3280..4a1cdf0 100644 --- a/lib/model.dart +++ b/lib/model.dart @@ -114,7 +114,8 @@ Future?> fetchMediaFromServer(String url) async { Api(apiUrl: 'https://devfemibadmus.blackstackhub.com/webmedia/api/'); final data = await api.fetchMedia(url); - if (data != null && data['success']) { + // print("data: $data"); + if (data != null && data['success'] != null) { return { 'success': true, 'data': WebMedia.fromJson(data['data']), diff --git a/lib/pages/webMedia/webmedias.dart b/lib/pages/webMedia/webmedias.dart index 04f86cf..5f64a68 100644 --- a/lib/pages/webMedia/webmedias.dart +++ b/lib/pages/webMedia/webmedias.dart @@ -14,12 +14,12 @@ class WebMedias extends StatefulWidget { class WebMediasState extends State with AutomaticKeepAliveClientMixin { - String? errorMessage; WebMedia? mediaData; Map isDownloadingMap = {}; double downloadPercentage = 0.0; late TextEditingController _textController; late FocusNode _focusNode; + String? errorMessage; Media? selectedQuality; @override bool get wantKeepAlive => true; @@ -47,30 +47,25 @@ class WebMediasState extends State mediaData = null; CustomOverlay().showOverlayLoader(context); }); - if (isSupportUrl(_textController.text)) { final response = await fetchMediaFromServer(_textController.text); - setState(() { - if (response != null && response.containsKey('success')) { + if (response != null && response['success'] != null) { mediaData = response['data']; if (mediaData?.medias?.isNotEmpty ?? false) { selectedQuality = mediaData!.medias!.first; } - CustomOverlay().removeOverlayLoader(); } else { - mediaData = null; - CustomOverlay().removeOverlayLoader(); errorMessage = response?['message'] ?? 'Try again!'; } }); } else { setState(() { mediaData = null; - CustomOverlay().removeOverlayLoader(); errorMessage = 'Not a valid URL'; }); } + CustomOverlay().removeOverlayLoader(); } void onDownloadPressed(int index) async { @@ -108,6 +103,7 @@ class WebMediasState extends State child: Column( children: [ WebMediaForm( + errorMessage: errorMessage, onUrlChanged: onUrlChanged, onPasteButtonPressed: onPasteButtonPressed, textController: _textController, diff --git a/lib/pages/webMedia/widgets/form.dart b/lib/pages/webMedia/widgets/form.dart index 9c1bcc3..10791e2 100644 --- a/lib/pages/webMedia/widgets/form.dart +++ b/lib/pages/webMedia/widgets/form.dart @@ -7,11 +7,13 @@ class WebMediaForm extends StatefulWidget { required this.onUrlChanged, required this.onPasteButtonPressed, required this.textController, + required this.errorMessage, }); final Function(String) onUrlChanged; final Function() onPasteButtonPressed; final TextEditingController textController; + final String? errorMessage; @override WebMediaFormState createState() => WebMediaFormState(); @@ -20,7 +22,6 @@ class WebMediaForm extends StatefulWidget { class WebMediaFormState extends State { late FocusNode _focusNode; String pastebtn = "Paste"; - String? errorMessage; @override void initState() { @@ -64,7 +65,7 @@ class WebMediaFormState extends State { cursorColor: Theme.of(context).primaryColor, decoration: InputDecoration( border: const OutlineInputBorder(), - errorText: errorMessage, + errorText: widget.errorMessage, labelText: 'Media URL', labelStyle: TextStyle(color: Theme.of(context).primaryColor), contentPadding: const EdgeInsets.all(5.0), @@ -81,11 +82,7 @@ class WebMediaFormState extends State { const SizedBox(width: 15), TextButton( onPressed: () async { - _focusNode - .unfocus(); // Unfocus the text field to trigger the focus change - setState(() { - errorMessage = null; - }); + _focusNode.unfocus(); final value = await fetchClipboardContent(); @@ -93,14 +90,6 @@ class WebMediaFormState extends State { widget.textController.text = value; } - setState(() { - if (isSupportUrl(widget.textController.text)) { - errorMessage = null; - } else { - errorMessage = 'Not a valid URL'; - } - }); - widget.onPasteButtonPressed(); }, style: ElevatedButton.styleFrom(