import { Row, Box, Icon, BaseButton } from '@tlon/indigo-react'; import { useEffect, useState } from 'react'; import { useInvites } from './useInvites'; import { generateCsvName } from 'lib/utils/invite'; import { DEFAULT_CSV_NAME } from 'lib/constants'; import Point from 'lib/types/Point'; interface CSVModalProps { point: Point; invitesUpdating: boolean; } export const CSVButton = ({ point, invitesUpdating }: CSVModalProps) => { const { generateCsv } = useInvites(); const [csv, setCsv] = useState(null); const [error, setError] = useState(''); useEffect(() => { if (invitesUpdating) { return; } try { const csv = generateCsv(); setCsv(csv); } catch (e) { setError((e as Error).message); } }, [generateCsv, invitesUpdating]); if (!csv || invitesUpdating) { return ( CSV ); } return ( CSV ); };