diff --git a/public/index.html b/public/index.html index 1532b7235..71ee733c8 100644 --- a/public/index.html +++ b/public/index.html @@ -1347,54 +1347,6 @@

UI Customization

-
-
-
- Font Scale -
-
-
- -
-
-
- select -
-
-
-
-
-
- Blur Strength -
-
-
- -
-
-
- select -
-
-
-
-
-
- Text Shadow Width -
-
-
- -
-
-
- select -
-
-
-
- -
Avatar Style:
+ + + +
+
+
+
+ Font Scale +
+
+
+ +
+
+
+ select +
+
+
+
+
+
+ Blur Strength +
+
+
+ +
+
+
+ select +
+
+
+
+
+
+ Text Shadow Width +
+
+
+ +
+
+
+ select +
+
+
+
+

UI Theme Preset diff --git a/public/scripts/power-user.js b/public/scripts/power-user.js index 627330690..b46b59bfd 100644 --- a/public/scripts/power-user.js +++ b/public/scripts/power-user.js @@ -106,6 +106,8 @@ let power_user = { send_on_enter: send_on_enter_options.AUTO, render_formulas: false, allow_name2_display: false, + hotswap_enabled: true, + timer_enabled: true, }; let themes = []; @@ -129,6 +131,9 @@ const storage_keys = { waifuMode: "TavernAI_waifuMode", movingUI: "TavernAI_movingUI", noShadows: "TavernAI_noShadows", + + hotswap_enabled: 'HotswapEnabled', + timer_enabled: 'TimerEnabled', }; let browser_has_focus = true; @@ -185,6 +190,18 @@ function fixMarkdown(text) { return newText; } +function switchHotswap() { + const value = localStorage.getItem(storage_keys.hotswap_enabled); + power_user.hotswap_enabled = value === null ? true : value == "true"; + $("body").toggleClass("no-hotswap", !power_user.hotswap_enabled); +} + +function switchTimer() { + const value = localStorage.getItem(storage_keys.timer_enabled); + power_user.timer_enabled = value === null ? true : value == "true"; + $("body").toggleClass("no-timer", !power_user.timer_enabled); +} + function switchUiMode() { const fastUi = localStorage.getItem(storage_keys.fast_ui_mode); power_user.fast_ui_mode = fastUi === null ? true : fastUi == "true"; @@ -327,6 +344,8 @@ applyChatDisplay(); switchWaifuMode() switchMovingUI(); noShadows(); +switchHotswap(); +switchTimer(); function loadPowerUserSettings(settings, data) { // Load from settings.json @@ -343,10 +362,14 @@ function loadPowerUserSettings(settings, data) { const waifuMode = localStorage.getItem(storage_keys.waifuMode); const movingUI = localStorage.getItem(storage_keys.movingUI); const noShadows = localStorage.getItem(storage_keys.noShadows); + const hotswap = localStorage.getItem(storage_keys.hotswap_enabled); + const timer = localStorage.getItem(storage_keys.timer_enabled); power_user.fast_ui_mode = fastUi === null ? true : fastUi == "true"; power_user.waifuMode = waifuMode === null ? false : waifuMode == "true"; power_user.movingUI = movingUI === null ? false : movingUI == "true"; power_user.noShadows = noShadows === null ? false : noShadows == "true"; + power_user.hotswap_enabled = hotswap === null ? true : hotswap == "true"; + power_user.timer_enabled = timer === null ? true : timer == "true"; power_user.avatar_style = Number(localStorage.getItem(storage_keys.avatar_style) ?? avatar_styles.ROUND); power_user.chat_display = Number(localStorage.getItem(storage_keys.chat_display) ?? chat_styles.DEFAULT); power_user.sheld_width = Number(localStorage.getItem(storage_keys.sheld_width) ?? sheld_width.DEFAULT); @@ -379,6 +402,8 @@ function loadPowerUserSettings(settings, data) { $("#play_sound_unfocused").prop("checked", power_user.play_sound_unfocused); $("#auto_save_msg_edits").prop("checked", power_user.auto_save_msg_edits); $("#allow_name2_display").prop("checked", power_user.allow_name2_display); + $("#hotswapEnabled").prop("checked", power_user.hotswap_enabled); + $("#messageTimerEnabled").prop("checked", power_user.timer_enabled); $(`input[name="avatar_style"][value="${power_user.avatar_style}"]`).prop("checked", true); $(`input[name="chat_display"][value="${power_user.chat_display}"]`).prop("checked", true); $(`input[name="sheld_width"][value="${power_user.sheld_width}"]`).prop("checked", true); @@ -793,6 +818,20 @@ $(document).ready(() => { saveSettingsDebounced(); }); + $("#messageTimerEnabled").on("input", function () { + const value = !!$(this).prop('checked'); + power_user.timer_enabled = value; + localStorage.setItem(storage_keys.timer_enabled, power_user.timer_enabled); + switchTimer(); + }); + + $("#hotswapEnabled").on("input", function () { + const value = !!$(this).prop('checked'); + power_user.hotswap_enabled = value; + localStorage.setItem(storage_keys.hotswap_enabled, power_user.hotswap_enabled); + switchHotswap(); + }); + $(window).on('focus', function () { browser_has_focus = true; }); diff --git a/public/style.css b/public/style.css index 7d22f50f4..0ce787c18 100644 --- a/public/style.css +++ b/public/style.css @@ -634,6 +634,14 @@ code { box-shadow: 0 0 5px var(--black50a); } +body.no-hotswap .hotswap { + display: none !important; +} + +body.no-timer .mes_timer { + display: none !important; +} + body.big-avatars .avatar { width: 60px; height: 90px;