TF-3734 Fix cannot open email as new tab on safari v16.6

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-05-22 12:58:12 +07:00
committed by Dat H. Pham
parent db7f3ae4d8
commit 798f570491
2 changed files with 34 additions and 7 deletions
+13 -7
View File
@@ -1,4 +1,5 @@
import 'package:core/utils/app_logger.dart';
import 'package:core/core.dart';
import 'package:core/utils/html/html_utils.dart';
import 'package:date_format/date_format.dart' as date_format;
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -9,6 +10,7 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/localizations/language_code_constants.dart';
import 'package:tmail_ui_user/main/utils/app_config.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:tmail_ui_user/main/universal_import/html_stub.dart' as html;
class AppUtils {
const AppUtils._();
@@ -31,12 +33,16 @@ class AppUtils {
);
}
static Future<bool> launchLink(String url, {bool isNewTab = true}) async {
return await launchUrl(
Uri.parse(url),
webOnlyWindowName: isNewTab ? '_blank' : '_self',
mode: LaunchMode.externalApplication
);
static void launchLink(String url, {bool isNewTab = true}) {
if (PlatformInfo.isWeb && HtmlUtils.isSafariBelow17()) {
html.window.open(url, isNewTab ? '_blank' : '_self');
} else {
launchUrl(
Uri.parse(url),
webOnlyWindowName: isNewTab ? '_blank' : '_self',
mode: LaunchMode.externalApplication,
);
}
}
static bool isDirectionRTL(BuildContext context) {