import React, { useState } from 'react'; import { FormattedMessage } from 'react-intl'; import classNames from 'classnames'; import Link from 'components/common/Link'; import Table from 'components/common/Table'; import Button from 'components/common/Button'; import PageHeader from 'components/layout/PageHeader'; import Modal from 'components/common/Modal'; import WebsiteEditForm from 'components/forms/WebsiteEditForm'; import DeleteForm from 'components/forms/DeleteForm'; import TrackingCodeForm from 'components/forms/TrackingCodeForm'; import ShareUrlForm from 'components/forms/ShareUrlForm'; import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; import ButtonLayout from 'components/layout/ButtonLayout'; import Toast from 'components/common/Toast'; import Favicon from 'components/common/Favicon'; import Pen from 'assets/pen.svg'; import Trash from 'assets/trash.svg'; import Plus from 'assets/plus.svg'; import Code from 'assets/code.svg'; import LinkIcon from 'assets/link.svg'; import useFetch from 'hooks/useFetch'; import styles from './WebsiteSettings.module.css'; export default function WebsiteSettings() { const [editWebsite, setEditWebsite] = useState(); const [deleteWebsite, setDeleteWebsite] = useState(); const [addWebsite, setAddWebsite] = useState(); const [showCode, setShowCode] = useState(); const [showUrl, setShowUrl] = useState(); const [saved, setSaved] = useState(0); const [message, setMessage] = useState(); const { data } = useFetch(`/api/websites`, {}, [saved]); const Buttons = row => ( {row.share_id && ( ); const DetailsLink = ({ website_id, name, domain }) => ( {name} ); const columns = [ { key: 'name', label: , className: 'col-6 col-xl-4', render: DetailsLink, }, { key: 'domain', label: , className: 'col-6 col-xl-4', }, { key: 'action', className: classNames(styles.buttons, 'col-12 col-xl-4 pt-2 pt-xl-0'), render: Buttons, }, ]; function handleSave() { setSaved(state => state + 1); setMessage(); handleClose(); } function handleClose() { setAddWebsite(null); setEditWebsite(null); setDeleteWebsite(null); setShowCode(null); setShowUrl(null); } if (!data) { return null; } const empty = ( } > ); return ( <>
{editWebsite && ( }> )} {addWebsite && ( }> )} {deleteWebsite && ( } > )} {showCode && ( }> )} {showUrl && ( }> )} {message && setMessage(null)} />} ); }