Skip to content

Commit 4b8bedd

Browse files
committed
feat(web-domains): domains services list Datagrid
ref: #DCE-87 Signed-off-by: Brendan Seiller <[email protected]>
1 parent 14ab425 commit 4b8bedd

File tree

57 files changed

+5188
-108
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+5188
-108
lines changed

packages/manager/apps/web-domains/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"@tanstack/react-query": "5.90.2",
3939
"axios": "^1.1.2",
4040
"clsx": "^1.2.1",
41+
"export-to-csv": "^1.4.0",
4142
"i18next": "23.8.2",
4243
"i18next-http-backend": "2.4.3",
4344
"punycode": "2.3.1",

packages/manager/apps/web-domains/public/translations/domain/Messages_fr_FR.json

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,44 @@
11
{
22
"title": "Noms de domaine",
33
"domain_table_header_serviceName": "Nom de domaine",
4+
"domain_table_header_tags": "Mes tags",
5+
"domain_table_header_status": "Statut",
6+
"domain_table_header_technical_status": "Statut technique",
7+
"domain_table_header_transfer_protection": "Protection contre le transfert",
8+
"domain_table_header_renew_frequency": "Fréquence de renouvellement",
9+
"domain_table_header_pending_actions": "Actions en cours",
10+
"domain_table_header_expiration": "Expiration",
11+
"domain_table_header_contact_owner": "Contact titulaire",
12+
"domain_table_header_contact_tech": "Contact technique",
13+
"domain_table_header_contact_billing": "Contact facturation",
14+
"domain_table_header_contact_admin": "Contact administratif",
15+
"domain_table_modal_renew_restore_title": "Renouveler ou restaurer mes noms de domaine ({{count}})",
16+
"domain_table_modal_renew_restore_description": "Afin de renouveler ou restaurer vos noms de domaine, vous devez utiliser l'interface de renouvellement OVHcloud (hors de l'espace Client Web)",
17+
"domain_table_modal_renew_restore_order": "<strong>Cliquez sur le bouton ci-dessous pour accéder à l'interface de renouvellement OVHcloud.</strong> Un nouvel onglet s'ouvrira pour vous rediriger vers l'interface de renouvellement OVHcloud.",
18+
"domain_table_modal_renew_restore_button": "Restaurer / Renouveler ({{count}})",
19+
"domain_table_modal_renew_restore_message_info": "Veuillez noter qu'un délai d'environ 2 heures à compter de l'acceptation de votre paiement est nécessaire pour que le renouvellement soit effectif sur votre nom de domaine.",
20+
"domain_table_export_csv": "Exporter tout",
21+
"domain_table_export_csv_selection": "Exporter la sélection ({{count}})",
22+
"domain_table_drawer_title": "Exporter les noms de domaine",
23+
"domain_table_drawer_selected_all": "Tous les noms de domaine",
24+
"domain_table_drawer_selected_count": "{{count}} nom(s) de domaine sélectionné(s)",
25+
"domain_table_drawer_info": "Sélectionnez les informations à inclure dans l'export CSV. Les noms de domaine MX plan ne seront pas exportés.",
26+
"domain_table_drawer_column_domain": "Options des noms de domaine",
27+
"domain_table_drawer_column_contact": "Contacts",
28+
"domain_table_drawer_column_info_message": "L'export de vos noms de domaine peut prendre quelques minutes en fonction du nombre de noms de domaine sélectionnés.",
29+
"domain_table_drawer_contact_treeview": "Sélectionner tous les contacts",
30+
"domain_table_drawer_domain_treeview": "Sélectionner toutes les options",
31+
"domain_table_drawer_domain_ascii": "Nom de domaine ASCII (Punycode)",
32+
"domain_table_drawer_domain_utf8": "Nom de domaine UTF-8",
33+
"domain_table_drawer_domain_creation_date": "Date de création",
34+
"domain_table_drawer_domain_anycast": "DNS Anycast",
35+
"domain_table_progress_fetching": "Récupération de la liste des noms de domaine en cours. Veuillez patienter...",
36+
"domain_table_progress_exporting": "Préparation de la sauvegarde des fichiers pour le téléchargement en cours. Veuillez patienter...",
37+
"domain_table_header_dnssec": "DNSSEC",
38+
"domain_export_done_title": "Export terminé",
39+
"domain_export_success": "Le téléchargement de votre fichier va commencer automatiquement. ({{count}} nom(s) de domaine exporté(s)). Si le téléchargement ne se lance pas automatiquement, vous pouvez effectuer un <Link>téléchargement manuel</Link>.",
40+
"domain_export_error": "Une erreur est survenue lors de l'export de vos noms de domaine : {{error}}",
41+
"domain_table_modal_renew_restore_message_limit_warning": "Vous avez sélectionné plus de vingt noms de domaine. Veuillez noter que cela peut entraîner des limitations lors du renouvellement ou de la restauration.",
442
"domain_tab_name_general_information": "Informations générales",
543
"domain_tab_name_dns_zone": "Zone DNS",
644
"domain_tab_name_dns_server": "Serveurs DNS",
@@ -27,7 +65,6 @@
2765
"domain_dns_table_type_dedicated": "Secondaire",
2866
"domain_dns_table_type_standard_tooltip": "Mettez à niveau vers une offre Anycast pour de meilleures performances.",
2967
"domain_dns_tab_button_modify_dns": "Modifier les DNS",
30-
"domain_dns_tab_button_order_anycast": "Commander DNS Anycast",
3168
"domain_dns_tab_button_cancel_terminate_anycast": "{{action}} DNS Anycast",
3269
"domain_dns_tab_terminate_description_anycast": "La résiliation prendre effet à la date d'expiration du service, le <strong>{{expirationDate}}</strong>.",
3370
"domain_dns_tab_terminate_description_suite_anycast": "Êtes-vous sûr(e) de vouloir {{action}} le service DNS Anycast ?",
@@ -43,8 +80,9 @@
4380
"domain_dns_tab_terminate_anycast_error": "Une erreur est survenue : {{error}}",
4481
"domain_dns_tab_terminate_anycast_success": "Votre service Anycast a bien été {{action}}",
4582
"domain_dns_tab_restore_anycast_description": "Vous avez demandé la résiliation de l'option DNS Anycast. Celle-ci sera effective à la date d'expiration du service, le <strong>{{expirationDate}}</strong>. Souhaitez-vous annuler la résiliation ?",
46-
"domain_action_terminate": "résilié",
47-
"domain_action_restore": "restauré",
83+
"domain_action_terminate": "Résilier",
84+
"domain_action_restore": "Restaurer",
85+
"domain_action_cancel_terminate": "Annuler la résiliation",
4886
"domain_tab_DNS_anycast_order_description_suite": "DNS Anycast sera automatiquement renouvelé pour ",
4987
"domain_tab_DNS_modification_title": "Modifier les serveurs DNS",
5088
"domain_tab_DNS_modification_DNS_used": "Vous utilisez actuellement les DNS suivants : ",
@@ -136,6 +174,18 @@
136174
"domain_tab_general_information_associated_subdomains_multisite_content": "Aucun sous-domaine ou multisite",
137175
"domain_tab_general_not_suspended": "Actif",
138176
"domain_tab_general_suspended": "Suspendu",
177+
"domain_status_technical_suspended": "Procédure en cours",
178+
"domain_status_pending_installation": "En cours d'installation",
179+
"domain_status_auto_renew_in_progress": "Renouvellement en cours",
180+
"domain_tab_general_information_status_enabled": "Activé",
181+
"domain_tab_general_information_status_enabling": "En cours d'activation",
182+
"domain_tab_general_information_status_unavailable": "Indisponible",
183+
"domain_tab_general_information_status_disabled": "Désactivé",
184+
"domain_tab_general_information_status_disabling": "En cours de désactivation",
185+
"domain_status_terminate_asked": "Résiliation demandée",
186+
"domain_status_early_renewal": "Renouvellement en cours",
187+
"domain_action_early_renewal": "Renouveler",
188+
"domain_status_terminate": "Résilié",
139189
"domain_tab_DNS_modification_form_dns_number": "Veuillez renseigner entre {{min}} et {{max}} DNS.",
140190
"domain_tab_DNS_modification_form_server_field": "Serveur DNS",
141191
"domain_tab_DNS_modification_form_ip_field": "IP associée",

packages/manager/apps/web-domains/src/alldoms/components/actionMenu/ServiceActionMenu.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ import {
1414
ActionEnum,
1515
LifecycleCapacitiesEnum,
1616
} from '@/alldoms/enum/service.enum';
17-
import { allDomManagerService, RENEW_URL } from '@/alldoms/constants';
17+
import { allDomManagerService } from '@/alldoms/constants';
1818
import { hasTerminateAtExpirationDateAction } from '@/alldoms/utils/utils';
19+
import { RENEW_URL } from '@/common/constants';
1920

2021
interface DatagridColumnActionMenuProps {
2122
readonly id: string;

packages/manager/apps/web-domains/src/alldoms/components/allDomDatagridColumns/DatagridColumnContact.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { DataGridTextCell } from '@ovh-ux/manager-react-components';
22
import { Link } from '@ovhcloud/ods-react';
3-
import React from 'react';
43

54
interface DatagridColumnContactProps {
65
readonly contact: string;

packages/manager/apps/web-domains/src/alldoms/constants.ts

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,3 @@
1-
const URL_SUFFIX = 'cgi-bin/order/renew.cgi?domainChooser=';
2-
3-
export const RENEW_URL: Record<string, string> = {
4-
DEFAULT: `https://www.ovh.com/${URL_SUFFIX}`,
5-
AU: `https://ca.ovh.com/au/${URL_SUFFIX}`,
6-
CA: `https://ca.ovh.com/fr/${URL_SUFFIX}`,
7-
SG: `https://ca.ovh.com/sg/${URL_SUFFIX}`,
8-
QC: `https://ca.ovh.com/fr/${URL_SUFFIX}`,
9-
WE: `https://ca.ovh.com/fr/${URL_SUFFIX}`,
10-
CZ: `https://www.ovh.cz/${URL_SUFFIX}`,
11-
DE: `https://www.ovh.de/${URL_SUFFIX}`,
12-
EN: `https://www.ovh.co.uk/${URL_SUFFIX}`,
13-
ES: `https://www.ovh.es/${URL_SUFFIX}`,
14-
FI: `https://www.ovh-hosting.fi/${URL_SUFFIX}`,
15-
FR: `https://eu.ovh.com/fr/${URL_SUFFIX}`,
16-
GB: `https://www.ovh.co.uk/${URL_SUFFIX}`,
17-
IE: `https://www.ovh.ie/${URL_SUFFIX}`,
18-
IT: `https://www.ovh.it/${URL_SUFFIX}`,
19-
LT: `https://www.ovh.lt/${URL_SUFFIX}`,
20-
MA: `https://www.ovh.com/ma/${URL_SUFFIX}`,
21-
NL: `https://www.ovh.nl/${URL_SUFFIX}`,
22-
PL: `https://www.ovh.pl/${URL_SUFFIX}`,
23-
PT: `https://www.ovh.pt/${URL_SUFFIX}`,
24-
RU: `https://www.ovh.co.uk/${URL_SUFFIX}`,
25-
SN: `https://www.ovh.sn/${URL_SUFFIX}`,
26-
TN: `https://www.ovh.com/tn/${URL_SUFFIX}`,
27-
};
28-
291
export const allDomManagerService = 'ALL_DOM';
302

313
export const TERMINATE_URL = (serviceName?: string) =>

packages/manager/apps/web-domains/src/alldoms/utils/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { LifecycleCapacitiesEnum } from '@/alldoms/enum/service.enum';
1+
import { LifecycleCapacitiesEnum } from '@/common/enum/common.enum';
22

33
export const hasTerminateAtExpirationDateAction = (
44
actions: LifecycleCapacitiesEnum[],
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
const URL_SUFFIX = 'cgi-bin/order/renew.cgi?domainChooser=';
2+
3+
export const RENEW_URL: Record<string, string> = {
4+
DEFAULT: `https://www.ovh.com/${URL_SUFFIX}`,
5+
AU: `https://ca.ovh.com/au/${URL_SUFFIX}`,
6+
CA: `https://ca.ovh.com/fr/${URL_SUFFIX}`,
7+
SG: `https://ca.ovh.com/sg/${URL_SUFFIX}`,
8+
QC: `https://ca.ovh.com/fr/${URL_SUFFIX}`,
9+
WE: `https://ca.ovh.com/fr/${URL_SUFFIX}`,
10+
CZ: `https://www.ovh.cz/${URL_SUFFIX}`,
11+
DE: `https://www.ovh.de/${URL_SUFFIX}`,
12+
EN: `https://www.ovh.co.uk/${URL_SUFFIX}`,
13+
ES: `https://www.ovh.es/${URL_SUFFIX}`,
14+
FI: `https://www.ovh-hosting.fi/${URL_SUFFIX}`,
15+
FR: `https://eu.ovh.com/fr/${URL_SUFFIX}`,
16+
GB: `https://www.ovh.co.uk/${URL_SUFFIX}`,
17+
IE: `https://www.ovh.ie/${URL_SUFFIX}`,
18+
IT: `https://www.ovh.it/${URL_SUFFIX}`,
19+
LT: `https://www.ovh.lt/${URL_SUFFIX}`,
20+
MA: `https://www.ovh.com/ma/${URL_SUFFIX}`,
21+
NL: `https://www.ovh.nl/${URL_SUFFIX}`,
22+
PL: `https://www.ovh.pl/${URL_SUFFIX}`,
23+
PT: `https://www.ovh.pt/${URL_SUFFIX}`,
24+
RU: `https://www.ovh.co.uk/${URL_SUFFIX}`,
25+
SN: `https://www.ovh.sn/${URL_SUFFIX}`,
26+
TN: `https://www.ovh.com/tn/${URL_SUFFIX}`,
27+
};
28+
29+
export const DOMAIN = 'DOMAIN';

packages/manager/apps/web-domains/src/common/enum/common.enum.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ export enum ServiceInfoRenewModeEnum {
2121
export enum LifecycleCapacitiesEnum {
2222
EarlyRenewal = 'earlyRenewal',
2323
Terminate = 'terminate',
24+
AutorRenewInProgress = 'autorenewInProgress',
25+
DeleteAtExpiration = 'deleteAtExpiration',
2426
TerminateAtEngagementDate = 'terminateAtEngagementDate',
2527
TerminateAtExpirationDate = 'terminateAtExpirationDate',
2628
}

packages/manager/apps/web-domains/src/common/hooks/data/query.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ export const useGetServiceInformation = (
77
serviceName: string,
88
serviceRoute: ServiceRoutes,
99
) => {
10-
const { data, isLoading } = useQuery({
10+
const { data, isFetching } = useQuery({
1111
queryKey: [key, 'service', serviceName],
1212
queryFn: () => getServiceInformation(serviceName, serviceRoute),
1313
});
1414

1515
return {
1616
serviceInfo: data,
17-
isServiceInfoLoading: isLoading,
17+
isServiceInfoLoading: isFetching,
1818
};
1919
};

packages/manager/apps/web-domains/src/domain/components/AnycastOrder/AnycastOrderButton.spec.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ describe('AnycastOrderButtonComponent', () => {
5555
/>,
5656
);
5757
expect(
58-
screen.getByText('domain_dns_tab_button_order_anycast'),
58+
screen.getByText('domain_tab_DNS_anycast_order'),
5959
).toBeInTheDocument();
6060
});
6161

0 commit comments

Comments
 (0)