diff --git a/judge/template_context.py b/judge/template_context.py index 7d3d21795c..e845d61d32 100644 --- a/judge/template_context.py +++ b/judge/template_context.py @@ -82,16 +82,20 @@ def site_name(request): def site_theme(request): # Middleware populating `profile` may not have loaded at this point if we're called from an error context. + if hasattr(request.user, 'profile'): + preferred_css = settings.DMOJ_THEME_CSS.get(request.profile.site_theme, settings.DMOJ_THEME_CSS['light']) + else: + preferred_css = None return { 'DARK_STYLE_CSS': settings.DMOJ_THEME_CSS['dark'], 'LIGHT_STYLE_CSS': settings.DMOJ_THEME_CSS['light'], - 'PREFERRED_STYLE_CSS': settings.DMOJ_THEME_CSS['dark'], + 'PREFERRED_STYLE_CSS': preferred_css, } def math_setting(request): caniuse = CanIUse(request.META.get('HTTP_USER_AGENT', '')) - + # Middleware populating `profile` may not have loaded at this point if we're called from an error context. if hasattr(request.user, 'profile'): engine = request.profile.math_engine