Follows: followed tags/pools, feeds, unseen badges and blacklist cloud
Backend (new apps.follows): - FollowedTag/FollowedPool/FollowedPost models; per-user follows with unseen tracking, plus FollowCloud for the cached blacklist cloud. - Two periodic commands sharing one fetch path: sync_followed_tags and sync_followed_pools fetch each followed tag/pool's newest posts (one e621 search per unique follow), store unseen feed rows, refresh covers and pool metadata; both fall back to anonymous e621 access. - API: /api/follows/tags|pools (follow, unfollow, mark seen), a merged feed with per-follow filtering, and /api/follows/cloud/ which rebuilds the blacklisted-tag cloud in a daemon thread when its 10 min cache is stale (polling returns building/ready). - e621 client now supports anonymous reads; trimmed posts carry preview URLs for covers and feed tiles. Frontend: - /followed page: follow forms, cover cards with unseen badges and Mark seen, merged feed with filter/unseen toggle, and a blacklist cloud panel that polls while building. Followed nav entry added.
This commit is contained in:
@@ -16,6 +16,7 @@ import RegisterPage from "@/features/auth/RegisterPage";
|
||||
import DetailPage from "@/features/detail/DetailPage";
|
||||
import DeletePage from "@/features/library/DeletePage";
|
||||
import DuplicatesPage from "@/features/library/DuplicatesPage";
|
||||
import FollowedPage from "@/features/follows/FollowedPage";
|
||||
import LibraryPage from "@/features/library/LibraryPage";
|
||||
import Md5Redirect from "@/features/library/Md5Redirect";
|
||||
import OnlinePage from "@/features/online/OnlinePage";
|
||||
@@ -70,6 +71,14 @@ export default function App() {
|
||||
<Route path="/view/:md5" element={<Md5Redirect />} />
|
||||
<Route path="/online" element={<OnlinePage />} />
|
||||
<Route path="/online/view/:postId" element={<PostRedirect />} />
|
||||
<Route
|
||||
path="/followed"
|
||||
element={
|
||||
<RequireAuth>
|
||||
<FollowedPage />
|
||||
</RequireAuth>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="/duplicates"
|
||||
element={
|
||||
|
||||
Reference in New Issue
Block a user