This is Ardziej's solution:
$.AdminLTESidebarTweak = {};
$.AdminLTESidebarTweak.options = {
EnableRemember: true,
NoTransitionAfterReload: false
//Removes the transition after page reload.
};
$(function () {
"use strict";
function setCookie(value) {
let name = 'toggleState';
let days = 365;
let d = new Date;
d.setTime(d.getTime() + 24 * 60 * 60 * 1000 * days);
document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString();
}
$("body").on("collapsed.pushMenu", function () {
if ($.AdminLTESidebarTweak.options.EnableRemember) {
setCookie('closed');
}
}).on("expanded.pushMenu", function () {
if ($.AdminLTESidebarTweak.options.EnableRemember) {
setCookie('opened');
}
});
});
<body class="hold-transition @yield('body_class') @if (Cookie::get('toggleState') === 'closed') {{ 'sidebar-collapse' }} @endif">
<?php
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
class EncryptCookies extends Middleware
{
/**
* The names of the cookies that should not be encrypted.
*
* @var array
*/
protected $except = [
'toggleState',
];
}