webui: RSS + Search tab management UI

Wire the RSS and Search tabs to the new backend:

- RSS: add/remove feeds, per-article "Add" (download), and a full
  auto-download rule editor (match/regex, must[-not]-contain, per-feed
  scope, category, save path, paused) with edit/delete.
- Search: results now add via the server-side download endpoint
  (magnet/.torrent); add a Torznab indexer manager (list/add/remove).
- api.js: feed/rule/indexer/download client methods.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ookami125 2026-06-23 01:01:36 -04:00
parent d8c4a96e88
commit ed906a3549
3 changed files with 163 additions and 21 deletions

View file

@ -295,6 +295,15 @@ table.dtbl td { padding: 3px 8px; border-bottom: 1px solid var(--line-soft); whi
.split2 { display: grid; grid-template-columns: 280px 1fr; gap: 16px; height: 100%; }
.card { background: var(--bg-1); border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; margin-bottom: 12px; }
.card h3 { margin: 0 0 10px; font-size: 13px; color: var(--txt); }
.card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.card-head h3 { margin: 0; }
.feed-row { padding: 6px 0; border-bottom: 1px solid var(--line); }
.feed-row:last-child { border-bottom: none; }
.iconbtn { background: transparent; border: none; color: var(--txt-faint); cursor: pointer;
font-size: 13px; padding: 2px 6px; border-radius: 5px; }
.iconbtn:hover { color: var(--err); background: var(--bg-3); }
.rule-feeds { display: flex; flex-wrap: wrap; gap: 4px 12px; max-height: 120px; overflow: auto;
border: 1px solid var(--line); border-radius: 6px; padding: 6px 8px; background: var(--bg); }
.rule { border: 1px solid var(--line); border-radius: 6px; padding: 10px 12px; margin-bottom: 8px; background: var(--bg-1); }
.rule.off { opacity: .55; }
.rule-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }