search.html 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. {{ define "title"}}{{ t "page.search.title" }} ({{ .total }}){{ end }}
  2. {{ define "page_header"}}
  3. <section class="page-header" aria-labelledby="page-header-title">
  4. <h1 id="page-header-title">{{ t "page.search.title" }} ({{ .total }})</h1>
  5. </section>
  6. {{ end }}
  7. {{ define "content"}}
  8. <search role="search">
  9. <form action="{{ route "search" }}" aria-labelledby="search-input-label">
  10. <input type="search" name="q" id="search-input" aria-label="{{ t "search.label" }}" placeholder="{{ t "search.placeholder" }}" {{ if $.searchQuery }}value="{{ .searchQuery }}"{{ else }}autofocus{{ end }} required>
  11. <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.loading" }}">{{ t "search.submit" }}</button>
  12. </form>
  13. </search>
  14. {{ if $.searchQuery }}
  15. {{ if not .entries }}
  16. <p role="alert" class="alert alert-info">{{ t "alert.no_search_result" }}</p>
  17. {{ else }}
  18. <div class="pagination-top">
  19. {{ template "pagination" .pagination }}
  20. </div>
  21. <div class="items">
  22. {{ range .entries }}
  23. <article
  24. class="item entry-item {{ if $.user.EntrySwipe }}entry-swipe{{ end }} item-status-{{ .Status }}"
  25. data-id="{{ .ID }}"
  26. aria-labelledby="entry-title-{{ .ID }}"
  27. >
  28. <header class="item-header" dir="auto">
  29. <h2 id="entry-title-{{ .ID }}" class="item-title">
  30. <a href="{{ route "searchEntry" "entryID" .ID }}?q={{ $.searchQuery }}">
  31. {{ if ne .Feed.Icon.IconID 0 }}
  32. <img src="{{ route "feedIcon" "externalIconID" .Feed.Icon.ExternalIconID }}" width="16" height="16" loading="lazy" alt="{{ .Feed.Title }}">
  33. {{ else }}
  34. <span class="sr-only">{{ .Feed.Title }}</span>
  35. {{ end }}
  36. {{ .Title }}
  37. </a>
  38. </h2>
  39. <span class="category">
  40. <a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">
  41. {{ .Feed.Category.Title }}
  42. </a>
  43. </span>
  44. </header>
  45. {{ template "item_meta" dict "user" $.user "entry" . "hasSaveEntry" $.hasSaveEntry }}
  46. </article>
  47. {{ end }}
  48. </div>
  49. <div class="pagination-bottom">
  50. {{ template "pagination" .pagination }}
  51. </div>
  52. {{ end }}
  53. {{ end }}
  54. {{ end }}