content method
Implementation
Future<void> content({
required String title,
required String imageUrl,
required String deepLinkUrl,
}) async {
try {
final resolvedUrl = resolveImageUrl(imageUrl);
final uri = Uri.tryParse(resolvedUrl);
if (uri == null) {
ckError('Invalid image URL: $imageUrl');
return;
}
final response = await http.get(uri);
if (response.statusCode != 200) {
ckError('Failed to fetch image ($uri): status ${response.statusCode}');
return;
}
final sanitizedTitle = title.replaceAll(RegExp(r'[\\/:*?"<>|]'), '_');
final tempDir = await getTemporaryDirectory();
final file = File('${tempDir.path}/$sanitizedTitle.jpg');
await file.writeAsBytes(response.bodyBytes);
final xFile = XFile(file.path);
final params = ShareParams(
text: '$title\n$deepLinkUrl',
files: [xFile],
title: title,
subject: title,
fileNameOverrides: ['$sanitizedTitle.jpg'],
previewThumbnail: xFile,
);
await SharePlus.instance.share(params);
file.delete();
} catch (e) {
ckError('Error sharing: $e');
}
}