renderutils.nim 874 B

1234567891011121314151617181920212223242526
  1. import karax/[karaxdsl, vdom, vstyles]
  2. import ../types, ../utils
  3. proc linkUser*(profile: Profile, class=""): VNode =
  4. let
  5. isName = "username" notin class
  6. href = "/" & profile.username
  7. nameText = if isName: profile.fullname
  8. else: "@" & profile.username
  9. buildHtml(a(href=href, class=class, title=nameText)):
  10. text nameText
  11. if isName and profile.verified:
  12. span(class="icon verified-icon", title="Verified account"): text "✔"
  13. if isName and profile.protected:
  14. span(class="icon protected-icon", title="Protected account"): text "🔒"
  15. proc genImg*(url: string; class=""): VNode =
  16. buildHtml():
  17. img(src=url.getSigUrl("pic"), class=class, alt="Image")
  18. proc linkText*(text: string; class=""): VNode =
  19. let url = if "http" notin text: "http://" & text else: text
  20. buildHtml():
  21. a(href=url, class=class): text text