From 176333df5b69d9c5fb1ef7f1e4095cd55d11ac2f Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Sun, 30 Sep 2018 11:25:07 +0200 Subject: [PATCH] Save night mode enabled state and apply night mode class to on server side (references #71) --- public/js/grocy_nightmode.js | 18 +++++++++++++++--- views/layout/default.blade.php | 10 +++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/public/js/grocy_nightmode.js b/public/js/grocy_nightmode.js index ab357352..093af246 100644 --- a/public/js/grocy_nightmode.js +++ b/public/js/grocy_nightmode.js @@ -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); } diff --git a/views/layout/default.blade.php b/views/layout/default.blade.php index ac56b0b0..3d3f4688 100644 --- a/views/layout/default.blade.php +++ b/views/layout/default.blade.php @@ -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 - +