feed_list.html 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. {{ define "feed_list" }}
  2. <div class="items">
  3. {{ range .feeds }}
  4. <article class="item {{ if ne .ParsingErrorCount 0 }}feed-parsing-error{{ end }}">
  5. <div class="item-header" dir="auto">
  6. <span class="item-title">
  7. {{ if .Icon }}
  8. <img src="{{ route "icon" "iconID" .Icon.IconID }}" width="16" height="16" loading="lazy" alt="{{ .Title }}">
  9. {{ end }}
  10. {{ if .Disabled }} 🚫 {{ end }}
  11. <a href="{{ route "feedEntries" "feedID" .ID }}">{{ .Title }}</a>
  12. </span>
  13. <span class="feed-entries-counter">
  14. (<span title="{{ t "page.feeds.unread_counter" }}">{{ .UnreadCount }}</span>/<span title="{{ t "page.feeds.read_counter" }}">{{ .ReadCount }}</span>)
  15. </span>
  16. <span class="category">
  17. <a href="{{ route "categoryEntries" "categoryID" .Category.ID }}">{{ .Category.Title }}</a>
  18. </span>
  19. </div>
  20. <div class="item-meta">
  21. <ul class="item-meta-info">
  22. <li dir="auto">
  23. <a href="{{ .SiteURL | safeURL }}" title="{{ .SiteURL }}" target="_blank" rel="noopener noreferrer" referrerpolicy="no-referrer" data-original-link="true">{{ domain .SiteURL }}</a>
  24. </li>
  25. <li>
  26. {{ t "page.feeds.last_check" }} <time datetime="{{ isodate .CheckedAt }}" title="{{ isodate .CheckedAt }}">{{ elapsed $.user.Timezone .CheckedAt }}</time>
  27. </li>
  28. </ul>
  29. <ul class="item-meta-icons">
  30. <li>
  31. <a href="{{ route "refreshFeed" "feedID" .ID }}">{{ template "icon_refresh" }}<span class="icon-label">{{ t "menu.refresh_feed" }}</span></a>
  32. </li>
  33. <li>
  34. <a href="{{ route "editFeed" "feedID" .ID }}">{{ template "icon_edit" }}<span class="icon-label">{{ t "menu.edit_feed" }}</span></a>
  35. </li>
  36. <li>
  37. <a href="#"
  38. data-confirm="true"
  39. data-label-question="{{ t "confirm.question" }}"
  40. data-label-yes="{{ t "confirm.yes" }}"
  41. data-label-no="{{ t "confirm.no" }}"
  42. data-label-loading="{{ t "confirm.loading" }}"
  43. data-url="{{ route "removeFeed" "feedID" .ID }}">{{ template "icon_delete" }}<span class="icon-label">{{ t "action.remove" }}</span></a>
  44. </li>
  45. {{ if .UnreadCount }}
  46. <li>
  47. <a href="{{ route "markFeedAsRead" "feedID" .ID }}">{{ template "icon_read" }}<span class="icon-label">{{ t "menu.mark_all_as_read" }}</span></a>
  48. </li>
  49. {{ end }}
  50. </ul>
  51. </div>
  52. {{ if ne .ParsingErrorCount 0 }}
  53. <div class="parsing-error">
  54. <strong title="{{ .ParsingErrorMsg }}" class="parsing-error-count">{{ plural "page.feeds.error_count" .ParsingErrorCount .ParsingErrorCount }}</strong>
  55. - <small class="parsing-error-message">{{ .ParsingErrorMsg }}</small>
  56. </div>
  57. {{ end }}
  58. </article>
  59. {{ end }}
  60. </div>
  61. {{ end }}