From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 0CE421FF14F for ; Fri, 08 May 2026 17:05:50 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id E33FB1C73E; Fri, 8 May 2026 17:05:49 +0200 (CEST) From: Shannon Sterz To: yew-devel@lists.proxmox.com Subject: [PATCH yew-mobile-gui 17/20] node status: align layout for node status with guest pages Date: Fri, 8 May 2026 17:05:32 +0200 Message-ID: <20260508150535.420205-18-s.sterz@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260508150535.420205-1-s.sterz@proxmox.com> References: <20260508150535.420205-1-s.sterz@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1778252630513 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.117 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: GSHAQW2BHB7OG6RB7PZRTPNB3LCPUJ43 X-Message-ID-Hash: GSHAQW2BHB7OG6RB7PZRTPNB3LCPUJ43 X-MailFrom: s.sterz@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: Yew framework devel list at Proxmox List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: by adding icons and scrolling to the top-level tab bar. Signed-off-by: Shannon Sterz --- src/pages/page_node_status/mod.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/pages/page_node_status/mod.rs b/src/pages/page_node_status/mod.rs index be6a98c..a566179 100644 --- a/src/pages/page_node_status/mod.rs +++ b/src/pages/page_node_status/mod.rs @@ -1,6 +1,7 @@ use std::rc::Rc; use anyhow::Error; +use pwt::css::Flex; use serde::{Deserialize, Serialize}; use yew::prelude::*; @@ -10,7 +11,7 @@ use pwt::AsyncAbortGuard; use pwt::prelude::*; use pwt::props::StorageLocation; use pwt::state::PersistentState; -use pwt::widget::{Column, TabBar, TabBarItem}; +use pwt::widget::{Column, MiniScroll, TabBar, TabBarItem}; use proxmox_yew_comp::http_get; @@ -122,10 +123,12 @@ impl Component for PvePageNodeStatus { let tab_bar = TabBar::new() .class(pwt::css::JustifyContent::Center) + .class(Flex::Fill) .active(active_tab) .with_item( TabBarItem::new() .label(tr!("Dashboard")) + .icon_class("fa fa-book") .key("dashboard") .on_activate( ctx.link() @@ -135,6 +138,7 @@ impl Component for PvePageNodeStatus { .with_item( TabBarItem::new() .label(tr!("Services")) + .icon_class("fa fa-cogs") .key("services") .on_activate( ctx.link() @@ -144,6 +148,7 @@ impl Component for PvePageNodeStatus { .with_item( TabBarItem::new() .label(tr!("Updates")) + .icon_class("fa fa-refresh") .key("updates") .on_activate( ctx.link() @@ -158,7 +163,11 @@ impl Component for PvePageNodeStatus { .title(format!("Node {}", props.node)) .back("/resources"), ) - .with_child(tab_bar) + .with_child( + MiniScroll::new(tab_bar) + .class(Flex::None) + .scroll_mode(pwt::widget::MiniScrollMode::Native), + ) .with_child(content) .into() } -- 2.47.3