Add button to reset preferences
This commit is contained in:
parent
fdd71946da
commit
9fc512d88d
|
@ -1092,10 +1092,6 @@ legend {
|
|||
margin: .2em; 0;
|
||||
}
|
||||
|
||||
.pref-submit:hover {
|
||||
background-color: #a8a8a8;
|
||||
}
|
||||
|
||||
.pref-submit {
|
||||
background-color: #e2e2e2;
|
||||
color: #000;
|
||||
|
@ -1106,6 +1102,15 @@ legend {
|
|||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.pref-submit:hover {
|
||||
background-color: #a8a8a8;
|
||||
}
|
||||
|
||||
.pref-reset {
|
||||
float: right;
|
||||
margin-top: -25px;
|
||||
}
|
||||
|
||||
.icon-container {
|
||||
display: inline;
|
||||
}
|
||||
|
|
|
@ -95,6 +95,12 @@ routes:
|
|||
setCookie("preferences", $prefs.id, daysForward(360), httpOnly=true, secure=true)
|
||||
redirect("/settings")
|
||||
|
||||
post "/resetprefs":
|
||||
var prefs = getCookiePrefs(request)
|
||||
resetPrefs(prefs)
|
||||
setCookie("preferences", $prefs.id, daysForward(360), httpOnly=true, secure=true)
|
||||
redirect("/settings")
|
||||
|
||||
get "/settings":
|
||||
let prefs = getCookiePrefs(request)
|
||||
resp renderMain(renderPreferences(prefs), prefs, title=cfg.title, titleText="Preferences")
|
||||
|
|
|
@ -96,6 +96,12 @@ proc getPrefs*(id: string): Prefs =
|
|||
result = genDefaultPrefs()
|
||||
cache(result)
|
||||
|
||||
proc resetPrefs*(prefs: var Prefs) =
|
||||
var defPrefs = genDefaultPrefs()
|
||||
defPrefs.id = prefs.id
|
||||
cache(defPrefs)
|
||||
prefs = defPrefs
|
||||
|
||||
macro genUpdatePrefs*(): untyped =
|
||||
result = nnkStmtList.newTree()
|
||||
|
||||
|
|
|
@ -53,9 +53,13 @@ macro renderPrefs*(): untyped =
|
|||
|
||||
proc renderPreferences*(prefs: Prefs): VNode =
|
||||
buildHtml(tdiv(class="preferences-container")):
|
||||
form(class="preferences", `method`="post", action="saveprefs"):
|
||||
fieldset:
|
||||
fieldset(class="preferences"):
|
||||
form(`method`="post", action="saveprefs"):
|
||||
renderPrefs()
|
||||
|
||||
button(`type`="submit", class="pref-submit"):
|
||||
text "Save preferences"
|
||||
|
||||
form(`method`="post", action="resetprefs", class="pref-reset"):
|
||||
button(`type`="submit", class="pref-submit"):
|
||||
text "Reset preferences"
|
||||
|
|
Loading…
Reference in New Issue