Update web/core/views_user_features.py

This commit is contained in:
Joshua Laymon 2025-08-23 15:14:39 +00:00
parent 52171dd085
commit bdb90a7afd

View File

@ -28,7 +28,34 @@ def api_set_font_size(request):
@require_GET @require_GET
def api_get_prefs(request): def api_get_prefs(request):
prefs, _ = UserPrefs.objects.get_or_create(user=request.user) prefs, _ = UserPrefs.objects.get_or_create(user=request.user)
return JsonResponse({"ok": True, "font_size": prefs.font_size}) # [ADD] include search-hit highlighting flag (default True if field missing)
return JsonResponse({
"ok": True,
"font_size": prefs.font_size,
"highlight_search_hits": getattr(prefs, "highlight_search_hits", True),
})
# [ADD] ---------- Search-hit highlighting toggle ----------
@login_required
@require_POST
def api_set_highlight_hits(request):
"""
Toggle per-user 'highlight search hits on entry_view' preference.
Accepts form field: enabled=true/false or 1/0
Returns: {"ok": True, "highlight_search_hits": <bool>}
"""
val = (request.POST.get("enabled") or "").strip().lower()
if val not in ("true", "false", "1", "0"):
return HttpResponseBadRequest("enabled must be true/false")
enabled = val in ("true", "1")
prefs, _ = UserPrefs.objects.get_or_create(user=request.user)
prefs.highlight_search_hits = enabled
prefs.save(update_fields=["highlight_search_hits"])
return JsonResponse({"ok": True, "highlight_search_hits": prefs.highlight_search_hits})
# ---------- Search history ---------- # ---------- Search history ----------