feed_entries.html 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. {{ define "title"}}{{ .feed.Title }} ({{ .total }}){{ end }}
  2. {{ define "content"}}
  3. <section class="page-header">
  4. <h1 dir="auto">
  5. <a href="{{ .feed.SiteURL | safeURL }}" title="{{ .feed.SiteURL }}" target="_blank" rel="noopener noreferrer" referrerpolicy="no-referrer" data-original-link="{{ .user.MarkReadOnView }}">{{ .feed.Title }}</a>
  6. ({{ .total }})
  7. </h1>
  8. <ul>
  9. {{ if .entries }}
  10. <li>
  11. <a href="#"
  12. data-action="markPageAsRead"
  13. data-label-question="{{ t "confirm.question" }}"
  14. data-label-yes="{{ t "confirm.yes" }}"
  15. data-label-no="{{ t "confirm.no" }}"
  16. data-label-loading="{{ t "confirm.loading" }}"
  17. data-show-only-unread="{{ if .showOnlyUnreadEntries }}1{{ end }}">{{ icon "mark-page-as-read" }}{{ t "menu.mark_page_as_read" }}</a>
  18. </li>
  19. <li>
  20. <a href="#"
  21. data-confirm="true"
  22. data-label-question="{{ t "confirm.question" }}"
  23. data-label-yes="{{ t "confirm.yes" }}"
  24. data-label-no="{{ t "confirm.no" }}"
  25. data-label-loading="{{ t "confirm.loading" }}"
  26. data-url="{{ route "markFeedAsRead" "feedID" .feed.ID }}">{{ icon "mark-all-as-read" }}{{ t "menu.mark_all_as_read" }}</a>
  27. </li>
  28. {{ end }}
  29. {{ if .showOnlyUnreadEntries }}
  30. <li>
  31. <a href="{{ route "feedEntriesAll" "feedID" .feed.ID }}">{{ icon "show-all-entries" }}{{ t "menu.show_all_entries" }}</a>
  32. </li>
  33. {{ else }}
  34. <li>
  35. <a href="{{ route "feedEntries" "feedID" .feed.ID }}">{{ icon "show-unread-entries" }}{{ t "menu.show_only_unread_entries" }}</a>
  36. </li>
  37. {{ end }}
  38. <li>
  39. <a href="#"
  40. data-confirm="true"
  41. data-label-question="{{ t "confirm.question.refresh" }}"
  42. data-label-yes="{{ t "confirm.yes" }}"
  43. data-label-no="{{ t "confirm.no" }}"
  44. data-label-loading="{{ t "confirm.loading" }}"
  45. data-url="{{ route "refreshFeed" "feedID" .feed.ID }}?forceRefresh=true"
  46. data-no-action-url="{{ route "refreshFeed" "feedID" .feed.ID }}?forceRefresh=false">{{ icon "refresh" }}{{ t "menu.refresh_feed" }}</a>
  47. </li>
  48. <li>
  49. <a href="{{ route "editFeed" "feedID" .feed.ID }}">{{ icon "edit" }}{{ t "menu.edit_feed" }}</a>
  50. </li>
  51. <li>
  52. <a href="#"
  53. data-confirm="true"
  54. data-action="remove-feed"
  55. data-label-question="{{ t "confirm.question" }}"
  56. data-label-yes="{{ t "confirm.yes" }}"
  57. data-label-no="{{ t "confirm.no" }}"
  58. data-label-loading="{{ t "confirm.loading" }}"
  59. data-url="{{ route "removeFeed" "feedID" .feed.ID }}"
  60. data-redirect-url="{{ route "feeds" }}">{{ icon "delete" }}{{ t "action.remove_feed" }}</a>
  61. </li>
  62. </ul>
  63. </section>
  64. {{ if ne .feed.ParsingErrorCount 0 }}
  65. <div class="alert alert-error">
  66. <h3>{{ t "alert.feed_error" }}</h3>
  67. <p>{{ t .feed.ParsingErrorMsg }}</p>
  68. </div>
  69. {{ end }}
  70. {{ if not .entries }}
  71. {{ if .showOnlyUnreadEntries }}
  72. <p class="alert">{{ t "alert.no_unread_entry" }}</p>
  73. {{ else }}
  74. <p class="alert">{{ t "alert.no_feed_entry" }}</p>
  75. {{ end }}
  76. {{ else }}
  77. <div class="pagination-top">
  78. {{ template "pagination" .pagination }}
  79. </div>
  80. <div class="items">
  81. {{ range .entries }}
  82. <article role="article" class="item entry-item {{ if $.user.EntrySwipe }}entry-swipe{{ end }} item-status-{{ .Status }}" data-id="{{ .ID }}">
  83. <div class="item-header" dir="auto">
  84. <span class="item-title">
  85. {{ if ne .Feed.Icon.IconID 0 }}
  86. <img src="{{ route "icon" "iconID" .Feed.Icon.IconID }}" width="16" height="16" loading="lazy" alt="{{ .Feed.Title }}">
  87. {{ end }}
  88. {{ if $.showOnlyUnreadEntries }}
  89. <a href="{{ route "unreadFeedEntry" "feedID" .Feed.ID "entryID" .ID }}">{{ .Title }}</a>
  90. {{ else }}
  91. <a href="{{ route "feedEntry" "feedID" .Feed.ID "entryID" .ID }}">{{ .Title }}</a>
  92. {{ end }}
  93. </span>
  94. <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
  95. </div>
  96. {{ template "item_meta" dict "user" $.user "entry" . "hasSaveEntry" $.hasSaveEntry }}
  97. </article>
  98. {{ end }}
  99. </div>
  100. <section class="page-footer">
  101. {{ if .entries }}
  102. <ul>
  103. <li>
  104. <a href="#"
  105. data-action="markPageAsRead"
  106. data-label-question="{{ t "confirm.question" }}"
  107. data-label-yes="{{ t "confirm.yes" }}"
  108. data-label-no="{{ t "confirm.no" }}"
  109. data-label-loading="{{ t "confirm.loading" }}"
  110. data-show-only-unread="{{ if .showOnlyUnreadEntries }}1{{ end }}">{{ icon "mark-page-as-read" }}{{ t "menu.mark_page_as_read" }}</a>
  111. </li>
  112. </ul>
  113. {{ end }}
  114. </section>
  115. <div class="pagination-bottom">
  116. {{ template "pagination" .pagination }}
  117. </div>
  118. {{ end }}
  119. {{ end }}