[pdm-devel] [PATCH datacenter-manager] ui: fix navigate_to route paths
Dominik Csapak
d.csapak at proxmox.com
Wed Sep 10 14:04:42 CEST 2025
routes must start with a '/' and we need the '/remote-' prefix to route
to the correct panel
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
ui/src/lib.rs | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/ui/src/lib.rs b/ui/src/lib.rs
index e591a9e..77b1d3a 100644
--- a/ui/src/lib.rs
+++ b/ui/src/lib.rs
@@ -152,32 +152,32 @@ pub(crate) fn navigate_to<C: yew::Component>(
Some(match resource {
pdm_client::types::Resource::PveQemu(PveQemuResource { vmid, .. })
| pdm_client::types::Resource::PveLxc(PveLxcResource { vmid, .. }) => {
- (Some(remote), format!("guest+{vmid}"))
+ (true, format!("guest+{vmid}"))
}
pdm_client::types::Resource::PveNode(node) => {
- (Some(remote), format!("node+{}", node.node))
+ (true, format!("node+{}", node.node))
}
pdm_client::types::Resource::PveStorage(storage) => (
- Some(remote),
+ true,
format!("storage+{}+{}", storage.node, storage.storage),
),
pdm_client::types::Resource::PveSdn(PveSdnResource::Zone(_)) => {
- (None, "sdn/zones".to_string())
- }
- pdm_client::types::Resource::PbsDatastore(store) => {
- (Some(remote), store.name.clone())
+ (false, "sdn/zones".to_string())
}
+ pdm_client::types::Resource::PbsDatastore(store) => (true, store.name.clone()),
// FIXME: implement
_ => return None,
})
})
- .unwrap_or_default();
+ .unwrap_or_else(|| (true, String::new()));
- let prefix = prefix
- .map(|prefix| format!("{prefix}/"))
- .unwrap_or_default();
+ let prefix = if prefix {
+ format!("remote-{remote}/")
+ } else {
+ String::new()
+ };
- nav.push(&yew_router::AnyRoute::new(format!("{prefix}{id}")));
+ nav.push(&yew_router::AnyRoute::new(format!("/{prefix}{id}")));
}
}
--
2.47.3
More information about the pdm-devel
mailing list