[pdm-devel] [PATCH yew-comp 4/8] meter label: use `StatusRow` for text row

Dominik Csapak d.csapak at proxmox.com
Tue Sep 23 11:51:07 CEST 2025


it's already almost identical, so let's reuse it

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 src/meter_label.rs | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/src/meter_label.rs b/src/meter_label.rs
index c4ef22f..1e92dca 100644
--- a/src/meter_label.rs
+++ b/src/meter_label.rs
@@ -1,10 +1,12 @@
 use yew::html::IntoPropValue;
 
 use pwt::prelude::*;
-use pwt::widget::{Container, Meter, Row};
+use pwt::widget::{Container, Meter};
 
 use pwt_macros::{builder, widget};
 
+use crate::StatusRow;
+
 #[widget(comp=ProxmoxMeterLabel, @element)]
 #[derive(Properties, Clone, PartialEq)]
 #[builder]
@@ -108,12 +110,6 @@ impl Component for ProxmoxMeterLabel {
     fn view(&self, ctx: &Context<Self>) -> Html {
         let props = ctx.props();
 
-        let icon = props.icon_class.as_ref().map(|icon_class| {
-            Container::from_tag("i")
-                .class(icon_class.clone())
-                .padding_end(2)
-        });
-
         let status = match &props.status {
             Some(text) => text.clone(),
             None => match props.value {
@@ -122,13 +118,9 @@ impl Component for ProxmoxMeterLabel {
             },
         };
 
-        let text_row = Row::new()
-            .gap(2)
-            .with_child(
-                html! {<div class="pwt-white-space-nowrap">{icon}{props.title.clone()}</div>},
-            )
-            .with_flex_spacer()
-            .with_child(html! {<div class="pwt-white-space-nowrap">{status}</div>});
+        let text_row = StatusRow::new(props.title.clone())
+            .status(status)
+            .icon_class(props.icon_class.clone());
 
         Container::new()
             .with_std_props(&props.std_props)
-- 
2.47.3





More information about the pdm-devel mailing list