Save night mode enabled state and apply night mode class to <body> on server side (references #71)

This commit is contained in:
Bernd Bestel 2018-09-30 11:25:07 +02:00
parent d4227d2e41
commit 176333df5b
No known key found for this signature in database
GPG Key ID: 71BD34C0D4891300
2 changed files with 24 additions and 4 deletions

View File

@ -1,7 +1,20 @@
$("#night-mode-enabled").on("change", function()
{
var value = $(this).is(":checked");
window.localStorage.setItem("night_mode", value);
jsonData = { };
jsonData.value = value;
console.log(jsonData);
Grocy.Api.Post('user/settings/night_mode_enabled', jsonData,
function(result)
{
// Nothing to do...
},
function(xhr)
{
Grocy.FrontendHelpers.ShowGenericError('Error while saving, probably this item already exists', xhr.response)
}
);
if (value)
{
@ -13,8 +26,7 @@
}
});
if (window.localStorage.getItem("night_mode") === "true")
if (Grocy.NightModeEnabled)
{
$("body").addClass("night-mode");
$("#night-mode-enabled").prop("checked", true);
}

View File

@ -47,10 +47,18 @@
@else
Grocy.AutoReloadOnDatabaseChangeEnabled = true;
@endif
@if(array_key_exists('night_mode_enabled', $userSettings))
@php $nightModeEnabled = boolval($userSettings['night_mode_enabled']); @endphp
Grocy.NightModeEnabled = {{ BoolToString($userSettings['night_mode_enabled']) }};
@else
@php $nightModeEnabled = false; @endphp
Grocy.NightModeEnabled = false;
@endif
</script>
</head>
<body class="fixed-nav">
<body class="fixed-nav @if($nightModeEnabled == true) night-mode @endif">
<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>