Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
59db462
fix: update @nethserver/ns8-ui-lib to version 1.11.0
stephdl Jan 20, 2026
a5e6cd5
fix(i18n): remove 'about_to_install_app' key from multiple translatio…
stephdl Jan 20, 2026
306f3d7
fix(i18n): update installation prompts and add new storage messages
stephdl Jan 20, 2026
e3a4e39
fix(ui): enhance RestoreSingleInstanceModal with additional volume ha…
stephdl Jan 20, 2026
5f6674b
fix(ui): add additional storage indication in NodeSelector component
stephdl Jan 20, 2026
4ae3821
feat(ui): add AdditionnalVolumesSelector component for enhanced volum…
stephdl Jan 20, 2026
311603a
feat(ui): refactor CloneOrMoveAppModal for improved volume selection …
stephdl Jan 20, 2026
ffc1e49
feat(ui): refactor InstallAppModal for improved step navigation and a…
stephdl Jan 20, 2026
c855285
Merge branch 'main' into sdl-7757
stephdl Jan 20, 2026
3eac7cd
fix(ui): correct casing of NsWizard component in CloneOrMoveAppModal
stephdl Jan 20, 2026
3b1dcbc
fix(ui): simplify error clearing in InstallAppModal on modal close
stephdl Jan 20, 2026
c4b4096
fix(ui): correct spelling of "additional" in volume selectors across …
stephdl Jan 20, 2026
fec7309
fix(ui): standardize method naming for task completion in multiple mo…
stephdl Jan 20, 2026
4d4b6c9
fix(ui): update error handling to use listMountPoints instead of list…
stephdl Jan 20, 2026
ab60c28
fix(ui): correct spelling of "additionnal" to "additional" in Additio…
stephdl Jan 20, 2026
ff231c1
fix(ui): correct spelling of "additionnal" to "additional" in multipl…
stephdl Jan 20, 2026
dbd9f0e
fix(ui): correct spelling of "Additionnal" to "Additional" in multipl…
stephdl Jan 20, 2026
c61409c
fix(ui): remove unused hasAdditionalStorageAvailable method and relat…
stephdl Jan 20, 2026
f5c6208
fix(ui): handle cases where app does not require additional storage i…
stephdl Jan 20, 2026
c255b0b
fix(ui): update next button disabled state logic in RestoreSingleInst…
stephdl Jan 20, 2026
8349f0d
fix(ui): replace VmdkDisk16 with VmdkDisk20 icon in NodeSelector comp…
stephdl Jan 20, 2026
bdd1e14
fix(ui): correct volume usage calculation in AdditionalVolumesSelecto…
stephdl Jan 21, 2026
cefe414
fix(ui): rename computed property from selectedSnapshot to selectedVo…
stephdl Jan 21, 2026
6c767f6
fix(ui): remove unused primary-click event from NsWizard in CloneOrMo…
stephdl Jan 21, 2026
092e2d6
fix(ui): update next button disabled state logic in CloneOrMoveAppModal
stephdl Jan 21, 2026
161c440
fix(ui): optimize loading state handling in NodeSelector component
stephdl Jan 21, 2026
4574e71
Apply suggestions from code review
stephdl Jan 21, 2026
c762fa0
fix(ui): update node selection logic in RestoreSingleInstanceModal co…
stephdl Jan 21, 2026
ca3e1a4
Apply suggestions from translation review
stephdl Jan 22, 2026
b442536
Apply suggestions from code review of AdditionalVolumesSelector
stephdl Jan 22, 2026
9120c4d
fix(ui): simplify next button logic in RestoreSingleInstanceModal com…
stephdl Jan 22, 2026
aab6ead
fix(ui): remove unnecessary loading state from next button in CloneOr…
stephdl Jan 22, 2026
eb34b10
fix(ui): remove unnecessary loading state from InstallAppModal component
stephdl Jan 22, 2026
89e5ca2
fix(ui): update NodeSelector to handle loading state and slot rendering
stephdl Jan 22, 2026
b535de7
fix(ui): round percentage calculation for volume usage in AdditionalV…
stephdl Jan 22, 2026
c799595
fix(ui): update AdditionalVolumesSelector to include footer icon and …
stephdl Jan 22, 2026
1afe7cb
fix(ui): simplify node label display in volume installation prompts
stephdl Jan 22, 2026
803b013
translation review of Davide Principi
stephdl Jan 23, 2026
7839bea
fix(i18n): update translation keys for volume restoration messages
stephdl Jan 26, 2026
cc2436b
fix(ui): replace direct length checks with computed property for clus…
stephdl Jan 26, 2026
9e19124
fix(ui): rename listNodes to nodesList for consistency in error handl…
stephdl Jan 26, 2026
2b2355c
fix(ui): update volume usage display format in AdditionalVolumesSelec…
stephdl Jan 26, 2026
0c9237b
fix(ui): standardize formatting in various modal components
stephdl Jan 26, 2026
d492f01
fix(ui): replace direct length checks with computed property for clus…
stephdl Jan 26, 2026
2e1f8ba
fix(ui): rename listNodes to nodesList for consistency in error handling
stephdl Jan 26, 2026
8765e56
fix(ui): replace direct length checks with computed property for clus…
stephdl Jan 26, 2026
51604a7
fix(ui): rename listNodes to nodesList for consistency in error handling
stephdl Jan 26, 2026
0407c15
fix(ui): refactor loading state handling and rename fetchListNodes to…
stephdl Jan 26, 2026
c9d2b11
fix(ui): simplify state reset by calling onModalHidden in CloneOrMove…
stephdl Jan 26, 2026
1e1385f
fix(ui): remove infinite scroll implementation and simplify volume ha…
stephdl Jan 26, 2026
fd235e8
fix(ui): unify loading state handling by introducing isLoading comput…
stephdl Jan 26, 2026
1f32914
fix(ui): remove unnecessary styles from icon-spacing class
stephdl Jan 26, 2026
66e2bfd
fix(ui): streamline loading state initialization in RestoreSingleInst…
stephdl Jan 26, 2026
9e4f16d
fix(ui): enhance loading state management in RestoreSingleInstanceModal
stephdl Jan 26, 2026
bef2434
fix(ui): optimize modal shown lifecycle by removing async/await in Cl…
stephdl Jan 26, 2026
7a05aab
fix(ui): replace loading eligibility check with isLoadingNodeData in …
stephdl Jan 26, 2026
11898d4
fix(i18n): restore unused installation messages for multiple languages
stephdl Jan 27, 2026
b55b6c1
fix(ui): rename fetchNodesList to ListNodes for consistency across mo…
stephdl Jan 27, 2026
d157b30
fix(ui): unify loading state management for getClusterStatus across m…
stephdl Jan 27, 2026
6582ff1
fix(ui): standardize method naming for ListNodes to listNodes across …
stephdl Jan 27, 2026
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
2 changes: 0 additions & 2 deletions core/ui/public/i18n/ar/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -547,7 +547,6 @@
"core_apps": "Core apps",
"app_now_renamed": "{instance} (now {module_id})",
"current_node": "Current node",
"about_to_install_app": "<strong>{app} {version}</strong> will be installed on <strong>{node}</strong>",
"install": "Install",
"update_core": "Update core",
"latest_version": "Latest version",
Expand Down Expand Up @@ -594,7 +593,6 @@
"reason_max_per_node_limit": "Limit of {param} instance reached | Limit of {param} instances reached",
"num_instances_installed": "{num} instance installed | {num} instances installed",
"rootfull_app_warning_description": "After installation {appName} will have full access to the cluster: this can pose significant security risks.",
"cannot_install_app_on_node": "Cannot install {app} {version} on {node}",
"updates_disabled_ns7_migration_description": "There is an ongoing NS7 migration. Updates will resume once the migration is complete.",
"updates_disabled_ns7_migration_title": "Updates are suspended",
"no_node_eligible_for_instance_cloning": "No node is eligible for instance cloning",
Expand Down
2 changes: 0 additions & 2 deletions core/ui/public/i18n/de/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,6 @@
"updating_to_version": "Aktualisiere auf Version {version}",
"n_instances_will_be_updated_c": "Aktualisierungen von{num} Instanz startet gleich... | Aktualisierung von {num} Instanzen startet gleich...",
"no_apps": "Keine App",
"about_to_install_app": "app} {version} wird installiert auf {node}",
"latest_version": "aktuelle Version",
"uninstall_app": "Deinstallieren von {name}? Die App-Daten werden ebenfalls gelöscht. Dieser Vorgang ist NICHT umkehrbar",
"uninstall": "Deinstallieren",
Expand Down Expand Up @@ -608,7 +607,6 @@
"reason_max_per_node_limit": "Limit of {param} instance reached | Limit of {param} instances reached",
"num_instances_installed": "{num} instance installed | {num} instances installed",
"rootfull_app_warning_description": "After installation {appName} will have full access to the cluster: this can pose significant security risks.",
"cannot_install_app_on_node": "Cannot install {app} {version} on {node}",
"updates_disabled_ns7_migration_title": "Updates are suspended",
"updates_disabled_ns7_migration_description": "Es gibt eine laufende NS7 Migration. Nach Abschluss der Migration werden die Updates wieder aufgenommen.",
"no_node_eligible_for_instance_cloning": "No node is eligible for instance cloning",
Expand Down
17 changes: 13 additions & 4 deletions core/ui/public/i18n/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,8 @@
"set-note": "Set note",
"import-users": "Import users",
"export-users": "Export users",
"get-password-warning": "Get password warning"
"get-password-warning": "Get password warning",
"list-mountpoints": "List mountpoints"
},
"network": {
"title": "Network"
Expand Down Expand Up @@ -1011,7 +1012,7 @@
"source_package": "Application image",
"app_installation": "Install {app}",
"choose_node_for_installation": "Select installation node for {app} {version}:",
"about_to_install_app": "{app} {version} will be installed on {node}.",
"select_node_volume_for_installation": "Select the volume installation on node {node} for application data:",
"installing_on_node": "Installing on {node}",
"instance_installed_on_node": "{module_id} installed on {node}",
"app_instances": "{app} instances",
Expand Down Expand Up @@ -1109,17 +1110,25 @@
"reason_max_per_node_limit": "Limit of {param} instance reached | Limit of {param} instances reached",
"reason_min_core_requirement": "Core version is lower than {param}",
"search_core_apps": "Search core applications",
"cannot_install_app_on_node": "Cannot install {app} {version} on {node}",
"no_node_eligible_for_app_installation": "No node is eligible for application installation",
"no_node_eligible_for_instance_cloning": "No node is eligible for instance cloning",
"no_node_eligible_for_instance_migration": "No node is eligible for instance migration",
"node_offline": "Node is offline",
"no_version_reason": {
"no_app_version": "No stable release of {app_name} is available in the '{app_repository}' repository",
"core_version_too_low": "Update core to version {core_min} or higher to install this application",
"rootfull_certification_level_too_low": "Applications with administrative privileges must have a minimum certification level of {certification_min}/5 to be installed"
},
"migrating_app_title": "This application instance is undergoing migration",
"migrating_app_description": "You'll be able to use {name} again once the migration from NethServer 7 is complete."
"migrating_app_description": "You'll be able to use {name} again once the migration from NethServer 7 is complete.",
"instance_label_too_long": "Application label must be 24 characters or less",
"instance_label_alphanum_only": "Application label can only contain alphanumeric characters and spaces",
"additional_storage_available": "Additional storage available",
"of": "of",
"used": "used",
"available": "available",
"default_storage": "Default storage",
"no_volume_to_restore": "No volume to restore"
},
"system_logs": {
"title": "System logs",
Expand Down
2 changes: 0 additions & 2 deletions core/ui/public/i18n/es/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -756,7 +756,6 @@
"cluster_up_to_date": "Tu clúster está actualizado",
"updating_to_version": "Actualizando a la versión {version}",
"n_instances_will_be_updated_c": "La actualización de la instancia {num} comenzará en un momento... | La actualización de las instancias {num} comenzará en un momento...",
"about_to_install_app": "<strong>{app} {version}</strong> se instalará en <strong>{node}</strong>",
"update_core": "Actualizar núcleo",
"uninstall_app": "¿Desinstalar <strong>{name}</strong>? Los datos de la aplicación también se eliminarán. Esta acción <strong>NO</strong> es reversible",
"uninstall": "Desinstalar",
Expand Down Expand Up @@ -789,7 +788,6 @@
"reason_max_per_node_limit": "Limit of {param} instance reached | Limit of {param} instances reached",
"num_instances_installed": "{num} instance installed | {num} instances installed",
"rootfull_app_warning_description": "After installation {appName} will have full access to the cluster: this can pose significant security risks.",
"cannot_install_app_on_node": "Cannot install {app} {version} on {node}",
"updates_disabled_ns7_migration_description": "There is an ongoing NS7 migration. Updates will resume once the migration is complete.",
"updates_disabled_ns7_migration_title": "Updates are suspended",
"no_node_eligible_for_instance_cloning": "No node is eligible for instance cloning",
Expand Down
2 changes: 0 additions & 2 deletions core/ui/public/i18n/eu/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -1111,7 +1111,6 @@
"core_apps": "Core apps",
"app_now_renamed": "{instance} (now {module_id})",
"current_node": "Current node",
"about_to_install_app": "<strong>{app} {version}</strong> will be installed on <strong>{node}</strong>",
"install": "Install",
"update_core": "Update core",
"latest_version": "Latest version",
Expand Down Expand Up @@ -1155,7 +1154,6 @@
"level_2_description": "App developed by third-parties, certified by NethServer 8 community",
"reason_max_per_node_limit": "Limit of {param} instance reached | Limit of {param} instances reached",
"num_instances_installed": "{num} instance installed | {num} instances installed",
"cannot_install_app_on_node": "Cannot install {app} {version} on {node}",
"updates_disabled_ns7_migration_description": "There is an ongoing NS7 migration. Updates will resume once the migration is complete.",
"updates_disabled_ns7_migration_title": "Updates are suspended",
"no_node_eligible_for_instance_cloning": "No node is eligible for instance cloning",
Expand Down
2 changes: 0 additions & 2 deletions core/ui/public/i18n/fr/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -448,11 +448,9 @@
"current_node": "Current node",
"reason_max_per_node_limit": "Limit of {param} instance reached | Limit of {param} instances reached",
"no_node_eligible_for_app_installation": "No node is eligible for app installation",
"about_to_install_app": "{app} {version} will be installed on {node}.",
"no_node_eligible_for_instance_migration": "No node is eligible for instance migration",
"num_instances_installed": "{num} instance installed | {num} instances installed",
"install": "Install",
"cannot_install_app_on_node": "Cannot install {app} {version} on {node}",
"update_core": "Update core",
"latest_version": "Latest version",
"instance": "Instance",
Expand Down
2 changes: 0 additions & 2 deletions core/ui/public/i18n/it/translation.json
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it necessary to remove old strings on target languages? I wonder if Weblate can do it automatically in a separate pull request (and avoid conflicts with its job).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good shot, what do you think andre ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Weblate should take care of removing stale strings, since we are using "Clean-up translation files" add-on

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok during the review I can bring them back

Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@
"open_app": "Apri applicazione",
"update": "Aggiorna",
"choose_node_for_installation": "Seleziona il nodo di installazione per {app} {version}",
"about_to_install_app": "{app} {version} verrà installata su {node}.",
"instance_uninstallation": "Disinstalla {istanza}",
"no_instance_installed": "Nessuna istanza installata",
"instance": "Istanza",
Expand Down Expand Up @@ -142,7 +141,6 @@
"reason_max_per_node_limit": "Limite di una istanza raggiunto | Limite di {param} istanze raggiunto",
"num_instances_installed": "Una istanza installata | {num} istanze installate",
"rootfull_app_warning_description": "Dopo l'installazione {appName} avrà pieno accesso al cluster: questo può comportare rischi di sicurezza significativi.",
"cannot_install_app_on_node": "Non è possibile installare {app} {version} su {node}",
"updates_disabled_ns7_migration_description": "È in corso una migrazione da NS7. Gli aggiornamenti riprenderanno una volta completata la migrazione.",
"updates_disabled_ns7_migration_title": "Gli aggiornamenti sono sospesi",
"no_node_eligible_for_instance_cloning": "Nessun nodo è idoneo alla clonazione dell'istanza",
Expand Down
2 changes: 0 additions & 2 deletions core/ui/public/i18n/nl/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -553,11 +553,9 @@
"current_node": "Huidige node",
"reason_max_per_node_limit": "Limiet van {param} instanties bereikt | Limiet van {param} instanties bereikt",
"no_node_eligible_for_app_installation": "Geen enkel node komt in aanmerking voor app-installatie",
"about_to_install_app": "{app} {version} wordt geïnstalleerd op {node}.",
"no_node_eligible_for_instance_migration": "Geen enkel node komt in aanmerking voor instantie-migratie",
"num_instances_installed": "{num} instance geïnstalleerd | {num} instances geïnstalleerd",
"install": "Installeer",
"cannot_install_app_on_node": "Kan {app} {versie} niet installeren op {node}",
"update_core": "Bijwerken kern",
"latest_version": "Laatste versie",
"instance": "Instance",
Expand Down
2 changes: 0 additions & 2 deletions core/ui/public/i18n/pt/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -984,7 +984,6 @@
"core_apps": "Core apps",
"app_now_renamed": "{instance} (now {module_id})",
"current_node": "Current node",
"about_to_install_app": "<strong>{app} {version}</strong> will be installed on <strong>{node}</strong>",
"install": "Install",
"update_core": "Update core",
"latest_version": "Latest version",
Expand Down Expand Up @@ -1033,7 +1032,6 @@
"reason_max_per_node_limit": "Limit of {param} instance reached | Limit of {param} instances reached",
"num_instances_installed": "{num} instance installed | {num} instances installed",
"rootfull_app_warning_description": "After installation {appName} will have full access to the cluster: this can pose significant security risks.",
"cannot_install_app_on_node": "Cannot install {app} {version} on {node}",
"updates_disabled_ns7_migration_description": "There is an ongoing NS7 migration. Updates will resume once the migration is complete.",
"updates_disabled_ns7_migration_title": "Updates are suspended",
"no_node_eligible_for_instance_cloning": "No node is eligible for instance cloning",
Expand Down
2 changes: 0 additions & 2 deletions core/ui/public/i18n/pt_BR/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -469,7 +469,6 @@
"core_apps": "Core apps",
"app_now_renamed": "{instance} (now {module_id})",
"current_node": "Current node",
"about_to_install_app": "<strong>{app} {version}</strong> will be installed on <strong>{node}</strong>",
"install": "Install",
"update_core": "Update core",
"latest_version": "Latest version",
Expand Down Expand Up @@ -518,7 +517,6 @@
"reason_max_per_node_limit": "Limit of {param} instance reached | Limit of {param} instances reached",
"num_instances_installed": "{num} instance installed | {num} instances installed",
"rootfull_app_warning_description": "After installation {appName} will have full access to the cluster: this can pose significant security risks.",
"cannot_install_app_on_node": "Cannot install {app} {version} on {node}",
"updates_disabled_ns7_migration_description": "There is an ongoing NS7 migration. Updates will resume once the migration is complete.",
"updates_disabled_ns7_migration_title": "Updates are suspended",
"no_node_eligible_for_instance_cloning": "No node is eligible for instance cloning",
Expand Down
Loading