import Share from 'react-native-share' import { getCycleDaysSortedByDate } from '../../../db' import getDataAsCsvDataUri from '../../../lib/import-export/export-to-csv' import alertError from '../alert-error' import settings from '../../../i18n/en/settings' import { EXPORT_FILE_NAME } from './constants' import RNFS from 'react-native-fs' export default async function exportData() { let data const labels = settings.export const cycleDaysByDate = getCycleDaysSortedByDate() if (!cycleDaysByDate.length) return alertError(labels.errors.noData) try { data = getDataAsCsvDataUri(cycleDaysByDate) if (!data) { return alertError(labels.errors.noData) } } catch (err) { console.error(err) return alertError(labels.errors.couldNotConvert) } try { const path = `${RNFS.DocumentDirectoryPath}/${EXPORT_FILE_NAME}` await RNFS.writeFile(path, data) await Share.open({ title: labels.title, url: `file://${path}`, subject: labels.subject, type: 'text/csv', showAppsToView: true }) } catch (err) { console.error(err) return alertError(labels.errors.problemSharing) } }