first commit

This commit is contained in:
2026-02-07 15:57:09 +07:00
commit 157096f164
1153 changed files with 415766 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
class UrlLauncher {
static Future<void> handleLaunchURL(BuildContext context, String url, bool isEmail) async {
try {
final parsedUrl = Uri.tryParse(url);
if (parsedUrl == null || !parsedUrl.hasScheme) {
throw const FormatException('Invalid URL format');
}
final launched = await launchUrl(
parsedUrl,
mode: LaunchMode.externalApplication,
);
if (!launched && context.mounted) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Could not launch ${isEmail ? 'Email' : 'Sms'}')),
);
}
} catch (e, stackTrace) {
if (context.mounted) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Could not launch the ${isEmail ? 'Email' : 'Sms'}')),
);
}
// Consider logging the error for debugging
debugPrint('URL Launch Error: $e\n$stackTrace');
}
}
}