Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions web_dark_mode/models/ir_http.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,13 @@ class IrHttp(models.AbstractModel):
_inherit = "ir.http"

@classmethod
def _set_color_scheme(cls, response):
scheme = request.httprequest.cookies.get("color_scheme")
def _sanitize_cookies(cls, cookies):
"""Set the color_scheme cookie before template rendering."""
super()._sanitize_cookies(cookies)
user = request.env.user
if getattr(user, "dark_mode_device_dependent", None):
return
user_scheme = "dark" if getattr(user, "dark_mode", None) else "light"
device_dependent = getattr(user, "dark_mode_device_dependent", None)
if (not device_dependent) and scheme != user_scheme:
response.set_cookie("color_scheme", user_scheme)

@classmethod
def _post_dispatch(cls, response):
cls._set_color_scheme(response)
return super()._post_dispatch(response)
if cookies.get("color_scheme") != user_scheme:
cookies["color_scheme"] = user_scheme
request.future_response.set_cookie("color_scheme", user_scheme)
Loading