import React, {useEffect, useState} from "react" import {Flex, Modal, ModalProps, Select, Tag, Typography} from "antd" import {getWatchlists, Watchlist} from "../../../utils/api" import {t} from 'ttag' import {DomainToTag} from "../../../utils/functions/DomainToTag" function WatchlistOption({watchlist}: {watchlist: Watchlist}) { return {watchlist.name} {watchlist.domains.map(d => )} } interface WatchlistSelectionModalProps { onFinish: (watchlist: Watchlist) => Promise|void description?: string open?: boolean modalProps?: Partial } export default function WatchlistSelectionModal(props: WatchlistSelectionModalProps) { const [watchlists, setWatchlists] = useState() const [selectedWatchlist, setSelectedWatchlist] = useState() const [validationLoading, setValidationLoading] = useState(false) useEffect(() => { getWatchlists().then(list => setWatchlists(list["hydra:member"])) }, []) const onFinish = () => { const promise = props.onFinish(selectedWatchlist as Watchlist) if (promise) { setValidationLoading(true) promise.finally(() => { setSelectedWatchlist(undefined) setValidationLoading(false) }) } else { setSelectedWatchlist(undefined) } } return { props.description || t`Select one of your available watchlists` }