Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP Feat/pci instances #13119

Draft
wants to merge 76 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
1dbdf25
feat(pci-instance): add package first configuration
fredericvilcot Aug 7, 2024
6c71a32
feat(pci-instance): add eslint-plugin-react-hooks to main package.json
fredericvilcot Aug 8, 2024
b1ef15f
feat(pci-instance): add typescript config files
fredericvilcot Aug 8, 2024
5dd32b1
feat(pci-instance): add vite config files
fredericvilcot Aug 8, 2024
67cf162
feat(pci-instance): init React app tree
fredericvilcot Aug 8, 2024
330c3fc
feat(pci-instance): add base components, page and utils
fredericvilcot Aug 8, 2024
13f0c1b
test(pci-instance): add test suite for utility functions
fredericvilcot Aug 8, 2024
ad92dda
feat(pci-instance): follow architecture guidelines
fredericvilcot Aug 27, 2024
9804db9
feat(pci-instance): add translations folder and fr file
fredericvilcot Aug 27, 2024
442f5d8
refactor(pci-instances): modify root folder to start with container
fredericvilcot Sep 12, 2024
a0243b9
feat(pci-instance): switch empty components to hooks
fredericvilcot Sep 12, 2024
9ed4b68
feat(pci-instance): add new routes
fredericvilcot Sep 12, 2024
b7901a8
feat(pci-instance): add new components
fredericvilcot Sep 12, 2024
cbcd038
test(pci-instance): update utils test suite
fredericvilcot Sep 12, 2024
c0f0607
feat(pci-instance): add useInstances hook
fredericvilcot Sep 12, 2024
e92fe74
test(pci-instance): add useInstances test suite
fredericvilcot Sep 12, 2024
4352fde
feat(pci-instance): add Instances page
fredericvilcot Sep 12, 2024
179bfe6
feat(pci-instance): add translations
fredericvilcot Sep 12, 2024
d8df0d9
feat(pci-instance): add deepReadonly types
fredericvilcot Sep 12, 2024
e0dc01d
feat(pci-instance): makes sonar happy
fredericvilcot Sep 13, 2024
94f9250
feat(pci-instances): move api types to dedicated folder
fredericvilcot Sep 17, 2024
2eae3fa
fix(pci-instances): improve cache management for refresh function
fredericvilcot Sep 18, 2024
6a9e688
test(pci-instance): update useInstances test suite
fredericvilcot Sep 18, 2024
a1f4407
feat(pci-instances): add Breadcrumb component
fredericvilcot Sep 19, 2024
45259e6
feat(pci-instances): add translations and instance image
fredericvilcot Sep 19, 2024
f80dd44
feat(pci-instances): add onboarding page and constants
fredericvilcot Sep 19, 2024
b7a2981
fix(pci-instances): add missing namespace for create button i18n
fredericvilcot Sep 20, 2024
09b16ce
feat(pci-instances): add manager-pci-common package
fredericvilcot Sep 23, 2024
3f395e5
feat(pci-instances): add createInstance page and declare route
fredericvilcot Sep 23, 2024
5091b41
refactor(pci-instances): update root page folder & improve breadcrumb
fredericvilcot Sep 23, 2024
e1d3361
feat(pci-instances): add create translations file
fredericvilcot Sep 23, 2024
0517c3b
feat(pci-instances): use hrefs for button links
fredericvilcot Sep 23, 2024
88eb502
refactor(pci-instances): restructure types folder
fredericvilcot Sep 25, 2024
91ebb97
feat(pci-instances): add catalog logic
fredericvilcot Sep 25, 2024
1d53f82
test(pci-instance): add useCatalog test suite
fredericvilcot Sep 25, 2024
997c8aa
feat(pci-instances): update packages & config
fredericvilcot Sep 27, 2024
ff4b65a
feat(pci-instances): update useCatalog logic & types
fredericvilcot Sep 27, 2024
3c79435
test(pci-instances): update test suites & mock folder
fredericvilcot Sep 27, 2024
6b89958
test(pci-instances): declare mock functions for zustand
fredericvilcot Sep 27, 2024
8526ceb
feat(pci-instances): add ModelStep component & use it
fredericvilcot Sep 27, 2024
7f86789
feat(pci-instances): create useAppStore with slices
fredericvilcot Sep 27, 2024
ef491a1
feat(pci-instances): update translations files
fredericvilcot Sep 27, 2024
2808d77
test(pci-instances): add test suite for useAppStore
fredericvilcot Sep 27, 2024
091cc8a
feat(pci-instances): improve code quality
fredericvilcot Sep 27, 2024
2618140
fix(pci-instances): bump manager-pci-common package
fredericvilcot Sep 30, 2024
abdcb11
feat(pci-instance): add package first configuration
fredericvilcot Aug 7, 2024
a32053b
refactor(pci-instances): restructure types folder
fredericvilcot Oct 8, 2024
e3e11f9
feat(pci-instances): add region selector for catalog hook
fredericvilcot Oct 8, 2024
21c6ebc
test(pci-instances): enhance test suite for useCatalog hook
fredericvilcot Oct 8, 2024
6899d8d
feat(pci-instances): add useActivateRegion hook
fredericvilcot Oct 8, 2024
087a15c
test(pci-instances): add test suite for useActivateRegion hook
fredericvilcot Oct 8, 2024
5e72938
feat(pci-instances): add tabs & tiles components
fredericvilcot Oct 11, 2024
355e965
feat(pci-instances): add new translation files
fredericvilcot Oct 11, 2024
92298b1
feat(pci-instances): add model & region step components
fredericvilcot Oct 11, 2024
0c0dd18
feat(pci-instances): update appStore slices
fredericvilcot Oct 11, 2024
705a15f
test(pci-instances): update appStore test suite
fredericvilcot Oct 11, 2024
6f4fa98
test(pci-instances): add test suites for components & hooks
fredericvilcot Oct 14, 2024
df3305d
fix(pci-instances): update broken onboarding translations
fredericvilcot Oct 15, 2024
3cbd603
fix(pci-instances): navigate to onboarding page smoother
fredericvilcot Oct 15, 2024
d905fa9
fix(pci-instances): improve step validation & edition
fredericvilcot Oct 15, 2024
86e4d8f
test(pci-instances): update Stepper slice test suite
fredericvilcot Oct 15, 2024
c9a5bbe
refactor(pci-instances): improve code quality
fredericvilcot Oct 16, 2024
65d9f47
feat(pci-instances): add :instanceId route
fredericvilcot Oct 18, 2024
a334273
feat(pci-instances): add instance page & cell components
fredericvilcot Oct 18, 2024
cca7990
test(pci-instances): add test suites for components
fredericvilcot Oct 18, 2024
3094c84
feat(pci-instances): update i18n translations
fredericvilcot Oct 18, 2024
4169532
feat(pci-instances): bump pci-common to 0.7.2
fredericvilcot Oct 18, 2024
43a5667
feat(pci-instances): add new delete route & outlet
fredericvilcot Oct 31, 2024
4846948
feat(pci-instances): add translations for delete purpose
fredericvilcot Oct 31, 2024
1160c98
feat(pci-instances): add delete instance logic
fredericvilcot Nov 5, 2024
842d6c0
feat(pci-instances): add delete modal & update actions
fredericvilcot Nov 5, 2024
be1c5fa
test(pci-instances): add test suite & update msw handlers
fredericvilcot Nov 5, 2024
fa3e14b
feat(pci-instances): improve code
fredericvilcot Nov 5, 2024
635f0e5
build(pci-instances): bump @ovh-ux/* packages
fredericvilcot Nov 7, 2024
d855b99
feat(pci-instances): add autobackup href
fredericvilcot Nov 7, 2024
a63e560
test(pci-instances): update actionsCell unitary test
fredericvilcot Nov 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-markdown": "^1.0.0",
"eslint-plugin-prettier": "^3.1.1",
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-tsdoc": "^0.2.17",
"esm": "^3.2.25",
"execa": "^2.0.5",
Expand Down
24 changes: 24 additions & 0 deletions packages/manager/apps/pci-instances/.eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
module.exports = {
extends: [
'../../../../.eslintrc.js',
'plugin:react/recommended',
'plugin:react/jsx-runtime',
'plugin:react-hooks/recommended',
'plugin:prettier/recommended',
],
settings: {
react: {
version: 'detect',
},
},
globals: {
__VERSION__: true,
},

rules: {
'@typescript-eslint/no-unused-vars': [
'error',
{ ignoreRestSiblings: true },
],
},
};
25 changes: 25 additions & 0 deletions packages/manager/apps/pci-instances/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
coverage
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
1 change: 1 addition & 0 deletions packages/manager/apps/pci-instances/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# PCI Instance
12 changes: 12 additions & 0 deletions packages/manager/apps/pci-instances/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>OVHcloud</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="./src/main.tsx"></script>
</body>
</html>
74 changes: 74 additions & 0 deletions packages/manager/apps/pci-instances/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"name": "@ovh-ux/manager-pci-instances-app",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"build": "tsc --project tsconfig.build.json && vite build",
"coverage": "vitest run --coverage",
"dev": "vite",
"lint": "eslint ./src",
"start": "lerna exec --stream --scope='@ovh-ux/manager-pci-instances-app' --include-dependencies -- npm run build --if-present",
"start:dev": "lerna exec --stream --scope='@ovh-ux/manager-pci-instances-app' --include-dependencies -- npm run dev --if-present",
"start:watch": "lerna exec --stream --parallel --scope='@ovh-ux/manager-pci-instances-app' --include-dependencies -- npm run dev:watch --if-present",
"test": "vitest run",
"test:watch": "vitest --watch",
"type:check": "tsc --noEmit"
},
"dependencies": {
"@ovh-ux/manager-config": "^7.5.3-alpha.0",
"@ovh-ux/manager-core-api": "^0.9.0-alpha.0",
"@ovh-ux/manager-pci-common": "^0.8.0-alpha.6",
"@ovh-ux/manager-react-components": "^1.41.0-alpha.4",
"@ovh-ux/manager-react-core-application": "^0.10.8-alpha.0",
"@ovh-ux/manager-react-shell-client": "^0.8.0-alpha.0",
"@ovh-ux/manager-tailwind-config": "^0.2.0",
"@ovhcloud/ods-common-core": "17.2.2",
"@ovhcloud/ods-common-stencil": "17.2.2",
"@ovhcloud/ods-common-theming": "17.2.2",
"@ovhcloud/ods-components": "17.2.2",
"@ovhcloud/ods-theme-blue-jeans": "17.2.2",
"@tanstack/react-query": "^5.51.21",
"axios": "^1.6.8",
"clsx": "^2.1.1",
"element-internals-polyfill": "^1.3.10",
"i18next": "^23.8.2",
"immer": "^10.1.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-i18next": "^14.0.5",
"react-router-dom": "^6.3.0",
"zustand": "^4.5.5"
},
"devDependencies": {
"@jest/globals": "^29.7.0",
"@ovh-ux/manager-vite-config": "^0.8.1",
"@tanstack/react-query-devtools": "^5.51.21",
"@testing-library/dom": "^9.3.4",
"@testing-library/jest-dom": "^6.4.2",
"@testing-library/react": "^14.2.1",
"@testing-library/user-event": "^14.5.2",
"@types/jest": "^29.5.12",
"@types/react": "^18.2.55",
"@types/react-dom": "^18.2.19",
"@types/react-query": "^1.2.9",
"@vitejs/plugin-react": "^4.2.1",
"@vitest/coverage-v8": "^1.2.2",
"autoprefixer": "^10.4.17",
"eslint": "^8.57.0",
"eslint-plugin-react": "^7.35.0",
"msw": "^2.4.1",
"postcss": "^8.4.35",
"tailwindcss": "^3.4.4",
"vite": "^5.2.13",
"vitest": "^1.2.0"
},
"regions": [
"CA",
"EU",
"US"
],
"universes": [
"@ovh-ux/manager-public-cloud"
]
}
6 changes: 6 additions & 0 deletions packages/manager/apps/pci-instances/postcss.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"pci_instances_common_instances_title": "Instances",
"pci_instances_common_create_instance": "Créer une instance",
"pci_instances_common_new": "Nouveau",
"pci_instances_common_go_back": "Revenir à la page précédente",
"pci_instances_common_filter": "Filtrer",
"pci_instances_common_cancel": "Annuler",
"pci_instances_common_confirm": "Confirmer"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"pci_instances_delete_instance_title": "Supprimer une instance",
"pci_instances_delete_instance_confirmation_message": "Êtes-vous sûr de vouloir supprimer l'instance {{ name }} ?",
"pci_instances_delete_instance_error_message": "Une erreur est survenue lors de la suppression de l'instance {{ name }}.",
"pci_instances_delete_instance_success_message": "L'instance {{ name }} a bien été supprimée."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"pci_instances_list_column_nameId": "Nom/ID",
"pci_instances_list_column_status": "Statut",
"pci_instances_list_column_public_IPs": "IP publique(s)",
"pci_instances_list_column_private_IPs": "IP privée(s)",
"pci_instances_list_column_image": "Image",
"pci_instances_list_column_flavor": "Modèle",
"pci_instances_list_column_region": "Localisation",
"pci_instances_list_column_actions": "Actions",
"pci_instances_list_inconsistency_message": "Toutes les données n'ont pas pu être chargées. Notre équipe technique est informée et travaille à résoudre le problème.",
"pci_instances_list_unknown_error_message1": "Nous n'avons pas pu récupérer la liste de vos instances. Veuillez cliquer sur le bouton <Link>'Rafraîchir'</Link> pour essayer à nouveau.",
"pci_instances_list_unknown_error_message2": "Nos équipes techniques ont été notifiées de ce problème et travaillent à sa résolution.",
"pci_instances_list_action_instance_details": "Détails de l'instance",
"pci_instances_list_action_delete_instance": "Supprimer",
"pci_instances_list_action_autobackup": "Créer une sauvegarde automatisée"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"pci_instances_models_select_template": "Sélectionnez un modèle",
"pci_instances_models_category_balanced_title": "General Purpose",
"pci_instances_models_category_compute_title": "Compute Optimized",
"pci_instances_models_category_ram_title": "Memory Optimized",
"pci_instances_models_category_accelerated_title": "GPU",
"pci_instances_models_category_discovery_title": "Discovery",
"pci_instances_models_category_iops_title": "Storage Optimized",
"pci_instances_models_category_baremetal_title": "Metal",
"pci_instances_models_category_balanced_description": "Les instances à usage général offrent un équilibre entre RAM et performances.",
"pci_instances_models_category_compute_description": "Les instances de calcul optimisé sont idéales pour les applications nécessitant des fréquences de calculs importantes ou de la parallélisation de tâches.",
"pci_instances_models_category_ram_description": "Les instances à mémoire optimisée sont recommandées pour vos bases de données, analyses et calculs en mémoire, ainsi que d'autres applicatifs gourmands en RAM.",
"pci_instances_models_category_accelerated_description": "Les instances de calcul accéléré (GPU, FPGA) sont jusqu'à 1 000 fois plus rapides qu'un CPU sur certaines applications (rendering, transcodage vidéo, bio-informatique, Big Data, deep learning, etc.)",
"pci_instances_models_category_discovery_description": "Les instances à ressources partagées (Discovery) sont adaptées aux tests, recettes et environnements de développement. Leurs performances peuvent légèrement varier au cours du temps.",
"pci_instances_models_category_iops_description": "Les instances IOPS livrent les transactions disque les plus rapides de la gamme Public Cloud.",
"pci_instances_models_category_baremetal_description": "Les instances metal proposent des serveurs physiques à la demande, livrés en quelques minutes et facturés à l'heure ou au mois.",
"pci_instances_models_chosen_model_message": "Modèle choisi : {{ model }}",
"pci_instances_models_monthly_price_excl_vat": "à partir de {{ price }} HT/mois",
"pci_instances_models_error_message1": "Nous sommes désolés, une erreur est survenue et la requête n'a pas pu être traitée. Vous pouvez réessayer de <Link>Rafraîchir</Link> la requête.",
"pci_instances_models_error_message2": "Si le problème persiste, merci de contacter le support technique."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"pci_instances_onboarding_not_created_message": "Vous n'avez pas encore créé d'instance.",
"pci_instances_onboarding_content_message_1": "Déployez des instances parmi une large gamme de modèles et profitez de la flexibilité du cloud pour croître selon vos besoins.",
"pci_instances_onboarding_content_message_2": "Dans notre catalogue d'instances, choisissez le modèle qui vous convient parmi la gamme Sandbox, dont les ressources sont partagées, la gamme Guaranteed Resources, aux performances constantes pour les applications exigeantes, la gamme GPU, idéale pour les calculs parallélisés, et la gamme IOPS, pour les bases de données ou le big data.",
"pci_instances_onboarding_advice_message": "À tout moment, vous avez la possibilité d’augmenter la capacité de vos instances selon vos besoins. Vous pouvez aussi opter pour les instances de type flex, qui permettent également de réduire cette capacité.",
"pci_instances_onboarding_guide_title": "Tutoriel",
"pci_instances_onboarding_create_instance_title": "Créer une instance depuis l’espace client",
"pci_instances_onboarding_post_install_script_title": "Lancer un script lors de la creation d’un instance",
"pci_instances_onboarding_back_up_instance_title": "Sauvegarder une instance",
"pci_instances_onboarding_instance_introduction_title": "Introduction aux instances et autres notions cloud",
"pci_instances_onboarding_create_instance_description": "Ce guide vous montre comment créer une instance sur Public Cloud",
"pci_instances_onboarding_post_install_script_description": "",
"pci_instances_onboarding_back_up_instance_description": "Découvrez comment sauvegarder une instance Public Cloud en quelques clics",
"pci_instances_onboarding_instance_introduction_description": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"order_catalog_price_tax_excl_label": "{{ price }} HT",
"order_catalog_price_tax_incl_label": "{{ price }} TTC",
"order_catalog_price_gst_excl_label": "{{ price }} ex. GST",
"order_catalog_price_gst_incl_label": "{{ price }} incl. GST",
"order_catalog_price_interval_month": "mois",
"order_catalog_price_interval_hour": "heure"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"pci_instances_regions_select_localization": "Sélectionnez une localisation",
"pci_instances_regions_category_all_title": "Toutes les localisations",
"pci_instances_regions_category_north_america_title": "Amérique du Nord",
"pci_instances_regions_category_western_europe_title": "Europe de l'Ouest",
"pci_instances_regions_category_central_europe_title": "Europe centrale",
"pci_instances_regions_category_south_europe_title": "Europe du Sud",
"pci_instances_regions_category_south_east_asia_title": "Asie Pacifique",
"pci_instances_regions_category_oceania_title": "Océanie",
"pci_instances_regions_location": "Localisation",
"pci_instances_regions_chosen_region_message": "Localisation choisie : {{ region }}",
"pci_instances_regions_activation_loading_message": "La localisation {{ region }} est en cours d'ajout à votre projet. Veuillez patienter quelques instants.",
"pci_instances_regions_activation_success_message": "La localisation {{ region }} a bien été ajoutée à votre projet.",
"pci_instances_regions_activation_error_message": "La région {{ region }} n'a pas pu être ajoutée à votre projet. Cliquer sur suivant pour réessayer.",
"pci_instances_regions_label": "Régions",
"pci_instances_regions_tooltip": "Les Régions sont supportées par un ou plusieurs datacenters gérés par OVHCloud. Chaque région fournit une ou plusieurs Availability Zone avec le portefeuille complet de services OVHCloud.",
"pci_instances_regions_tooltip_link": "En savoir plus",
"pci_instances_regions_not_activated_message": "La localisation sélectionnée n’est pas activée. Cliquez sur « Suivant » pour l’ajouter à votre projet Public Cloud et continuer la création d’instances.",
"pci_instances_regions_show_unavailable_regions_message": "Montrer les localisations indisponibles",
"pci_instances_regions_other_models_regions_availability_message": "Ces localisations sont disponibles sur d'autre modèles.",
"pci_instances_regions_other_models_region_availability_message": "Cette localisation est disponible sur d'autre modèles.",
"pci_instances_regions_local_zones_label": "Local Zones",
"pci_instances_regions_local_zones_tooltip": "Les Local Zones sont un nouveau type de localisation, qui prennent en charge une partie de notre portefeuille de produits Public Cloud. Nous allons progressivement augmenter le nombre total de Local Zones dans le monde au cours des prochaines années.",
"pci_instances_regions_extra_coast_message": "Le trafic réseau public sortant des instances est inclus pour toutes les localisations, à l’exception de celles en région Asie-Pacifique et Océanie. Dans ces deux régions, 1 To/mois de trafic public sortant est inclus avec chaque projet Public Cloud. Au-delà de ce quota, chaque Go de trafic supplémentaire est facturé 0,07 €. Quant au trafic réseau public entrant, celui-ci est inclus dans tous les cas et pour toutes les régions.",
"pci_instances_regions_change_model_message": "Changer de modèle"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"active": "Activée",
"building": "Création",
"deleted": "Supprimée",
"deleting": "Suppression",
"error": "En erreur",
"hard_reboot": "Redémarrage (hard)",
"password": "Mot de passe",
"paused": "En pause",
"reboot": "Redémarrage",
"rebuild": "Réinstallation",
"rescued": "En mode rescue",
"resized": "Mise à jour",
"revert_resize": "Annulation",
"soft_deleted": "Supprimée (soft)",
"stopped": "Arretée",
"suspended": "Suspendue",
"unknown": "Indéfini",
"verify_resize": "Mise à jour en cours",
"migrating": "Migration en cours",
"resize": "Mise à jour en cours",
"build": "Création",
"shutoff": "Éteinte",
"rescue": "Rescue",
"shelved": "Suspendue",
"shelving": "En cours de suspension",
"unshelving": "En cours de réactivation",
"shelved_offloaded": "Suspendue",
"rescuing": "Redémarrage (rescue)",
"unrescuing": "Redémarrage",
"snapshotting": "Création d'une instance backup",
"resuming": "Reprise en cours"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"pci_instances_stepper_next_button_label": "Suivant",
"pci_instances_stepper_edit_step_label": "Modifier cette étape"
}
10 changes: 10 additions & 0 deletions packages/manager/apps/pci-instances/setup.vitest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import '@testing-library/jest-dom';
import { vi } from 'vitest';

vi.mock('zustand');

vi.mock('react-i18next', () => ({
useTranslation: () => ({
t: (translationKey: string) => translationKey,
}),
}));
19 changes: 19 additions & 0 deletions packages/manager/apps/pci-instances/src/App.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { QueryClientProvider } from '@tanstack/react-query';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
import { odsSetup } from '@ovhcloud/ods-common-core';
import queryClient from '@/queryClient';
import '@ovhcloud/ods-theme-blue-jeans';
import Router from './routes/Router';

odsSetup();

function App() {
return (
<QueryClientProvider client={queryClient}>
<Router />
<ReactQueryDevtools initialIsOpen={false} />
</QueryClientProvider>
);
}

export default App;
Loading
Loading