Only load night mode stylesheet when night mode is actually on

This commit is contained in:
Bernd Bestel 2022-04-05 18:18:38 +02:00
parent 4d4ae9812b
commit adaa54ba8b
No known key found for this signature in database
GPG Key ID: 71BD34C0D4891300
3 changed files with 27 additions and 20 deletions

View File

@ -158,6 +158,7 @@ DefaultUserSetting('auto_night_mode_enabled', false); // If night mode is enable
DefaultUserSetting('auto_night_mode_time_range_from', '20:00'); // Format HH:mm DefaultUserSetting('auto_night_mode_time_range_from', '20:00'); // Format HH:mm
DefaultUserSetting('auto_night_mode_time_range_to', '07:00'); // Format HH:mm DefaultUserSetting('auto_night_mode_time_range_to', '07:00'); // Format HH:mm
DefaultUserSetting('auto_night_mode_time_range_goes_over_midnight', true); // If the time range above goes over midnight DefaultUserSetting('auto_night_mode_time_range_goes_over_midnight', true); // If the time range above goes over midnight
DefaultUserSetting('night_mode_enabled_internal', false); // Internal setting if night mode is actually enabled (based on the other settings)
// Generic settings // Generic settings
DefaultUserSetting('auto_reload_on_db_change', false); // If the page should be automatically reloaded when there was an external change DefaultUserSetting('auto_reload_on_db_change', false); // If the page should be automatically reloaded when there was an external change

View File

@ -47,18 +47,6 @@ $("#auto-night-mode-time-range-goes-over-midgnight").on("change", function()
CheckNightMode(); CheckNightMode();
}); });
if (Grocy.UserId !== -1)
{
$("input.user-setting-control:radio[name=night-mode][value=" + Grocy.UserSettings.night_mode + "]").prop("checked", true);
$("#auto-night-mode-enabled").prop("checked", BoolVal(Grocy.UserSettings.auto_night_mode_enabled));
$("#auto-night-mode-time-range-goes-over-midgnight").prop("checked", BoolVal(Grocy.UserSettings.auto_night_mode_time_range_goes_over_midnight));
$("#auto-night-mode-enabled").trigger("change");
$("#auto-night-mode-time-range-from").val(Grocy.UserSettings.auto_night_mode_time_range_from);
$("#auto-night-mode-time-range-from").trigger("keyup");
$("#auto-night-mode-time-range-to").val(Grocy.UserSettings.auto_night_mode_time_range_to);
$("#auto-night-mode-time-range-to").trigger("keyup");
}
function CheckNightMode() function CheckNightMode()
{ {
if (Grocy.UserId === -1) if (Grocy.UserId === -1)
@ -116,6 +104,16 @@ function CheckNightMode()
if (BoolVal(Grocy.UserSettings.night_mode_enabled_internal)) if (BoolVal(Grocy.UserSettings.night_mode_enabled_internal))
{ {
if (!$("#night-mode-stylesheet").length)
{
$("<link>")
.appendTo("head")
.attr({
rel: "stylesheet",
href: U("/css/grocy_night_mode.css")
});
}
$("body").addClass("night-mode"); $("body").addClass("night-mode");
} }
else else
@ -123,8 +121,18 @@ function CheckNightMode()
$("body").removeClass("night-mode"); $("body").removeClass("night-mode");
} }
} }
if (Grocy.UserId !== -1) if (Grocy.UserId !== -1)
{ {
$("input.user-setting-control:radio[name=night-mode][value=" + Grocy.UserSettings.night_mode + "]").prop("checked", true);
$("#auto-night-mode-enabled").prop("checked", BoolVal(Grocy.UserSettings.auto_night_mode_enabled));
$("#auto-night-mode-time-range-goes-over-midgnight").prop("checked", BoolVal(Grocy.UserSettings.auto_night_mode_time_range_goes_over_midnight));
$("#auto-night-mode-enabled").trigger("change");
$("#auto-night-mode-time-range-from").val(Grocy.UserSettings.auto_night_mode_time_range_from);
$("#auto-night-mode-time-range-from").trigger("keyup");
$("#auto-night-mode-time-range-to").val(Grocy.UserSettings.auto_night_mode_time_range_to);
$("#auto-night-mode-time-range-to").trigger("keyup");
CheckNightMode(); CheckNightMode();
} }

View File

@ -75,8 +75,13 @@
rel="stylesheet"> rel="stylesheet">
<link href="{{ $U('/css/grocy.css?v=', true) }}{{ $version }}" <link href="{{ $U('/css/grocy.css?v=', true) }}{{ $version }}"
rel="stylesheet"> rel="stylesheet">
<link href="{{ $U('/css/grocy_night_mode.css?v=', true) }}{{ $version }}"
@if(boolval($userSettings['night_mode_enabled_internal']))
<link id="night-mode-stylesheet"
href="{{ $U('/css/grocy_night_mode.css?v=', true) }}{{ $version }}"
rel="stylesheet"> rel="stylesheet">
@endif
@stack('pageStyles') @stack('pageStyles')
@if(file_exists(GROCY_DATAPATH . '/custom_css.html')) @if(file_exists(GROCY_DATAPATH . '/custom_css.html'))
@ -115,13 +120,6 @@
</script> </script>
</head> </head>
@php
if (!isset($userSettings['night_mode_enabled_internal']))
{
$userSettings['night_mode_enabled_internal'] = false;
}
@endphp
<body class="fixed-nav @if(boolval($userSettings['night_mode_enabled_internal'])) night-mode @endif @if($embedded) embedded @endif"> <body class="fixed-nav @if(boolval($userSettings['night_mode_enabled_internal'])) night-mode @endif @if($embedded) embedded @endif">
@if(!($embedded)) @if(!($embedded))
<nav id="mainNav" <nav id="mainNav"