From 33ee7ea2f4874e7ff01b6023bc4791442c18f16d Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Thu, 18 Jun 2026 13:30:37 -0500 Subject: [PATCH] fix: resolve web build failures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update SDK constraint to >=3.0.0 <4.0.0 (Flutter stable uses Dart 3.x) - Remove flutter_email_sender (no web support) — replace with mailto: via url_launcher - support.dart: unified _sendEmail works on both web and mobile Co-Authored-By: Claude Sonnet 4.6 --- lib/src/presentation/screens/support.dart | 27 +++-------------------- pubspec.yaml | 3 +-- 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/lib/src/presentation/screens/support.dart b/lib/src/presentation/screens/support.dart index a2a8572..777ab63 100644 --- a/lib/src/presentation/screens/support.dart +++ b/lib/src/presentation/screens/support.dart @@ -1,7 +1,5 @@ import 'package:community_material_icon/community_material_icon.dart'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_email_sender/flutter_email_sender.dart'; import 'package:prosappco/src/components/pop_appbar.dart'; import 'package:prosappco/src/models/setting_model.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -26,21 +24,8 @@ class SsupportStateScreen extends State { } Future _sendEmail(String recipients) async { - final Email email = Email( - body: body, - subject: subject, - recipients: [recipients], - isHTML: false, - ); - - await FlutterEmailSender.send(email); - } - - void _sendEmailWeb(String recipients) async { - final email = 'mailto:$recipients?subject=${Uri.encodeComponent(recipients)}&body=${Uri.encodeComponent(body)}'; - if (await canLaunch(email)) { - await launch(email); - } else {} + final uri = 'mailto:$recipients?subject=${Uri.encodeComponent(subject)}&body=${Uri.encodeComponent(body)}'; + if (await canLaunch(uri)) await launch(uri); } @override @@ -105,13 +90,7 @@ class SsupportStateScreen extends State { ), const SizedBox(width: 20), ElevatedButton( - onPressed: () { - if (kIsWeb) { - _sendEmailWeb(settings?.email ?? ''); - } else { - _sendEmail(settings?.email ?? ''); - } - }, + onPressed: () => _sendEmail(settings?.email ?? ''), style: ElevatedButton.styleFrom( foregroundColor: Colors.white, backgroundColor: const Color(0xFF2BA4EC), diff --git a/pubspec.yaml b/pubspec.yaml index b88d1fe..487da30 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.11+11 environment: - sdk: '>=2.19.3 <3.0.0' + sdk: '>=3.0.0 <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -55,7 +55,6 @@ dependencies: geocoding: ^2.1.0 url_launcher: ^6.1.10 community_material_icon: ^5.9.55 - flutter_email_sender: ^5.2.0 webview_flutter: ^4.4.1 responsive_builder: ^0.7.0 flutter_local_notifications: ^14.1.1