content method

Future<void> content({
  1. required String title,
  2. required String imageUrl,
  3. required String deepLinkUrl,
})

Implementation

Future<void> content({
  required String title,
  required String imageUrl,
  required String deepLinkUrl,
}) async {
  try {
    final response = await http.get(
      Uri.parse('${coreKitInstance.imageBaseUrl}$imageUrl'),
    );
    if (response.statusCode != 200) {
      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');
  }
}