diff --git a/app/sovran_systemsos_web/server.py b/app/sovran_systemsos_web/server.py index af848ce..1a4bd1f 100644 --- a/app/sovran_systemsos_web/server.py +++ b/app/sovran_systemsos_web/server.py @@ -234,10 +234,9 @@ _support_expiry_timer_lock = Lock() CATEGORY_ORDER = [ ("infrastructure", "Infrastructure"), - ("bitcoin-base", "Bitcoin Base"), - ("bitcoin-apps", "Bitcoin Apps"), + ("bitcoin", "Bitcoin"), ("communication", "Communication"), - ("apps", "Self-Hosted Apps"), + ("apps", "Personal Apps"), ("nostr", "Nostr"), ("support", "Support"), ("feature-manager", "Feature Manager"), @@ -452,7 +451,7 @@ ROLE_LABELS = { ROLE_CATEGORIES: dict[str, set[str] | None] = { "server_plus_desktop": None, "desktop": {"infrastructure", "support", "feature-manager"}, - "node": {"infrastructure", "bitcoin-base", "bitcoin-apps", "support", "feature-manager"}, + "node": {"infrastructure", "bitcoin", "support", "feature-manager"}, } # Features shown per role (None = show all) diff --git a/app/sovran_systemsos_web/static/js/constants.js b/app/sovran_systemsos_web/static/js/constants.js index 91c56bd..a7a1464 100644 --- a/app/sovran_systemsos_web/static/js/constants.js +++ b/app/sovran_systemsos_web/static/js/constants.js @@ -23,13 +23,19 @@ const SUPPORT_TIMER_INTERVAL = 1000; const CATEGORY_ORDER = [ "infrastructure", - "bitcoin-base", - "bitcoin-apps", + "bitcoin", "communication", "apps", "nostr", ]; +/* The service catalog still distinguishes the Bitcoin foundation services + from the Bitcoin apps; the Hub shows them as one "Bitcoin" section. */ +const CATEGORY_ALIASES = { + "bitcoin-base": "bitcoin", + "bitcoin-apps": "bitcoin", +}; + const FEATURE_SUBCATEGORY_LABELS = { "infrastructure": "🔧 Infrastructure", "bitcoin": "₿ Bitcoin", diff --git a/app/sovran_systemsos_web/static/js/dashboard.js b/app/sovran_systemsos_web/static/js/dashboard.js index 803317e..632ecf2 100644 --- a/app/sovran_systemsos_web/static/js/dashboard.js +++ b/app/sovran_systemsos_web/static/js/dashboard.js @@ -24,8 +24,7 @@ var CAT_ICONS = { "all": "g-grid", "infrastructure": "g-server", - "bitcoin-base": "g-btc-sym", - "bitcoin-apps": "g-btc-sym", + "bitcoin": "g-btc-sym", "communication": "g-chat", "apps": "g-dots", "nostr": "g-antenna", @@ -34,8 +33,7 @@ var CAT_FALLBACK_LABELS = { "infrastructure": "Infrastructure", - "bitcoin-base": "Bitcoin", - "bitcoin-apps": "Bitcoin Apps", + "bitcoin": "Bitcoin", "communication": "Communication", "apps": "Personal Apps", "nostr": "Nostr", @@ -75,6 +73,7 @@ var order = []; visibleServices().forEach(function (s) { var cat = s.category || "other"; + if (CATEGORY_ALIASES[cat]) cat = CATEGORY_ALIASES[cat]; if (!counts[cat]) { counts[cat] = 0; order.push(cat); } counts[cat]++; }); diff --git a/app/sovran_systemsos_web/static/js/tiles.js b/app/sovran_systemsos_web/static/js/tiles.js index ac23b96..78c66f1 100644 --- a/app/sovran_systemsos_web/static/js/tiles.js +++ b/app/sovran_systemsos_web/static/js/tiles.js @@ -25,6 +25,7 @@ function buildTiles(services, categoryLabels) { continue; } var cat = svc.category || "other"; + if (CATEGORY_ALIASES[cat]) cat = CATEGORY_ALIASES[cat]; if (!grouped[cat]) grouped[cat] = []; grouped[cat].push(svc); }