Refactor category picker
This commit is contained in:
parent
918cda96cf
commit
ce9cde4a0d
3 changed files with 11 additions and 15 deletions
|
|
@ -5,7 +5,7 @@ when defined(js):
|
|||
include karax/prelude
|
||||
import karax / [kajax, kdom, vstyles, vdom]
|
||||
|
||||
import error, replybox, threadlist, post, category
|
||||
import error, replybox, threadlist, post, category, user
|
||||
import category, karaxutils
|
||||
|
||||
type
|
||||
|
|
@ -157,7 +157,14 @@ when defined(js):
|
|||
state.onAddCategoryClick()):
|
||||
text "Add"
|
||||
|
||||
proc render*(state: CategoryPicker): VNode =
|
||||
proc render*(state: CategoryPicker, currentUser: Option[User]): VNode =
|
||||
let loggedIn = currentUser.isSome()
|
||||
let currentAdmin =
|
||||
loggedIn and currentUser.get().rank == Admin
|
||||
|
||||
if currentAdmin:
|
||||
state.setAddEnabled(true)
|
||||
|
||||
if state.status != Http200:
|
||||
return renderError("Couldn't retrieve categories.", state.status)
|
||||
|
||||
|
|
|
|||
|
|
@ -48,14 +48,6 @@ when defined(js):
|
|||
(s: int, r: kstring) => onCreatePost(s, r, state))
|
||||
|
||||
proc render*(state: NewThread, currentUser: Option[User]): VNode =
|
||||
|
||||
let loggedIn = currentUser.isSome()
|
||||
let currentAdmin =
|
||||
currentUser.isSome() and currentUser.get().rank == Admin
|
||||
|
||||
if currentAdmin:
|
||||
state.categoryPicker.setAddEnabled(true)
|
||||
|
||||
result = buildHtml():
|
||||
section(class="container grid-xl"):
|
||||
tdiv(id="new-thread"):
|
||||
|
|
@ -71,7 +63,7 @@ when defined(js):
|
|||
tdiv():
|
||||
label(class="d-inline-block form-label"):
|
||||
text "Category"
|
||||
render(state.categoryPicker)
|
||||
render(state.categoryPicker, currentUser)
|
||||
renderContent(state.replyBox, none[Thread](), none[Post]())
|
||||
tdiv(class="footer"):
|
||||
|
||||
|
|
|
|||
|
|
@ -211,13 +211,10 @@ when defined(js):
|
|||
let currentAdmin =
|
||||
currentUser.isSome() and currentUser.get().rank == Admin
|
||||
|
||||
if currentAdmin:
|
||||
state.categoryPicker.setAddEnabled(true)
|
||||
|
||||
result = buildHtml():
|
||||
tdiv():
|
||||
if authoredByUser or currentAdmin:
|
||||
render(state.categoryPicker)
|
||||
render(state.categoryPicker, currentUser)
|
||||
else:
|
||||
render(thread.category)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue