From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id A8E221FF141 for ; Tue, 19 May 2026 17:08:36 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 04225C278; Tue, 19 May 2026 17:08:36 +0200 (CEST) From: Lukas Wagner To: pdm-devel@lists.proxmox.com Subject: [PATCH datacenter-manager] ui: autoinstaller: convert UI labels to title case Date: Tue, 19 May 2026 17:08:20 +0200 Message-ID: <20260519150820.398668-1-l.wagner@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1779203296925 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.053 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: I2EQT5OM2VK34ZNP7W3SBYTQB45NLI3T X-Message-ID-Hash: I2EQT5OM2VK34ZNP7W3SBYTQB45NLI3T X-MailFrom: l.wagner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: 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 --- .../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> { }) .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> { } }) .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> { .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