From d350e51d0b96bf54e27155c49e926e4a1522e56e Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Tue, 5 Mar 2024 12:50:51 -0600 Subject: [PATCH] Improvements to server browser --- lib/application_manager.rb | 11 +++++++++++ lib/pages/server_browser.rb | 5 +++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/application_manager.rb b/lib/application_manager.rb index d67fc99..0b19b9e 100644 --- a/lib/application_manager.rb +++ b/lib/application_manager.rb @@ -476,6 +476,17 @@ class W3DHub app.channels.detect { |g| g.id.to_s == channel_id.to_s }&.name end + def application(app_id) + Store.applications.games.detect { |g| g.id.to_s == app_id.to_s } + end + + def channel(app_id, channel_id) + app = Store.applications.games.detect { |g| g.id.to_s == app_id.to_s } + return unless app + + app.channels.detect { |g| g.id.to_s == channel_id.to_s } + end + # No application tasks are being done def idle? !busy? diff --git a/lib/pages/server_browser.rb b/lib/pages/server_browser.rb index 5bff75b..026248f 100644 --- a/lib/pages/server_browser.rb +++ b/lib/pages/server_browser.rb @@ -369,7 +369,7 @@ class W3DHub flow(fill: true) image game_icon(server), height: 1.0 - title server.status.name, text_wrap: :none + title server.status.name[0..30], text_wrap: :none flow(fill: true) end @@ -377,7 +377,8 @@ class W3DHub flow(width: 1.0, height: 46, margin_top: 16, margin_bottom: 16) do game_installed = Store.application_manager.installed?(server.game, server.channel) game_updatable = Store.application_manager.updateable?(server.game, server.channel) - style = server.channel != "release" ? TESTING_BUTTON : {} + channel = Store.application_manager.channel(server.game, server.channel) + style = ((channel && channel.user_level.downcase.strip == "public") || server.channel == "release") ? {} : TESTING_BUTTON flow(fill: true) button "#{I18n.t(:"server_browser.join_server")}", enabled: (game_installed && !game_updatable), **style do