mirror of
https://github.com/grocy/grocy.git
synced 2025-08-15 02:04:38 +00:00
Fixes for auto night mode (references #71)
This commit is contained in:
@@ -37,6 +37,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('currently_inside_night_mode_range', false); // If we're currently inside of night mode time range (this is not user configurable, but stored as a user setting because it's evaluated client side to be able to use the client time instead of the maybe different server time)
|
||||||
|
|
||||||
# If the page should be automatically reloaded when there was
|
# If the page should be automatically reloaded when there was
|
||||||
# an external change
|
# an external change
|
||||||
|
@@ -47,7 +47,7 @@ BoolVal = function(test)
|
|||||||
var anything = test.toString().toLowerCase();
|
var anything = test.toString().toLowerCase();
|
||||||
if (anything === true || anything === "true" || anything === "1" || anything === "on")
|
if (anything === true || anything === "true" || anything === "1" || anything === "on")
|
||||||
{
|
{
|
||||||
return true
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -45,9 +45,9 @@ $("#auto-night-mode-time-range-goes-over-midgnight").on("change", function()
|
|||||||
CheckNightMode();
|
CheckNightMode();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#night-mode-enabled").prop("checked", Grocy.NightModeEnabled);
|
$("#night-mode-enabled").prop("checked", BoolVal(Grocy.UserSettings.night_mode_enabled));
|
||||||
$("#auto-night-mode-enabled").prop("checked", Grocy.UserSettings.auto_night_mode_enabled);
|
$("#auto-night-mode-enabled").prop("checked", BoolVal(Grocy.UserSettings.auto_night_mode_enabled));
|
||||||
$("#auto-night-mode-time-range-goes-over-midgnight").prop("checked", Grocy.UserSettings.auto_night_mode_time_range_goes_over_midnight);
|
$("#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-enabled").trigger("change");
|
||||||
$("#auto-night-mode-time-range-from").val(Grocy.UserSettings.auto_night_mode_time_range_from);
|
$("#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-from").trigger("keyup");
|
||||||
@@ -77,13 +77,30 @@ function CheckNightMode()
|
|||||||
|
|
||||||
if (start.isSameOrBefore(now) && end.isSameOrAfter(now)) // We're INSIDE of night mode time range
|
if (start.isSameOrBefore(now) && end.isSameOrAfter(now)) // We're INSIDE of night mode time range
|
||||||
{
|
{
|
||||||
$("body").addClass("night-mode");
|
if (!$("body").hasClass("night-mode"))
|
||||||
|
{
|
||||||
|
$("body").addClass("night-mode");
|
||||||
|
$("#currently-inside-night-mode-range").prop("checked", true);
|
||||||
|
$("#currently-inside-night-mode-range").trigger("change");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else // We're OUTSIDE of night mode time range
|
else // We're OUTSIDE of night mode time range
|
||||||
{
|
{
|
||||||
$("body").removeClass("night-mode");
|
if ($("body").hasClass("night-mode"))
|
||||||
|
{
|
||||||
|
$("body").removeClass("night-mode");
|
||||||
|
$("#currently-inside-night-mode-range").prop("checked", false);
|
||||||
|
$("#currently-inside-night-mode-range").trigger("change");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CheckNightMode();
|
CheckNightMode();
|
||||||
//setInterval(CheckNightMode, 60000);
|
|
||||||
setInterval(CheckNightMode, 4000);
|
if (Grocy.Mode === "production")
|
||||||
|
{
|
||||||
|
setInterval(CheckNightMode, 60000);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setInterval(CheckNightMode, 4000);
|
||||||
|
}
|
||||||
|
@@ -46,7 +46,7 @@
|
|||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="fixed-nav @if(boolval($userSettings['night_mode_enabled'])) night-mode @endif">
|
<body class="fixed-nav @if(boolval($userSettings['night_mode_enabled']) || (boolval($userSettings['auto_night_mode_enabled']) && boolval($userSettings['currently_inside_night_mode_range']))) night-mode @endif">
|
||||||
<nav id="mainNav" class="navbar navbar-expand-lg navbar-light fixed-top">
|
<nav id="mainNav" class="navbar navbar-expand-lg navbar-light fixed-top">
|
||||||
<a class="navbar-brand py-0" href="{{ $U('/') }}"><img src="{{ $U('/img/grocy_logo.svg?v=', true) }}{{ $version }}" height="30"></a>
|
<a class="navbar-brand py-0" href="{{ $U('/') }}"><img src="{{ $U('/img/grocy_logo.svg?v=', true) }}{{ $version }}" height="30"></a>
|
||||||
|
|
||||||
@@ -237,6 +237,7 @@
|
|||||||
{{ $L('Time range goes over midnight') }}
|
{{ $L('Time range goes over midnight') }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
<input class="form-check-input d-none user-setting-control" type="checkbox" id="currently-inside-night-mode-range" data-setting-key="currently_inside_night_mode_range">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
Reference in New Issue
Block a user