all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH datacenter-manager] ui: autoinstaller: convert UI labels to title case
@ 2026-05-19 15:08 Lukas Wagner
  2026-05-19 21:33 ` applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Lukas Wagner @ 2026-05-19 15:08 UTC (permalink / raw)
  To: pdm-devel

Some UI elements already used Title Case, while others just started with
a capital letter and then used lower case for the remaining words. In
general, we prefer Title Case for UI element, which is why the other
strings were converted.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
 .../auto_installer/installations_panel.rs     | 10 ++---
 ui/src/remotes/auto_installer/mod.rs          |  2 +-
 .../prepared_answer_add_wizard.rs             |  6 +--
 .../prepared_answer_edit_window.rs            |  6 +--
 .../auto_installer/prepared_answer_form.rs    | 40 +++++++++----------
 .../auto_installer/prepared_answers_panel.rs  |  2 +-
 ui/src/remotes/auto_installer/token_panel.rs  |  2 +-
 7 files changed, 34 insertions(+), 34 deletions(-)

diff --git a/ui/src/remotes/auto_installer/installations_panel.rs b/ui/src/remotes/auto_installer/installations_panel.rs
index 7c6975a7..5df9a187 100644
--- a/ui/src/remotes/auto_installer/installations_panel.rs
+++ b/ui/src/remotes/auto_installer/installations_panel.rs
@@ -145,12 +145,12 @@ impl LoadableComponent for InstallationsPanelComponent {
             .class(Overflow::Hidden)
             .class("pwt-border-bottom")
             .with_child(
-                Button::new(tr!("System information"))
+                Button::new(tr!("System Information"))
                     .disabled(self.selection.is_empty())
                     .onclick(link.change_view_callback(|_| Some(ViewState::ShowRawSystemInfo))),
             )
             .with_child(
-                Button::new(tr!("Post-installation webhook data"))
+                Button::new(tr!("Post-Installation Webhook Data"))
                     .disabled(self.selection.is_empty() || !selection_has_post_hook_data)
                     .onclick(link.change_view_callback(|_| Some(ViewState::ShowRawPostHookData))),
             )
@@ -197,7 +197,7 @@ impl LoadableComponent for InstallationsPanelComponent {
             .clone();
 
         Some(match view_state {
-            Self::ViewState::ShowRawSystemInfo => DataViewWindow::new(tr!("System information"))
+            Self::ViewState::ShowRawSystemInfo => DataViewWindow::new(tr!("System Information"))
                 .on_done(on_done)
                 .loader({
                     move || {
@@ -213,7 +213,7 @@ impl LoadableComponent for InstallationsPanelComponent {
                 .resizable(true)
                 .into(),
             Self::ViewState::ShowRawPostHookData => {
-                DataViewWindow::new(tr!("Post-installation webhook data"))
+                DataViewWindow::new(tr!("Post-Installation Webhook Data"))
                     .on_done(on_done)
                     .loader({
                         move || {
@@ -291,7 +291,7 @@ fn columns() -> Vec<DataTableHeader<Installation>> {
             })
             .sorter(|a: &Installation, b: &Installation| a.status.cmp(&b.status))
             .into(),
-        DataTableColumn::new(tr!("Matched answer"))
+        DataTableColumn::new(tr!("Matched Answer"))
             .flex(1)
             .render(|item: &Installation| match &item.answer_id {
                 Some(s) => s.into(),
diff --git a/ui/src/remotes/auto_installer/mod.rs b/ui/src/remotes/auto_installer/mod.rs
index 447c04f2..08030e27 100644
--- a/ui/src/remotes/auto_installer/mod.rs
+++ b/ui/src/remotes/auto_installer/mod.rs
@@ -56,7 +56,7 @@ impl Component for AutoInstallerPanelComponent {
             .gap(2)
             .class(AlignItems::Baseline)
             .with_child(Fa::new("key"))
-            .with_child(tr!("Authentication tokens"))
+            .with_child(tr!("Authentication Tokens"))
             .into();
 
         Container::new()
diff --git a/ui/src/remotes/auto_installer/prepared_answer_add_wizard.rs b/ui/src/remotes/auto_installer/prepared_answer_add_wizard.rs
index deb069a2..f1b443e6 100644
--- a/ui/src/remotes/auto_installer/prepared_answer_add_wizard.rs
+++ b/ui/src/remotes/auto_installer/prepared_answer_add_wizard.rs
@@ -169,11 +169,11 @@ impl LoadableComponent for AddAnswerWizardComponent {
                 }
             })
             .on_close(props.on_close.clone())
-            .with_page(TabBarItem::new().label(tr!("Global options")), {
+            .with_page(TabBarItem::new().label(tr!("Global Options")), {
                 let config = props.config.clone();
                 move |_: &WizardPageRenderInfo| render_global_options_form(&config, true)
             })
-            .with_page(TabBarItem::new().label(tr!("Network options")), {
+            .with_page(TabBarItem::new().label(tr!("Network Options")), {
                 let config = props.config.clone();
                 move |p: &WizardPageRenderInfo| render_network_options_form(&p.form_ctx, &config)
             })
@@ -181,7 +181,7 @@ impl LoadableComponent for AddAnswerWizardComponent {
                 let config = props.config.clone();
                 move |p: &WizardPageRenderInfo| render_disk_setup_form(&p.form_ctx, &config)
             })
-            .with_page(TabBarItem::new().label(tr!("Target filter")), {
+            .with_page(TabBarItem::new().label(tr!("Target Filter")), {
                 let config = props.config.clone();
                 move |p: &WizardPageRenderInfo| render_target_filter_form(&p.form_ctx, &config)
             })
diff --git a/ui/src/remotes/auto_installer/prepared_answer_edit_window.rs b/ui/src/remotes/auto_installer/prepared_answer_edit_window.rs
index 4bdbab1b..dce6f57b 100644
--- a/ui/src/remotes/auto_installer/prepared_answer_edit_window.rs
+++ b/ui/src/remotes/auto_installer/prepared_answer_edit_window.rs
@@ -190,11 +190,11 @@ fn render_tabpanel(
         .class(FlexFit)
         .force_render_all(true)
         .with_item(
-            TabBarItem::new().label(tr!("Global options")),
+            TabBarItem::new().label(tr!("Global Options")),
             render_global_options_form(&props.config, false),
         )
         .with_item(
-            TabBarItem::new().label(tr!("Network options")),
+            TabBarItem::new().label(tr!("Network Options")),
             render_network_options_form(form_ctx, &props.config),
         )
         .with_item(
@@ -202,7 +202,7 @@ fn render_tabpanel(
             render_disk_setup_form(form_ctx, &props.config),
         )
         .with_item(
-            TabBarItem::new().label(tr!("Target filter")),
+            TabBarItem::new().label(tr!("Target Filter")),
             render_target_filter_form(form_ctx, &props.config),
         )
         .with_item(
diff --git a/ui/src/remotes/auto_installer/prepared_answer_form.rs b/ui/src/remotes/auto_installer/prepared_answer_form.rs
index d6120d09..75f4613e 100644
--- a/ui/src/remotes/auto_installer/prepared_answer_form.rs
+++ b/ui/src/remotes/auto_installer/prepared_answer_form.rs
@@ -182,7 +182,7 @@ pub fn render_global_options_form(
                 .required(true),
         )
         .with_field(
-            tr!("Root password"),
+            tr!("Root Password"),
             Field::new()
                 .name("root-password")
                 .input_type(InputType::Password)
@@ -210,7 +210,7 @@ pub fn render_global_options_form(
                 .required(true),
         )
         .with_field(
-            tr!("Administrator email address"),
+            tr!("Administrator Email Address"),
             Field::new()
                 .name("mailto")
                 .placeholder(EMAIL_DEFAULT_PLACEHOLDER.to_owned())
@@ -227,7 +227,7 @@ pub fn render_global_options_form(
                 .required(true),
         )
         .with_field(
-            tr!("Root SSH public keys"),
+            tr!("Root SSH Public Keys"),
             TextArea::new()
                 .name("root-ssh-keys")
                 .class("pwt-w-100")
@@ -237,11 +237,11 @@ pub fn render_global_options_form(
                 .value(config.root_ssh_keys.join("\n")),
         )
         .with_field(
-            tr!("Reboot on error"),
+            tr!("Reboot on Error"),
             Checkbox::new().name("reboot-on-error"),
         )
         .with_field(
-            tr!("Post-Installation action"),
+            tr!("Post-Installation Action"),
             Combobox::new()
                 .name("reboot-mode")
                 .items(Rc::new(
@@ -287,7 +287,7 @@ pub fn render_network_options_form(
             Checkbox::new().name("use-dhcp-network").default(true),
         )
         .with_field(
-            tr!("IP address (CIDR)"),
+            tr!("IP Address (CIDR)"),
             Field::new()
                 .name("cidr")
                 .placeholder(tr!("E.g. 192.168.0.100/24"))
@@ -296,7 +296,7 @@ pub fn render_network_options_form(
                 .required(!use_dhcp_network),
         )
         .with_field(
-            tr!("Gateway address"),
+            tr!("Gateway Address"),
             Field::new()
                 .name("gateway")
                 .placeholder(tr!("E.g. 192.168.0.1"))
@@ -305,7 +305,7 @@ pub fn render_network_options_form(
                 .required(!use_dhcp_network),
         )
         .with_field(
-            tr!("DNS server address"),
+            tr!("DNS Server Address"),
             Field::new()
                 .name("dns")
                 .placeholder(tr!("E.g. 192.168.0.254"))
@@ -318,7 +318,7 @@ pub fn render_network_options_form(
             Checkbox::new().name("use-dhcp-fqdn").default(false),
         )
         .with_right_field(
-            tr!("Fully-qualified domain name (FQDN)"),
+            tr!("Fully-Qualified Domain Name (FQDN)"),
             Field::new()
                 .name("fqdn")
                 .placeholder("{{product.product}}{{installation_nr}}.example.com")
@@ -331,14 +331,14 @@ pub fn render_network_options_form(
         )
         .with_right_field("", DisplayField::new().key("dummy"))
         .with_right_field(
-            tr!("Pin network interfaces"),
+            tr!("Pin Network Interfaces"),
             Checkbox::new()
                 .name("netif-name-pinning-enabled")
                 .default(config.netif_name_pinning_enabled),
         )
         .with_advanced_spacer()
         .with_large_advanced_field(
-            tr!("Network device filters"),
+            tr!("Network Device Filters"),
             KeyValueList::new()
                 .value(
                     config
@@ -402,7 +402,7 @@ pub fn render_disk_setup_form(
                 .show_filter(false),
         )
         .with_right_field(
-            tr!("Disk selection mode"),
+            tr!("Disk Selection Mode"),
             Combobox::new()
                 .name("disk-mode")
                 .with_item("fixed")
@@ -417,7 +417,7 @@ pub fn render_disk_setup_form(
                 .value(serde_variant_name(config.disk_mode)),
         )
         .with_field(
-            tr!("Disk names"),
+            tr!("Disk Names"),
             Field::new()
                 .name("disk-list")
                 .placeholder("sda, sdb")
@@ -428,7 +428,7 @@ pub fn render_disk_setup_form(
         )
         .with_spacer()
         .with_field(
-            tr!("Disk udev filter mode"),
+            tr!("Disk udev Filter Mode"),
             Combobox::new()
                 .name("disk-filter-match")
                 .items(Rc::new(
@@ -447,7 +447,7 @@ pub fn render_disk_setup_form(
                 .disabled(disk_mode != DiskSelectionMode::Filter),
         )
         .with_large_field(
-            tr!("Disk udev filters"),
+            tr!("Disk udev Filters"),
             KeyValueList::new()
                 .value(
                     config
@@ -716,7 +716,7 @@ pub fn render_target_filter_form(
 
     panel
         .with_field(
-            tr!("Default answer"),
+            tr!("Default Answer"),
             Checkbox::new()
                 .name("is-default")
                 .tip(tr!(
@@ -726,7 +726,7 @@ pub fn render_target_filter_form(
         )
         .with_spacer()
         .with_large_field(
-            tr!("Target filters"),
+            tr!("Target Filters"),
             KeyValueList::new()
                 .value(
                     config
@@ -824,7 +824,7 @@ pub fn render_auth_form(
             Container::from_tag("span")
                 .key("authorized-tokens-title")
                 .class("pwt-font-title-medium")
-                .with_child(tr!("Authorized tokens")),
+                .with_child(tr!("Authorized Tokens")),
         )
         .with_large_custom_child(
             TokenSelector::new(tokens)
@@ -849,7 +849,7 @@ pub fn render_auth_form(
     panel
         .with_spacer()
         .with_large_field(
-            tr!("Proxmox Datacenter Manager base URL"),
+            tr!("Proxmox Datacenter Manager Base URL"),
             Field::new()
                 .name("post-hook-base-url")
                 .tip(tr!(
@@ -859,7 +859,7 @@ pub fn render_auth_form(
                 .value(config.post_hook_base_url.clone()),
         )
         .with_large_field(
-            tr!("SHA256 certificate fingerprint"),
+            tr!("SHA256 Certificate Fingerprint"),
             Field::new()
                 .name("post-hook-cert-fp")
                 .tip(tr!("Optional certificate fingerprint"))
diff --git a/ui/src/remotes/auto_installer/prepared_answers_panel.rs b/ui/src/remotes/auto_installer/prepared_answers_panel.rs
index 0fa6970e..0cff7fd6 100644
--- a/ui/src/remotes/auto_installer/prepared_answers_panel.rs
+++ b/ui/src/remotes/auto_installer/prepared_answers_panel.rs
@@ -303,7 +303,7 @@ fn columns() -> Vec<DataTableHeader<PreparedInstallationConfig>> {
                 }
             })
             .into(),
-        DataTableColumn::new(tr!("Authorized tokens"))
+        DataTableColumn::new(tr!("Authorized Tokens"))
             .flex(1)
             .render(|item: &PreparedInstallationConfig| item.authorized_tokens.join(", ").into())
             .into(),
diff --git a/ui/src/remotes/auto_installer/token_panel.rs b/ui/src/remotes/auto_installer/token_panel.rs
index 972e3b18..06aed7bc 100644
--- a/ui/src/remotes/auto_installer/token_panel.rs
+++ b/ui/src/remotes/auto_installer/token_panel.rs
@@ -270,7 +270,7 @@ fn columns() -> Vec<DataTableHeader<AnswerToken>> {
             .sorter(|a: &AnswerToken, b: &AnswerToken| a.id.cmp(&b.id))
             .sort_order(true)
             .into(),
-        DataTableColumn::new(tr!("Created by"))
+        DataTableColumn::new(tr!("Created By"))
             .width("150px")
             .render(|item: &AnswerToken| html! { &item.created_by })
             .sorter(|a: &AnswerToken, b: &AnswerToken| a.created_by.cmp(&b.created_by))
-- 
2.47.3





^ permalink raw reply related	[flat|nested] 2+ messages in thread

* applied: [PATCH datacenter-manager] ui: autoinstaller: convert UI labels to title case
  2026-05-19 15:08 [PATCH datacenter-manager] ui: autoinstaller: convert UI labels to title case Lukas Wagner
@ 2026-05-19 21:33 ` Thomas Lamprecht
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2026-05-19 21:33 UTC (permalink / raw)
  To: pdm-devel, Lukas Wagner

On Tue, 19 May 2026 17:08:20 +0200, Lukas Wagner wrote:
> Some UI elements already used Title Case, while others just started with
> a capital letter and then used lower case for the remaining words. In
> general, we prefer Title Case for UI element, which is why the other
> strings were converted.

Applied, thanks!

[1/1] ui: autoinstaller: convert UI labels to title case
      commit: 83350a4d78cdca3d5738b66bbb4fe4ac0bc9a450




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-05-19 21:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-19 15:08 [PATCH datacenter-manager] ui: autoinstaller: convert UI labels to title case Lukas Wagner
2026-05-19 21:33 ` applied: " Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal