Store preferences in cookies, add config defaults
This commit is contained in:
@@ -16,9 +16,6 @@ proc findThemes*(dir: string): seq[string] =
|
||||
|
||||
proc createPrefRouter*(cfg: Config) =
|
||||
router preferences:
|
||||
template savePrefs(): untyped =
|
||||
setCookie("preferences", $prefs.id, daysForward(360), httpOnly=true, secure=cfg.useHttps)
|
||||
|
||||
get "/settings":
|
||||
let html = renderPreferences(cookiePrefs(), refPath(), findThemes(cfg.staticDir))
|
||||
resp renderMain(html, request, cfg, "Preferences")
|
||||
@@ -27,27 +24,14 @@ proc createPrefRouter*(cfg: Config) =
|
||||
redirect("/settings")
|
||||
|
||||
post "/saveprefs":
|
||||
var prefs = cookiePrefs()
|
||||
genUpdatePrefs()
|
||||
savePrefs()
|
||||
redirect(refPath())
|
||||
|
||||
post "/resetprefs":
|
||||
var prefs = cookiePrefs()
|
||||
resetPrefs(prefs, cfg)
|
||||
savePrefs()
|
||||
genResetPrefs()
|
||||
redirect($(parseUri("/settings") ? filterParams(request.params)))
|
||||
|
||||
post "/enablehls":
|
||||
var prefs = cookiePrefs()
|
||||
prefs.hlsPlayback = true
|
||||
cache(prefs)
|
||||
savePrefs()
|
||||
savePref("hlsPlayback", "on", request)
|
||||
redirect(refPath())
|
||||
|
||||
before:
|
||||
if @"theme".len > 0:
|
||||
var prefs = cookiePrefs()
|
||||
prefs.theme = @"theme".capitalizeAscii.replace("_", " ")
|
||||
cache(prefs)
|
||||
savePrefs()
|
||||
|
||||
Reference in New Issue
Block a user