From d496b6e34aaf03810853fcda081cbefd8f394bb5 Mon Sep 17 00:00:00 2001 From: syeopite Date: Sun, 24 Aug 2025 23:12:20 -0700 Subject: [PATCH] Use `PagesEnabled` struct when setting pages_enabled The config update logic for the admin panel was not updated to use the `PagesEnabled` struct introduced in commit `e238624` --- src/invidious/config.cr | 2 ++ src/invidious/routes/preferences.cr | 9 ++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/invidious/config.cr b/src/invidious/config.cr index f9a3572af..28b81b8de 100644 --- a/src/invidious/config.cr +++ b/src/invidious/config.cr @@ -79,6 +79,8 @@ struct PagesEnabled property popular : Bool = true property search : Bool = true + def initialize(@trending, @popular, @search); end + def has_key?(key : String) : Bool %w(trending popular search).includes?(key) end diff --git a/src/invidious/routes/preferences.cr b/src/invidious/routes/preferences.cr index 3852f8a95..d8317ae26 100644 --- a/src/invidious/routes/preferences.cr +++ b/src/invidious/routes/preferences.cr @@ -199,12 +199,11 @@ module Invidious::Routes::PreferencesRoute end CONFIG.default_user_preferences.feed_menu = admin_feed_menu - pages_enabled = { - popular: (env.params.body["popular_enabled"]?.try &.as(String) || "on") == "on", + CONFIG.pages_enabled = PagesEnabled.new( + popular: (env.params.body["popular_enabled"]?.try &.as(String) || "on") == "on", trending: (env.params.body["trending_enabled"]?.try &.as(String) || "on") == "on", - search: (env.params.body["search_enabled"]?.try &.as(String) || "on") == "on", - } - CONFIG.pages_enabled = pages_enabled + search: (env.params.body["search_enabled"]?.try &.as(String) || "on") == "on", + ) captcha_enabled = env.params.body["captcha_enabled"]?.try &.as(String) captcha_enabled ||= "off"