diff --git a/assets/components/tracking/WatchlistForm.tsx b/assets/components/tracking/WatchlistForm.tsx index 38909c1..5d08ba9 100644 --- a/assets/components/tracking/WatchlistForm.tsx +++ b/assets/components/tracking/WatchlistForm.tsx @@ -1,10 +1,11 @@ -import {Button, Form, FormInstance, Input, Select, Space} from "antd"; +import {Button, Form, FormInstance, Input, Select, SelectProps, Space, Tag} from "antd"; import {t} from "ttag"; -import {ApiOutlined, MinusCircleOutlined, PlusOutlined, ThunderboltFilled} from "@ant-design/icons"; +import {ApiOutlined, MinusCircleOutlined, PlusOutlined} from "@ant-design/icons"; import React from "react"; -import {EventAction} from "../../utils/api"; import {Connector} from "../../utils/api/connectors"; +import {actionToColor, domainEvent} from "../search/EventTimeline"; +type TagRender = SelectProps['tagRender']; const formItemLayout = { labelCol: { @@ -27,60 +28,51 @@ const formItemLayoutWithOutLabel = { export function WatchlistForm({form, connectors, onCreateWatchlist}: { form: FormInstance, connectors: (Connector & { id: string })[] - onCreateWatchlist: (values: { domains: string[], triggers: { event: string, action: string }[] }) => void + onCreateWatchlist: (values: { domains: string[], emailTriggers: string[] }) => void }) { + const domainEventTranslated = domainEvent() - const triggerEventItems: { label: string, value: EventAction }[] = [ - { - label: t`When a domain is expired`, - value: 'expiration' - }, - { - label: t`When a domain is deleted`, - value: 'deletion' - }, - { - label: t`When a domain is updated`, - value: 'last changed' - }, - { - label: t`When a domain is transferred`, - value: 'transfer' - }, - { - label: t`When a domain is locked`, - value: 'locked' - }, - { - label: t`When a domain is unlocked`, - value: 'unlocked' - }, - { - label: t`When a domain is reregistered`, - value: 'reregistration' - }, - { - label: t`When a domain is reinstantiated`, - value: 'reinstantiation' - }, - { - label: t`When a domain is registered`, - value: 'registration' - } - ] - - const triggerActionItems = [ - { - label: t`Send me an email`, - value: 'email' - } - ] + const triggerTagRenderer: TagRender = (props) => { + const {value, closable, onClose} = props; + const onPreventMouseDown = (event: React.MouseEvent) => { + event.preventDefault(); + event.stopPropagation(); + }; + return ( + + {domainEventTranslated[value as keyof typeof domainEventTranslated]} + + ) + } return
+ + + )} - { - if (!domains || domains.length < 1) { - return Promise.reject(new Error(t`At least one domain trigger`)); - } - }, - }, - ]} + - {(fields, {add, remove}, {errors}) => ( - <> - {fields.map((field, index) => ( - - - - - - + { const domainsURI = values.domains.map(d => '/api/domains/' + d) postWatchlist({ domains: domainsURI, - triggers: values.triggers, + triggers: values.emailTriggers.map(t => ({event: t, action: 'email'})), connector: values.connector !== undefined ? '/api/connectors/' + values.connector : undefined }).then((w) => { form.resetFields() diff --git a/translations/translations.pot b/translations/translations.pot index f7bb925..9963b84 100644 --- a/translations/translations.pot +++ b/translations/translations.pot @@ -56,16 +56,14 @@ msgstr "" #: assets/components/tracking/ConnectorForm.tsx:97 #: assets/components/tracking/ConnectorForm.tsx:110 #: assets/components/tracking/ConnectorForm.tsx:119 -#: assets/components/tracking/WatchlistForm.tsx:110 -#: assets/components/tracking/WatchlistForm.tsx:169 -#: assets/components/tracking/WatchlistForm.tsx:179 +#: assets/components/tracking/WatchlistForm.tsx:102 #: assets/pages/LoginPage.tsx:60 #: assets/pages/LoginPage.tsx:68 msgid "Required" msgstr "" #: assets/components/search/DomainSearchBar.tsx:26 -#: assets/components/tracking/WatchlistForm.tsx:113 +#: assets/components/tracking/WatchlistForm.tsx:105 msgid "This domain name does not appear to be valid" msgstr "" @@ -113,96 +111,63 @@ msgstr "" msgid "Noc" msgstr "" -#: assets/components/tracking/WatchlistForm.tsx:35 -msgid "When a domain is expired" +#: assets/components/tracking/WatchlistForm.tsx:60 +msgid "Name" msgstr "" -#: assets/components/tracking/WatchlistForm.tsx:39 -msgid "When a domain is deleted" +#: assets/components/tracking/WatchlistForm.tsx:71 +msgid "Watchlist Name" msgstr "" -#: assets/components/tracking/WatchlistForm.tsx:43 -msgid "When a domain is updated" +#: assets/components/tracking/WatchlistForm.tsx:72 +msgid "Naming the watchlist makes it easier to find in the list below." msgstr "" -#: assets/components/tracking/WatchlistForm.tsx:47 -msgid "When a domain is transferred" -msgstr "" - -#: assets/components/tracking/WatchlistForm.tsx:51 -msgid "When a domain is locked" -msgstr "" - -#: assets/components/tracking/WatchlistForm.tsx:55 -msgid "When a domain is unlocked" -msgstr "" - -#: assets/components/tracking/WatchlistForm.tsx:59 -msgid "When a domain is reregistered" -msgstr "" - -#: assets/components/tracking/WatchlistForm.tsx:63 -msgid "When a domain is reinstantiated" -msgstr "" - -#: assets/components/tracking/WatchlistForm.tsx:67 -msgid "When a domain is registered" -msgstr "" - -#: assets/components/tracking/WatchlistForm.tsx:74 -msgid "Send me an email" -msgstr "" - -#: assets/components/tracking/WatchlistForm.tsx:90 +#: assets/components/tracking/WatchlistForm.tsx:82 msgid "At least one domain name" msgstr "" -#: assets/components/tracking/WatchlistForm.tsx:101 +#: assets/components/tracking/WatchlistForm.tsx:93 #: assets/components/tracking/WatchlistsList.tsx:21 msgid "Domain names" msgstr "" -#: assets/components/tracking/WatchlistForm.tsx:119 +#: assets/components/tracking/WatchlistForm.tsx:111 msgid "Domain name" msgstr "" -#: assets/components/tracking/WatchlistForm.tsx:136 +#: assets/components/tracking/WatchlistForm.tsx:128 msgid "Add a Domain name" msgstr "" -#: assets/components/tracking/WatchlistForm.tsx:149 -msgid "At least one domain trigger" +#: assets/components/tracking/WatchlistForm.tsx:135 +#: assets/components/tracking/WatchlistsList.tsx:25 +msgid "Tracked events" msgstr "" -#: assets/components/tracking/WatchlistForm.tsx:160 -msgid "Domain trigger" -msgstr "" - -#: assets/components/tracking/WatchlistForm.tsx:173 -msgid "If this happens" -msgstr "" - -#: assets/components/tracking/WatchlistForm.tsx:183 -msgid "Then do that" -msgstr "" - -#: assets/components/tracking/WatchlistForm.tsx:203 -msgid "Add a Trigger" +#: assets/components/tracking/WatchlistForm.tsx:137 +msgid "At least one trigger" msgstr "" #: assets/components/tracking/ConnectorsList.tsx:28 -#: assets/components/tracking/WatchlistForm.tsx:210 -#: assets/components/tracking/WatchlistForm.tsx:223 +#: assets/components/tracking/WatchlistForm.tsx:159 +#: assets/components/tracking/WatchlistForm.tsx:173 msgid "Connector" msgstr "" +#: assets/components/tracking/WatchlistForm.tsx:169 +msgid "" +"Please make sure the connector information is valid to purchase a domain " +"that may be available soon." +msgstr "" + #: assets/components/tracking/ConnectorForm.tsx:131 -#: assets/components/tracking/WatchlistForm.tsx:235 +#: assets/components/tracking/WatchlistForm.tsx:185 msgid "Create" msgstr "" #: assets/components/tracking/ConnectorForm.tsx:134 -#: assets/components/tracking/WatchlistForm.tsx:238 +#: assets/components/tracking/WatchlistForm.tsx:188 msgid "Reset" msgstr "" @@ -257,10 +222,6 @@ msgid "" "names via the Provider's API" msgstr "" -#: assets/components/tracking/WatchlistsList.tsx:25 -msgid "Tracked events" -msgstr "" - #: assets/components/tracking/WatchlistsList.tsx:34 msgid "Watchlist" msgstr ""