list.nim 876 B

1234567891011121314151617181920212223242526272829
  1. # SPDX-License-Identifier: AGPL-3.0-only
  2. import strformat
  3. import karax/[karaxdsl, vdom]
  4. import renderutils
  5. import ".."/[types, utils]
  6. proc renderListTabs*(query: Query; path: string): VNode =
  7. buildHtml(ul(class="tab")):
  8. li(class=query.getTabClass(posts)):
  9. a(href=(path)): text "Tweets"
  10. li(class=query.getTabClass(userList)):
  11. a(href=(path & "/members")): text "Members"
  12. proc renderList*(body: VNode; query: Query; list: List): VNode =
  13. buildHtml(tdiv(class="timeline-container")):
  14. if list.banner.len > 0:
  15. tdiv(class="timeline-banner"):
  16. a(href=getPicUrl(list.banner), target="_blank"):
  17. genImg(list.banner)
  18. tdiv(class="timeline-header"):
  19. text &"\"{list.name}\" by @{list.username}"
  20. tdiv(class="timeline-description"):
  21. text list.description
  22. renderListTabs(query, &"/i/lists/{list.id}")
  23. body