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() $("#night-mode-enabled").on("change", function()
{ {
var value = $(this).is(":checked"); 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) 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); $("#night-mode-enabled").prop("checked", true);
} }

View File

@ -47,10 +47,18 @@
@else @else
Grocy.AutoReloadOnDatabaseChangeEnabled = true; Grocy.AutoReloadOnDatabaseChangeEnabled = true;
@endif @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> </script>
</head> </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"> <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>