feat: update ConnectorForm UI

This commit is contained in:
Maël Gangloff
2025-02-19 22:21:20 +01:00
parent c552c865ab
commit 033fb3e1bf
11 changed files with 178 additions and 201 deletions

View File

@@ -1,37 +1,50 @@
import type { FormInstance, StepProps} from 'antd' import type { FormInstance} from 'antd'
import {Card, Col, Row, Steps, Typography} from 'antd' import {Button, Card, Col, Form, Input, Row, Steps, Typography} from 'antd'
import type {Connector} from '../../../utils/api/connectors' import type {Connector} from '../../../utils/api/connectors'
import {ConnectorProvider} from '../../../utils/api/connectors' import {ConnectorProvider} from '../../../utils/api/connectors'
import React, {useState} from 'react' import React, {useState} from 'react'
import {t} from "ttag" import {t} from "ttag"
import {BankOutlined, UserOutlined} from "@ant-design/icons" import {BankOutlined, LockOutlined, SignatureOutlined} from "@ant-design/icons"
import {providersConfig} from "../../../utils/providers" import {formItemLayoutWithOutLabel, providersConfig} from "../../../utils/providers"
import DefaultConnectorFormItems from "../../../utils/providers/forms/DefaultConnectorFormItems"
export function ConnectorForm({form, onCreate}: { form: FormInstance, onCreate: (values: Connector) => void }) { export function ConnectorForm({form, onCreate}: { form: FormInstance, onCreate: (values: Connector) => void }) {
const [provider, setProvider] = useState<ConnectorProvider>() const [provider, setProvider] = useState<ConnectorProvider>()
const [current, setCurrent] = useState(0) const [current, setCurrent] = useState(0)
const ProviderForm = provider !== undefined ? providersConfig[provider].form : undefined const ProviderForm = provider !== undefined ? providersConfig[provider].form : undefined
const next = () => setCurrent(current + 1)
const steps: StepProps[] = [ const prev = () => setCurrent(current - 1)
{
title: t`Registrar`,
icon: <BankOutlined/>,
},
{
title: t`Authentication`,
icon: <UserOutlined/>,
}
]
const next = () => {
setCurrent(current + 1)
}
return ( return (
<> <Form
<Steps current={current} items={steps} onChange={(c: number) => setCurrent(c)}/> {...formItemLayoutWithOutLabel}
form={form}
layout='horizontal'
labelCol={{span: 6}}
wrapperCol={{span: 14}}
onFinish={onCreate}
>
<Form.Item name="provider" noStyle>
<Input type="hidden"/>
</Form.Item>
<Steps current={current} items={[
{
title: t`Registrar`,
icon: <BankOutlined/>,
},
{
title: t`Authentication`,
icon: <LockOutlined/>,
disabled: current < 2
},
{
title: t`Consent`,
icon: <SignatureOutlined/>,
disabled: current < 1
}
]} onChange={(c: number) => setCurrent(c)}/>
<div style={{padding: 20}}> <div style={{padding: 20}}>
{current === 0 && ( {current === 0 && (
<> <>
@@ -57,13 +70,37 @@ export function ConnectorForm({form, onCreate}: { form: FormInstance, onCreate:
</> </>
)} )}
{current === 1 && ProviderForm && <ProviderForm form={form} onCreate={onCreate}/>} <div hidden={current !== 1}>
{ProviderForm && <ProviderForm form={form} onCreate={onCreate}/>}
</div>
<div hidden={current !== 2}>
{provider && <DefaultConnectorFormItems tosLink={providersConfig[provider].tosLink}/>}
</div>
<div style={{marginTop: 24}}>
{current > 0 &&
<Button style={{margin: '0 8px'}} onClick={() => prev()}>
{t`Previous`}
</Button>
}
{current === 1 &&
<Button type="primary" onClick={() => next()}>
{t`Next`}
</Button>
}
{current === 2 &&
<Button type='primary' htmlType='submit'>
{t`Create`}
</Button>
}
</div>
</div> </div>
<Typography.Text type='secondary'> <Typography.Text type='secondary'>
{t`This website is neither affiliated with nor sponsored by the registrars mentioned. {t`This website is neither affiliated with nor sponsored by the registrars mentioned.
The names and logos of these companies are used for informational purposes only and remain registered trademarks of their respective owners. The names and logos of these companies are used for informational purposes only and remain registered trademarks of their respective owners.
The use of their services via this website is subject to the terms and conditions set by each registrar and is the sole responsibility of the user.`} The use of their services via this website is subject to the terms and conditions set by each registrar and is the sole responsibility of the user.`}
</Typography.Text> </Typography.Text>
</> </Form>
) )
} }

View File

@@ -3,8 +3,9 @@ import {jt, t} from 'ttag'
import {DeleteFilled} from '@ant-design/icons' import {DeleteFilled} from '@ant-design/icons'
import React from 'react' import React from 'react'
import type {Connector} from '../../../utils/api/connectors' import type {Connector} from '../../../utils/api/connectors'
import { ConnectorProvider, deleteConnector} from '../../../utils/api/connectors' import {ConnectorProvider, deleteConnector} from '../../../utils/api/connectors'
import {providersConfig} from "../../../utils/providers" import {providersConfig} from "../../../utils/providers"
const {useToken} = theme const {useToken} = theme
export type ConnectorElement = Connector & { id: string, createdAt: string, watchlistCount: number } export type ConnectorElement = Connector & { id: string, createdAt: string, watchlistCount: number }
@@ -19,6 +20,7 @@ export function ConnectorsList({connectors, onDelete}: { connectors: ConnectorEl
return ( return (
<> <>
<Divider/>
{connectors.map(connector => { {connectors.map(connector => {
const createdAt = <Typography.Text strong> const createdAt = <Typography.Text strong>
{new Date(connector.createdAt).toLocaleString()} {new Date(connector.createdAt).toLocaleString()}
@@ -56,7 +58,6 @@ The creation date corresponds to the date on which you consented to the creation
</> </>
}/> }/>
</Card> </Card>
<Divider/>
</> </>
} }
)} )}

View File

@@ -96,7 +96,7 @@ export function WatchlistForm({form, connectors, onFinish, isCreation}: {
{ {
validator: async (_, domains) => { validator: async (_, domains) => {
if (!domains || domains.length < 1) { if (!domains || domains.length < 1) {
return await Promise.reject(new Error(t`At least one domain name`)) throw new Error(t`At least one domain name`)
} }
} }
} }

View File

@@ -38,7 +38,7 @@ export default function ConnectorPage() {
return ( return (
<Flex gap='middle' align='center' justify='center' vertical> <Flex gap='middle' align='center' justify='center' vertical>
<Card title={t`Create a Connector`} style={{width: '100%'}}> <Card title={t`Create a Connector`} style={{width: '100%'}} size='small'>
{contextHolder} {contextHolder}
<ConnectorForm form={form} onCreate={onCreateConnector}/> <ConnectorForm form={form} onCreate={onCreateConnector}/>
</Card> </Card>

View File

@@ -1,28 +1,17 @@
import type {FormInstance} from 'antd' import type {FormInstance} from 'antd'
import {Alert, Checkbox, Form, Input, Typography} from 'antd' import {Alert, Checkbox, Form, Input, Typography} from 'antd'
import React from 'react' import React from 'react'
import type {Connector} from '../../api/connectors'
import {ConnectorProvider} from '../../api/connectors' import {ConnectorProvider} from '../../api/connectors'
import {t} from 'ttag' import {t} from 'ttag'
import DefaultConnectorFormItems from "./DefaultConnectorFormItems"
import {formItemLayoutWithOutLabel, providersConfig} from "../index"
export default function AutoDnsConnectorForm({form, onCreate}: { export default function AutoDnsConnectorForm({form}: {
form: FormInstance, form: FormInstance
onCreate: (values: Connector) => void
}) { }) {
form.setFieldValue('provider', ConnectorProvider.AutoDNS) form.setFieldValue('provider', ConnectorProvider.AutoDNS)
return ( return (
<Form <>
{...formItemLayoutWithOutLabel}
form={form}
layout='horizontal'
labelCol={{span: 6}}
wrapperCol={{span: 14}}
onFinish={onCreate}
>
<Alert <Alert
message={t`This provider does not provide a list of supported TLD. Please double check if the domain you want to register is supported.`} message={t`This provider does not provide a list of supported TLD. Please double check if the domain you want to register is supported.`}
type='warning' type='warning'
@@ -91,8 +80,6 @@ export default function AutoDnsConnectorForm({form, onCreate}: {
>{t`Owner confirms his consent of domain order jobs`} >{t`Owner confirms his consent of domain order jobs`}
</Checkbox> </Checkbox>
</Form.Item> </Form.Item>
</>
<DefaultConnectorFormItems tosLink={providersConfig[ConnectorProvider.AutoDNS].tosLink}/>
</Form>
) )
} }

View File

@@ -1,13 +1,9 @@
import {Button, Checkbox, Form, Input, Typography} from "antd" import {Checkbox, Form, Typography} from "antd"
import {t} from "ttag" import {t} from "ttag"
import React from "react" import React from "react"
export default function DefaultConnectorFormItems({tosLink}: { tosLink: string }) { export default function DefaultConnectorFormItems({tosLink}: { tosLink: string }) {
return <> return <>
<Form.Item name="provider" noStyle>
<Input type="hidden" />
</Form.Item>
<Form.Item <Form.Item
valuePropName='checked' valuePropName='checked'
label={t`API Terms of Service`} label={t`API Terms of Service`}
@@ -45,12 +41,5 @@ export default function DefaultConnectorFormItems({tosLink}: { tosLink: string }
>{t`I waive my right of withdrawal regarding the purchase of domain names via the Provider's API`} >{t`I waive my right of withdrawal regarding the purchase of domain names via the Provider's API`}
</Checkbox> </Checkbox>
</Form.Item> </Form.Item>
<Form.Item style={{marginTop: '2em', textAlign: 'center'}}>
<Button type='primary' htmlType='submit'>
{t`Create`}
</Button>
</Form.Item>
</> </>
} }

View File

@@ -1,28 +1,17 @@
import type {FormInstance} from 'antd' import type {FormInstance} from 'antd'
import {Form, Input, Typography} from 'antd' import {Form, Input, Typography} from 'antd'
import React from 'react' import React from 'react'
import type {Connector} from '../../api/connectors'
import {ConnectorProvider} from '../../api/connectors' import {ConnectorProvider} from '../../api/connectors'
import {t} from 'ttag' import {t} from 'ttag'
import DefaultConnectorFormItems from "./DefaultConnectorFormItems"
import {formItemLayoutWithOutLabel, providersConfig} from "../index"
export default function GandiConnectorForm({form, onCreate}: { export default function GandiConnectorForm({form}: {
form: FormInstance, form: FormInstance
onCreate: (values: Connector) => void
}) { }) {
form.setFieldValue('provider', ConnectorProvider.Gandi) form.setFieldValue('provider', ConnectorProvider.Gandi)
return ( return (
<Form <>
{...formItemLayoutWithOutLabel}
form={form}
layout='horizontal'
labelCol={{span: 6}}
wrapperCol={{span: 14}}
onFinish={onCreate}
>
<Form.Item <Form.Item
label={t`Personal Access Token (PAT)`} label={t`Personal Access Token (PAT)`}
name={['authData', 'token']} name={['authData', 'token']}
@@ -44,8 +33,6 @@ export default function GandiConnectorForm({form, onCreate}: {
> >
<Input autoComplete='off' placeholder='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'/> <Input autoComplete='off' placeholder='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'/>
</Form.Item> </Form.Item>
<DefaultConnectorFormItems tosLink={providersConfig[ConnectorProvider.Gandi].tosLink}/> </>
</Form>
) )
} }

View File

@@ -1,29 +1,18 @@
import type {FormInstance} from 'antd' import type {FormInstance} from 'antd'
import {Form, Input, Typography} from 'antd' import {Form, Input, Typography} from 'antd'
import React from 'react' import React from 'react'
import type {Connector} from '../../api/connectors'
import {ConnectorProvider} from '../../api/connectors' import {ConnectorProvider} from '../../api/connectors'
import {t} from 'ttag' import {t} from 'ttag'
import DefaultConnectorFormItems from "./DefaultConnectorFormItems"
import {formItemLayoutWithOutLabel, providersConfig} from "../index"
export default function NamecheapConnectorForm({form, onCreate}: { export default function NamecheapConnectorForm({form}: {
form: FormInstance, form: FormInstance
onCreate: (values: Connector) => void
}) { }) {
form.setFieldValue('provider', ConnectorProvider.Namecheap) form.setFieldValue('provider', ConnectorProvider.Namecheap)
return ( return (
<Form <>
{...formItemLayoutWithOutLabel}
form={form}
layout='horizontal'
labelCol={{span: 6}}
wrapperCol={{span: 14}}
onFinish={onCreate}
>
<Form.Item <Form.Item
label={t`Username`} label={t`Username`}
name={['authData', 'ApiUser']} name={['authData', 'ApiUser']}
@@ -39,7 +28,6 @@ export default function NamecheapConnectorForm({form, onCreate}: {
> >
<Input autoComplete='off'/> <Input autoComplete='off'/>
</Form.Item> </Form.Item>
<DefaultConnectorFormItems tosLink={providersConfig[ConnectorProvider.Namecheap].tosLink}/> </>
</Form>
) )
} }

View File

@@ -1,28 +1,17 @@
import type {FormInstance} from 'antd' import type {FormInstance} from 'antd'
import {Alert, Form, Input, Typography} from 'antd' import {Alert, Form, Input, Typography} from 'antd'
import React from 'react' import React from 'react'
import type {Connector} from '../../api/connectors'
import {ConnectorProvider} from '../../api/connectors' import {ConnectorProvider} from '../../api/connectors'
import {t} from 'ttag' import {t} from 'ttag'
import DefaultConnectorFormItems from "./DefaultConnectorFormItems"
import {formItemLayoutWithOutLabel, providersConfig} from "../index"
export default function NamecomConnectorForm({form, onCreate}: { export default function NamecomConnectorForm({form}: {
form: FormInstance, form: FormInstance
onCreate: (values: Connector) => void
}) { }) {
form.setFieldValue('provider', ConnectorProvider["Name.com"]) form.setFieldValue('provider', ConnectorProvider["Name.com"])
return ( return (
<Form <>
{...formItemLayoutWithOutLabel}
form={form}
layout='horizontal'
labelCol={{span: 6}}
wrapperCol={{span: 14}}
onFinish={onCreate}
>
<Alert <Alert
message={t`This provider does not provide a list of supported TLD. Please double check if the domain you want to register is supported.`} message={t`This provider does not provide a list of supported TLD. Please double check if the domain you want to register is supported.`}
type='warning' type='warning'
@@ -43,7 +32,6 @@ export default function NamecomConnectorForm({form, onCreate}: {
> >
<Input autoComplete='off'/> <Input autoComplete='off'/>
</Form.Item> </Form.Item>
<DefaultConnectorFormItems tosLink={providersConfig[ConnectorProvider["Name.com"]].tosLink}/> </>
</Form>
) )
} }

View File

@@ -3,14 +3,10 @@ import {regionNames} from "../../../i18n"
import React, {useState} from 'react' import React, {useState} from 'react'
import type {FormInstance} from "antd" import type {FormInstance} from "antd"
import {Form, Input, Popconfirm, Select, Typography} from "antd" import {Form, Input, Popconfirm, Select, Typography} from "antd"
import type {Connector} from "../../api/connectors"
import {ConnectorProvider} from "../../api/connectors" import {ConnectorProvider} from "../../api/connectors"
import DefaultConnectorFormItems from "./DefaultConnectorFormItems"
import {formItemLayoutWithOutLabel, providersConfig} from "../index"
export default function OvhCloudConnectorForm({form, onCreate}: { export default function OvhCloudConnectorForm({form}: {
form: FormInstance, form: FormInstance
onCreate: (values: Connector) => void
}) { }) {
const [open, setOpen] = useState(false) const [open, setOpen] = useState(false)
const [ovhPricingModeValue, setOvhPricingModeValue] = useState<string | undefined>() const [ovhPricingModeValue, setOvhPricingModeValue] = useState<string | undefined>()
@@ -36,14 +32,7 @@ export default function OvhCloudConnectorForm({form, onCreate}: {
] ]
return ( return (
<Form <>
{...formItemLayoutWithOutLabel}
form={form}
layout='horizontal'
labelCol={{span: 6}}
wrapperCol={{span: 14}}
onFinish={onCreate}
>
<Form.Item <Form.Item
label={t`Application key`} label={t`Application key`}
name={['authData', 'appKey']} name={['authData', 'appKey']}
@@ -125,7 +114,6 @@ export default function OvhCloudConnectorForm({form, onCreate}: {
/> />
</Popconfirm> </Popconfirm>
</Form.Item> </Form.Item>
<DefaultConnectorFormItems tosLink={providersConfig[ConnectorProvider.OVHcloud].tosLink}/> </>
</Form>
) )
} }

View File

@@ -46,21 +46,21 @@ msgstr ""
#: assets/components/search/DomainSearchBar.tsx:28 #: assets/components/search/DomainSearchBar.tsx:28
#: assets/components/tracking/watchlist/WatchlistForm.tsx:119 #: assets/components/tracking/watchlist/WatchlistForm.tsx:119
#: assets/components/tracking/watchlist/WatchlistForm.tsx:222 #: assets/components/tracking/watchlist/WatchlistForm.tsx:222
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:27
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:38 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:38
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:49 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:53
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:64 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:76
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:87 #: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:11
#: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:15 #: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:26
#: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:30 #: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:37
#: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:41 #: assets/utils/providers/forms/GandiConnectorForm.tsx:21
#: assets/utils/providers/forms/GandiConnectorForm.tsx:32 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:39
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:50 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:53
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:64 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:61
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:72 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:69
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:80 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:77
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:88 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:84
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:95 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:92
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:103
msgid "Required" msgid "Required"
msgstr "" msgstr ""
@@ -221,20 +221,37 @@ msgstr ""
msgid "Log in" msgid "Log in"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorForm.tsx:19 #: assets/components/tracking/connector/ConnectorForm.tsx:34
#: assets/utils/functions/rdapTranslation.ts:12 #: assets/utils/functions/rdapTranslation.ts:12
msgid "Registrar" msgid "Registrar"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorForm.tsx:23 #: assets/components/tracking/connector/ConnectorForm.tsx:38
msgid "Authentication" msgid "Authentication"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorForm.tsx:38 #: assets/components/tracking/connector/ConnectorForm.tsx:43
msgid "Consent"
msgstr ""
#: assets/components/tracking/connector/ConnectorForm.tsx:51
msgid "Choose a registrar" msgid "Choose a registrar"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorForm.tsx:63 #: assets/components/tracking/connector/ConnectorForm.tsx:83
msgid "Previous"
msgstr ""
#: assets/components/tracking/connector/ConnectorForm.tsx:88
msgid "Next"
msgstr ""
#: assets/components/tracking/connector/ConnectorForm.tsx:93
#: assets/components/tracking/watchlist/WatchlistForm.tsx:269
msgid "Create"
msgstr ""
#: assets/components/tracking/connector/ConnectorForm.tsx:100
msgid "" msgid ""
"This website is neither affiliated with nor sponsored by the registrars " "This website is neither affiliated with nor sponsored by the registrars "
"mentioned.\n" "mentioned.\n"
@@ -244,46 +261,46 @@ msgid ""
"conditions set by each registrar and is the sole responsibility of the user." "conditions set by each registrar and is the sole responsibility of the user."
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorsList.tsx:18 #: assets/components/tracking/connector/ConnectorsList.tsx:19
msgid "" msgid ""
"An error occurred while deleting the Connector. Make sure it is not used in " "An error occurred while deleting the Connector. Make sure it is not used in "
"any Watchlist" "any Watchlist"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorsList.tsx:33 #: assets/components/tracking/connector/ConnectorsList.tsx:35
#, javascript-format #, javascript-format
msgid "Connector ${ connectorName }" msgid "Connector ${ connectorName }"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorsList.tsx:38 #: assets/components/tracking/connector/ConnectorsList.tsx:40
msgid "Delete the Connector" msgid "Delete the Connector"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorsList.tsx:39 #: assets/components/tracking/connector/ConnectorsList.tsx:41
msgid "Are you sure to delete this Connector?" msgid "Are you sure to delete this Connector?"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorsList.tsx:41 #: assets/components/tracking/connector/ConnectorsList.tsx:43
#: assets/components/tracking/watchlist/DeleteWatchlistButton.tsx:16 #: assets/components/tracking/watchlist/DeleteWatchlistButton.tsx:16
msgid "Yes" msgid "Yes"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorsList.tsx:42 #: assets/components/tracking/connector/ConnectorsList.tsx:44
#: assets/components/tracking/watchlist/DeleteWatchlistButton.tsx:17 #: assets/components/tracking/watchlist/DeleteWatchlistButton.tsx:17
msgid "No" msgid "No"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorsList.tsx:46 #: assets/components/tracking/connector/ConnectorsList.tsx:48
#, javascript-format #, javascript-format
msgid "Creation date: ${ createdAt }" msgid "Creation date: ${ createdAt }"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorsList.tsx:47 #: assets/components/tracking/connector/ConnectorsList.tsx:49
#, javascript-format #, javascript-format
msgid "Used in: ${ watchlistCount } Watchlist" msgid "Used in: ${ watchlistCount } Watchlist"
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorsList.tsx:50 #: assets/components/tracking/connector/ConnectorsList.tsx:52
msgid "" msgid ""
"You can stop using a connector at any time. To delete a connector, you must " "You can stop using a connector at any time. To delete a connector, you must "
"remove it from each linked Watchlist.\n" "remove it from each linked Watchlist.\n"
@@ -293,7 +310,7 @@ msgid ""
"withdrawal and were of the minimum age to consent to these conditions." "withdrawal and were of the minimum age to consent to these conditions."
msgstr "" msgstr ""
#: assets/components/tracking/connector/ConnectorsList.tsx:54 #: assets/components/tracking/connector/ConnectorsList.tsx:56
msgid "The Providers conditions are accessible by following this hyperlink." msgid "The Providers conditions are accessible by following this hyperlink."
msgstr "" msgstr ""
@@ -473,11 +490,6 @@ msgstr ""
msgid "Add a Webhook" msgid "Add a Webhook"
msgstr "" msgstr ""
#: assets/components/tracking/watchlist/WatchlistForm.tsx:269
#: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:52
msgid "Create"
msgstr ""
#: assets/components/tracking/watchlist/WatchlistForm.tsx:269 #: assets/components/tracking/watchlist/WatchlistForm.tsx:269
msgid "Update" msgid "Update"
msgstr "" msgstr ""
@@ -629,8 +641,8 @@ msgid "Create a Watchlist"
msgstr "" msgstr ""
#: assets/pages/UserPage.tsx:19 #: assets/pages/UserPage.tsx:19
#: assets/utils/providers/forms/NamecheapConnectorForm.tsx:28 #: assets/utils/providers/forms/NamecheapConnectorForm.tsx:17
#: assets/utils/providers/forms/NamecomConnectorForm.tsx:32 #: assets/utils/providers/forms/NamecomConnectorForm.tsx:21
msgid "Username" msgid "Username"
msgstr "" msgstr ""
@@ -1088,181 +1100,181 @@ msgstr ""
msgid "An error occurred" msgid "An error occurred"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:27 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:16
#: assets/utils/providers/forms/NamecomConnectorForm.tsx:27 #: assets/utils/providers/forms/NamecomConnectorForm.tsx:16
msgid "" msgid ""
"This provider does not provide a list of supported TLD. Please double check " "This provider does not provide a list of supported TLD. Please double check "
"if the domain you want to register is supported." "if the domain you want to register is supported."
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:33 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:22
msgid "AutoDNS Username" msgid "AutoDNS Username"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:36 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:25
msgid "" msgid ""
"Because of some limitations in API of AutoDNS, we suggest to create an " "Because of some limitations in API of AutoDNS, we suggest to create an "
"dedicated user for API with limited rights" "dedicated user for API with limited rights"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:43 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:32
msgid "AutoDNS Password" msgid "AutoDNS Password"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:47 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:36
msgid "" msgid ""
"Attention: AutoDNS do not support 2-Factor Authentication on API Users for " "Attention: AutoDNS do not support 2-Factor Authentication on API Users for "
"automated systems" "automated systems"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:55 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:44
msgid "Owner nic-handle" msgid "Owner nic-handle"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:59 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:48
msgid "The nic-handle of the domain name owner" msgid "The nic-handle of the domain name owner"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:61 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:50
msgid "You can get it from this page" msgid "You can get it from this page"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:71 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:60
msgid "Context Value" msgid "Context Value"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:75 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:64
msgid "If you not sure, use the default value 4" msgid "If you not sure, use the default value 4"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:84 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:73
msgid "Owner confirmation" msgid "Owner confirmation"
msgstr "" msgstr ""
#: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:91 #: assets/utils/providers/forms/AutoDnsConnectorForm.tsx:80
msgid "Owner confirms his consent of domain order jobs" msgid "Owner confirms his consent of domain order jobs"
msgstr "" msgstr ""
#: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:13 #: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:9
msgid "API Terms of Service" msgid "API Terms of Service"
msgstr "" msgstr ""
#: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:22 #: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:18
msgid "" msgid ""
"I have read and accepted the conditions of use of the Provider API, " "I have read and accepted the conditions of use of the Provider API, "
"accessible from this hyperlink" "accessible from this hyperlink"
msgstr "" msgstr ""
#: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:28 #: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:24
msgid "Legal age" msgid "Legal age"
msgstr "" msgstr ""
#: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:34 #: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:30
msgid "I am of the minimum age required to consent to these conditions" msgid "I am of the minimum age required to consent to these conditions"
msgstr "" msgstr ""
#: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:39 #: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:35
msgid "Withdrawal period" msgid "Withdrawal period"
msgstr "" msgstr ""
#: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:45 #: assets/utils/providers/forms/DefaultConnectorFormItems.tsx:41
msgid "" msgid ""
"I waive my right of withdrawal regarding the purchase of domain names via " "I waive my right of withdrawal regarding the purchase of domain names via "
"the Provider's API" "the Provider's API"
msgstr "" msgstr ""
#: assets/utils/providers/forms/GandiConnectorForm.tsx:27 #: assets/utils/providers/forms/GandiConnectorForm.tsx:16
msgid "Personal Access Token (PAT)" msgid "Personal Access Token (PAT)"
msgstr "" msgstr ""
#: assets/utils/providers/forms/GandiConnectorForm.tsx:30 #: assets/utils/providers/forms/GandiConnectorForm.tsx:19
msgid "" msgid ""
"Retrieve a Personal Access Token from your customer account on the " "Retrieve a Personal Access Token from your customer account on the "
"Provider's website" "Provider's website"
msgstr "" msgstr ""
#: assets/utils/providers/forms/GandiConnectorForm.tsx:37 #: assets/utils/providers/forms/GandiConnectorForm.tsx:26
msgid "Organization sharing ID" msgid "Organization sharing ID"
msgstr "" msgstr ""
#: assets/utils/providers/forms/GandiConnectorForm.tsx:41 #: assets/utils/providers/forms/GandiConnectorForm.tsx:30
msgid "It indicates the organization that will pay for the ordered product" msgid "It indicates the organization that will pay for the ordered product"
msgstr "" msgstr ""
#: assets/utils/providers/forms/NamecheapConnectorForm.tsx:31 #: assets/utils/providers/forms/NamecheapConnectorForm.tsx:20
msgid "" msgid ""
"Retreive an API key and whitelist this instance's IP address on Namecheap's " "Retreive an API key and whitelist this instance's IP address on Namecheap's "
"website" "website"
msgstr "" msgstr ""
#: assets/utils/providers/forms/NamecheapConnectorForm.tsx:37 #: assets/utils/providers/forms/NamecheapConnectorForm.tsx:26
#: assets/utils/providers/forms/NamecomConnectorForm.tsx:41 #: assets/utils/providers/forms/NamecomConnectorForm.tsx:30
msgid "API key" msgid "API key"
msgstr "" msgstr ""
#: assets/utils/providers/forms/NamecomConnectorForm.tsx:35 #: assets/utils/providers/forms/NamecomConnectorForm.tsx:24
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:55 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:44
msgid "" msgid ""
"Retrieve a set of tokens from your customer account on the Provider's " "Retrieve a set of tokens from your customer account on the Provider's "
"website" "website"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:21 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:17
msgid "European Region" msgid "European Region"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:22 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:18
msgid "United States Region" msgid "United States Region"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:23 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:19
msgid "Canada Region" msgid "Canada Region"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:28 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:24
msgid "Europe" msgid "Europe"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:31 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:27
msgid "The domain is free and at the standard price" msgid "The domain is free and at the standard price"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:34 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:30
msgid "" msgid ""
"The domain is free but can be premium. Its price varies from one domain to " "The domain is free but can be premium. Its price varies from one domain to "
"another" "another"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:48 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:37
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:78 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:67
msgid "Application key" msgid "Application key"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:62 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:51
msgid "Application secret" msgid "Application secret"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:70 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:59
msgid "Consumer key" msgid "Consumer key"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:86 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:75
msgid "OVH Endpoint" msgid "OVH Endpoint"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:93 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:82
msgid "OVH subsidiary" msgid "OVH subsidiary"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:101 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:90
msgid "OVH pricing mode" msgid "OVH pricing mode"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:106 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:95
msgid "Confirm pricing mode" msgid "Confirm pricing mode"
msgstr "" msgstr ""
#: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:107 #: assets/utils/providers/forms/OvhCloudConnectorForm.tsx:96
msgid "" msgid ""
"Are you sure about this setting? This may result in additional charges from " "Are you sure about this setting? This may result in additional charges from "
"the API Provider" "the API Provider"