[pdm-devel] [PATCH datacenter-manager v2 7/9] ui: login: enable subscription check

Dominik Csapak d.csapak at proxmox.com
Mon Dec 1 14:53:07 CET 2025


show popup when the local subscription check fails

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
changes from v1:
* use nodes/localhost endpoint instead of the dashboard one

 ui/src/main.rs | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/ui/src/main.rs b/ui/src/main.rs
index 454a2927..9cff3833 100644
--- a/ui/src/main.rs
+++ b/ui/src/main.rs
@@ -1,6 +1,6 @@
 use anyhow::Error;
 use gloo_timers::callback::Timeout;
-use serde_json::json;
+use serde_json::{json, Value};
 use wasm_bindgen::JsCast;
 use web_sys::HtmlElement;
 
@@ -21,7 +21,6 @@ use proxmox_yew_comp::{
 };
 
 //use pbs::MainMenu;
-use pdm_api_types::subscription::{RemoteSubscriptionState, RemoteSubscriptions};
 use pdm_api_types::views::ViewConfig;
 use pdm_ui::{
     register_pve_tasks, MainMenu, RemoteList, RemoteListCacheEntry, SearchProvider, TopNavBar,
@@ -64,16 +63,10 @@ struct DatacenterManagerApp {
 }
 
 async fn check_subscription() -> Msg {
-    let data: Result<Vec<RemoteSubscriptions>, _> = http_get("/resources/subscription", None).await;
+    let data: Result<Value, _> = http_get("/nodes/localhost/subscription", None).await;
 
-    let show_alert = match data {
-        Ok(list) => list
-            .into_iter()
-            .any(|info| info.state == RemoteSubscriptionState::None),
-        Err(_) => false,
-    };
-
-    if show_alert {
+    let is_active = proxmox_yew_comp::subscription_is_active(&Some(data));
+    if !is_active {
         Msg::ShowSubscriptionAlert
     } else {
         Msg::ConfirmSubscription
@@ -246,11 +239,8 @@ impl Component for DatacenterManagerApp {
                 true
             }
             Msg::ShowSubscriptionAlert => {
-                // Disable for alpha and rework for a beta or stable version to avoid friction if a
-                // few unsubscribed test instances are present in another subscribed (big) setup.
-                // self.show_subscription_alert = Some(true);
-                self.subscription_confirmed = true;
-                self.show_subscription_alert = Some(false);
+                self.subscription_confirmed = false;
+                self.show_subscription_alert = Some(true);
                 true
             }
             Msg::Logout => {
-- 
2.47.3





More information about the pdm-devel mailing list