@cache_page(60 * 60 * 24)
@require_GET
def get_config(request: WSGIRequest) -> JsonResponse:
config = {
'families': {},
'default_family': Theme.DEFAULT_FAMILY.value,
'default_mode': Theme.DEFAULT_MODE.value,
'separator': Theme.SEPARATOR,
'cookie_name': get_theme_cookie_name()
}
for family in ThemeFamily:
config['families'][family.value] = {
'name': Theme.FAMILY_DISPLAY_NAMES.get(family, family.value),
'modes': [mode.value for mode in ThemeMode]
}
return JsonResponse({
'success': True,
'data': config
})