From d7682ce4acec83e30a93406f927f3e99c7fbf38a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Gangloff?= Date: Tue, 30 Jul 2024 17:48:09 +0200 Subject: [PATCH] feat: ovh api conditions checkbox --- assets/components/tracking/ConnectorForm.tsx | 61 ++-------- assets/pages/LoginPage.tsx | 2 +- assets/utils/providers/index.tsx | 25 ++++ assets/utils/providers/ovh.tsx | 27 +++++ translations/translations.pot | 114 ++++++++++--------- 5 files changed, 123 insertions(+), 106 deletions(-) create mode 100644 assets/utils/providers/index.tsx create mode 100644 assets/utils/providers/ovh.tsx diff --git a/assets/components/tracking/ConnectorForm.tsx b/assets/components/tracking/ConnectorForm.tsx index caa86fc..c01be90 100644 --- a/assets/components/tracking/ConnectorForm.tsx +++ b/assets/components/tracking/ConnectorForm.tsx @@ -3,7 +3,13 @@ import React, {useState} from "react"; import {Connector, ConnectorProvider} from "../../utils/api/connectors"; import {t} from "ttag"; import {BankOutlined} from "@ant-design/icons"; -import {regionNames} from "../../i18n"; +import { + ovhEndpointList as ovhEndpointListFunction, + ovhFields as ovhFieldsFunction, + ovhPricingMode as ovhPricingModeFunction, + ovhSubsidiaryList as ovhSubsidiaryListFunction +} from "../../utils/providers/ovh"; +import {helpGetTokenLink, tosHyperlink} from "../../utils/providers"; const formItemLayoutWithOutLabel = { wrapperCol: { @@ -14,53 +20,10 @@ const formItemLayoutWithOutLabel = { export function ConnectorForm({form, onCreate}: { form: FormInstance, onCreate: (values: Connector) => void }) { const [provider, setProvider] = useState() - - const ovhFields = { - appKey: t`Application key`, - appSecret: t`Application secret`, - consumerKey: t`Consumer key` - } - - const ovhEndpointList = [ - { - label: t`European Region`, - value: 'ovh-eu' - } - ] - - const ovhSubsidiaryList = [{value: 'EU', label: t`Europa`}, ...[ - 'CZ', 'DE', 'ES', 'FI', 'FR', 'GB', 'IE', 'IT', 'LT', 'MA', 'NL', 'PL', 'PT', 'SN', 'TN' - ].map(c => ({value: c, label: regionNames.of(c) ?? c}))] - - const ovhPricingMode = [ - {value: 'create-default', label: t`The domain is free and at the standard price`}, - { - value: 'create-premium', - label: t`The domain is free but is a premium. Its price varies from one domain to another` - } - ] - - const helpGetTokenLink = (provider?: string) => { - switch (provider) { - case ConnectorProvider.OVH: - return - {t`Retrieve a set of tokens from your OVH account`} - - default: - return <> - } - } - - const tosHyperlink = (provider?: string) => { - switch (provider) { - case ConnectorProvider.OVH: - return 'https://storage.gra.cloud.ovh.net/v1/AUTH_325716a587c64897acbef9a4a4726e38/contracts/9973515-contrat_genServices-FR-15.1.pdf' - default: - return '' - } - } - + const ovhFields = ovhFieldsFunction() + const ovhEndpointList = ovhEndpointListFunction() + const ovhSubsidiaryList = ovhSubsidiaryListFunction() + const ovhPricingMode = ovhPricingModeFunction() return
{t`I expressly waive my right of withdrawal regarding the purchase of domain names via the Provider's API.`} + required={true}>{t`I expressly waive my right of withdrawal regarding the purchase of domain names via the Provider's API`} } diff --git a/assets/pages/LoginPage.tsx b/assets/pages/LoginPage.tsx index e94b10e..2d2162d 100644 --- a/assets/pages/LoginPage.tsx +++ b/assets/pages/LoginPage.tsx @@ -52,7 +52,7 @@ export default function Page() { name="username" rules={[{required: true, message: t`Required`}]} > - + diff --git a/assets/utils/providers/index.tsx b/assets/utils/providers/index.tsx new file mode 100644 index 0000000..585c5e1 --- /dev/null +++ b/assets/utils/providers/index.tsx @@ -0,0 +1,25 @@ +import {ConnectorProvider} from "../api/connectors"; +import {Typography} from "antd"; +import {t} from "ttag"; +import React from "react"; + +export const helpGetTokenLink = (provider?: string) => { + switch (provider) { + case ConnectorProvider.OVH: + return + {t`Retrieve a set of tokens from your customer account on the Provider's website`} + + default: + return <> + } +} + +export const tosHyperlink = (provider?: string) => { + switch (provider) { + case ConnectorProvider.OVH: + return 'https://www.ovhcloud.com/fr/terms-and-conditions/contracts/' + default: + return '' + } +} \ No newline at end of file diff --git a/assets/utils/providers/ovh.tsx b/assets/utils/providers/ovh.tsx new file mode 100644 index 0000000..086fe40 --- /dev/null +++ b/assets/utils/providers/ovh.tsx @@ -0,0 +1,27 @@ +import {t} from "ttag"; +import {regionNames} from "../../i18n"; + +export const ovhFields = () => ({ + appKey: t`Application key`, + appSecret: t`Application secret`, + consumerKey: t`Consumer key` +}) + +export const ovhEndpointList = () => [ + { + label: t`European Region`, + value: 'ovh-eu' + } +] + +export const ovhSubsidiaryList = () => [...[ + 'CZ', 'DE', 'ES', 'FI', 'FR', 'GB', 'IE', 'IT', 'LT', 'MA', 'NL', 'PL', 'PT', 'SN', 'TN' +].map(c => ({value: c, label: regionNames.of(c) ?? c})), {value: 'EU', label: t`Europe`}] + +export const ovhPricingMode = () => [ + {value: 'create-default', label: t`The domain is free and at the standard price`}, + { + value: 'create-premium', + label: t`The domain is free but is a premium. Its price varies from one domain to another` + } +] \ No newline at end of file diff --git a/translations/translations.pot b/translations/translations.pot index d3c74b1..5fc177a 100644 --- a/translations/translations.pot +++ b/translations/translations.pot @@ -48,14 +48,14 @@ msgid "ENUM validation expiration" msgstr "" #: assets/components/search/DomainSearchBar.tsx:23 -#: assets/components/tracking/ConnectorForm.tsx:77 -#: assets/components/tracking/ConnectorForm.tsx:101 -#: assets/components/tracking/ConnectorForm.tsx:109 -#: assets/components/tracking/ConnectorForm.tsx:116 -#: assets/components/tracking/ConnectorForm.tsx:124 -#: assets/components/tracking/ConnectorForm.tsx:132 -#: assets/components/tracking/ConnectorForm.tsx:145 -#: assets/components/tracking/ConnectorForm.tsx:154 +#: assets/components/tracking/ConnectorForm.tsx:40 +#: assets/components/tracking/ConnectorForm.tsx:64 +#: assets/components/tracking/ConnectorForm.tsx:72 +#: assets/components/tracking/ConnectorForm.tsx:79 +#: assets/components/tracking/ConnectorForm.tsx:87 +#: assets/components/tracking/ConnectorForm.tsx:95 +#: assets/components/tracking/ConnectorForm.tsx:108 +#: assets/components/tracking/ConnectorForm.tsx:117 #: assets/components/tracking/WatchlistForm.tsx:115 #: assets/components/tracking/WatchlistForm.tsx:174 #: assets/components/tracking/WatchlistForm.tsx:184 @@ -199,99 +199,65 @@ msgstr "" msgid "Add a Trigger" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:166 +#: assets/components/tracking/ConnectorForm.tsx:129 #: assets/components/tracking/WatchlistForm.tsx:237 msgid "Create" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:169 +#: assets/components/tracking/ConnectorForm.tsx:132 #: assets/components/tracking/WatchlistForm.tsx:240 msgid "Reset" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:19 -msgid "Application key" -msgstr "" - -#: assets/components/tracking/ConnectorForm.tsx:20 -msgid "Application secret" -msgstr "" - -#: assets/components/tracking/ConnectorForm.tsx:21 -msgid "Consumer key" -msgstr "" - -#: assets/components/tracking/ConnectorForm.tsx:26 -msgid "European Region" -msgstr "" - -#: assets/components/tracking/ConnectorForm.tsx:31 -msgid "Europa" -msgstr "" - -#: assets/components/tracking/ConnectorForm.tsx:36 -msgid "The domain is free and at the standard price" -msgstr "" - -#: assets/components/tracking/ConnectorForm.tsx:39 -msgid "" -"The domain is free but is a premium. Its price varies from one domain to " -"another" -msgstr "" - -#: assets/components/tracking/ConnectorForm.tsx:48 -msgid "Retrieve a set of tokens from your OVH account" -msgstr "" - -#: assets/components/tracking/ConnectorForm.tsx:74 +#: assets/components/tracking/ConnectorForm.tsx:37 #: assets/components/tracking/ConnectorsList.tsx:21 msgid "Provider" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:80 +#: assets/components/tracking/ConnectorForm.tsx:43 msgid "Please select a Provider" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:107 +#: assets/components/tracking/ConnectorForm.tsx:70 msgid "OVH Endpoint" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:114 +#: assets/components/tracking/ConnectorForm.tsx:77 msgid "OVH subsidiary" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:122 +#: assets/components/tracking/ConnectorForm.tsx:85 msgid "OVH pricing mode" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:130 +#: assets/components/tracking/ConnectorForm.tsx:93 msgid "API Terms of Service" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:137 +#: assets/components/tracking/ConnectorForm.tsx:100 msgid "" "I certify that I have read and accepted the conditions of use of the " "Provider API, accessible from this hyperlink" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:143 +#: assets/components/tracking/ConnectorForm.tsx:106 msgid "Legal age" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:148 +#: assets/components/tracking/ConnectorForm.tsx:111 msgid "" "I certify on my honor that I am of the minimum age required to consent to " "these conditions" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:152 +#: assets/components/tracking/ConnectorForm.tsx:115 msgid "Withdrawal period" msgstr "" -#: assets/components/tracking/ConnectorForm.tsx:157 +#: assets/components/tracking/ConnectorForm.tsx:120 msgid "" "I expressly waive my right of withdrawal regarding the purchase of domain " -"names via the Provider's API." +"names via the Provider's API" msgstr "" #: assets/components/tracking/WatchlistsList.tsx:14 @@ -506,6 +472,42 @@ msgstr "" msgid "Log in with SSO" msgstr "" +#: assets/utils/providers/index.tsx:11 +msgid "" +"Retrieve a set of tokens from your customer account on the Provider's " +"website" +msgstr "" + +#: assets/utils/providers/ovh.tsx:5 +msgid "Application key" +msgstr "" + +#: assets/utils/providers/ovh.tsx:6 +msgid "Application secret" +msgstr "" + +#: assets/utils/providers/ovh.tsx:7 +msgid "Consumer key" +msgstr "" + +#: assets/utils/providers/ovh.tsx:12 +msgid "European Region" +msgstr "" + +#: assets/utils/providers/ovh.tsx:19 +msgid "Europe" +msgstr "" + +#: assets/utils/providers/ovh.tsx:22 +msgid "The domain is free and at the standard price" +msgstr "" + +#: assets/utils/providers/ovh.tsx:25 +msgid "" +"The domain is free but is a premium. Its price varies from one domain to " +"another" +msgstr "" + #: assets/App.tsx:71 msgid "Home" msgstr ""