import { useState } from "react"; import { FormattedMessage, useIntl } from "react-intl"; import { ExternalLink } from "../external-link"; import { FileUploader } from "../file-uploader"; import { DefaultButton, WarningButton } from "../buttons"; import { CardType, NewCard } from "."; interface CardDialogProps { header?: string; cta?: string; cancelCta?: string; card?: CardType; onSave(ev: NewCard): void; onCancel(): void; } export function CardDialog({ header, cta, cancelCta, card, onSave, onCancel }: CardDialogProps) { const [title, setTitle] = useState(card?.title ?? ""); const [image, setImage] = useState(card?.image); const [content, setContent] = useState(card?.content ?? ""); const [link, setLink] = useState(card?.link ?? ""); const { formatMessage } = useIntl(); return (

{header || }

{/* TITLE */} setTitle(e.target.value)} placeholder={formatMessage({ defaultMessage: "e.g. about me" })} /> {/* IMAGE */} {image && ( <> setImage(undefined)}> )} {image && ( <> {/* IMAGE LINK */} setLink(e.target.value)} /> )} {/* CONTENT */}