Краткий ответ - да.Но вы должны действительно попытаться прояснить свой вопрос.
Если вы хотите, чтобы пользователь нажимал кнопку или ссылку для переключения между светлым / темным режимами, вы должны использовать Session
.
В вашем текущем методе контроллера вы отметили, что $ isDark не инициализирован.Вы нигде не предоставили способ инициализации этого значения, и ваш контроллер не может настроить то, что вы делаете.
Используя переменные сеанса, вы можете иметь значения, которые сохраняются между страницами.Подробнее о sessions
здесь: Введение в PHP-сессию
Session
в Laravel
работает немного по-другому, но идея та же.Вы хотите получить переменную сеанса в методе контроллера и проверить значение, чтобы определить, находится ли пользователь в светлом или темном режиме, тогда вы бы переключили его режим, установив переменную сеанса в другое значение.По вашему мнению, вы можете проверить связанную переменную сеанса, чтобы определить режим.
В вашем контроллере вы можете сделать что-то вроде:
public function switchModes()
{
if (session()->has('isDark')) {
session()->put('isDark', !session('isDark'));
}
else {
//provide an initial value of isDark
session()->put('isDark', true);
}
return redirect()->route('your-route-name');
}
И по вашему мнению, вы можете проверитьпеременная сеанса такая:
<body class="@if (session('isDark')) dark-mode @else light-mode">