176 Commits

Author SHA1 Message Date
nianzhibai b02a4a4100 style(detail): redesign video detail page with ambient hero and chip meta
- Add .vd-ambient hero layer using poster as blurred backdrop with warm
  orange radial glow, fading to page color
- Wrap player in .vd-player-wrap with gradient border + soft top halo +
  deep shadow to make it the visual focal point
- Replace dotted meta list with .vd-meta__chip pills (drive-tone colors
  for source, accent for HD) plus a .vd-author chip with initial avatar
- Toolbar becomes a floating glass card; like/dislike pill shows accent
  ring on focus, hide button reveals danger color on hover only
- Merge description and tags into a single .vd-info card with section
  headers; tag editor becomes inline popover
- Recommended rail header gets glowing gradient bar + subtitle with
  count; items lift and zoom slightly on hover
- Mobile: player edge-to-edge, like/dislike split main row, hide
  collapses to 44x44 icon button, ambient height/blur scaled down
- Sync rewrite notes to plan section 14.5
2026-05-21 19:20:43 +08:00
nianzhibai 308227c031 chore: ignore TypeScript build info 2026-05-21 09:58:00 +08:00
nianzhibai 81310c2117 feat(detail): rewrite video detail page with mobile polish
- Restructure layout: title + inline meta first, YouTube-style action pills,
  collapsible description card, simplified tag editor.
- Replace Recommended rail !important overrides with a dedicated component
  that reuses previewController/previewIntent so cards still play teasers
  on hover (desktop) and tap-to-preview (mobile).
- Add proper mobile responsive breakpoints (768px / 480px): fix player
  edge-bleed margin, raise touch targets to 44px, redesign actions row,
  switch recommended rail to compact 128px-thumb horizontal cards on phone.
- Show dislike count alongside like count for visual symmetry (still
  client-side only; backend dislike API not yet implemented).
2026-05-21 09:47:36 +08:00
nianzhibai c862fc710b style(detail): redesign video detail page to cinema dark ultra-minimalist layout 2026-05-21 09:22:51 +08:00
nianzhibai 21768c9d0d fix(catalog): prune orphan collection tags after video deletion
When 115 '影视' directory videos are excluded by the scanner and removed
via DeleteVideo, the per-folder collection tags (e.g. 'Better Call Saul
S02', 'Season 1') used to remain in the tags table with zero references,
showing up in the tag cloud and admin UI as count=0 entries.

DeleteVideo now collects the affected tag_ids inside its transaction
and prunes those that are source='collection' and no longer referenced.
A migrate-time DELETE also self-heals databases that already accumulated
such orphans before this change.

Other tag sources (system / user / auto / legacy) are intentionally
preserved to avoid wiping curated labels.

Tests: TestDeleteVideoPrunesOrphanCollectionTag,
       TestMigratePrunesPreexistingOrphanCollectionTags

Plan: 15.13
2026-05-21 09:08:03 +08:00
nianzhibai 014b993227 style: optimize admin layout, mobile sticky glass nav, collapsible table cards, homepage search spotlight capsule, and mobile navigation cards 2026-05-21 00:08:00 +08:00
nianzhibai d4acc028e5 chore: sync latest frontend and backend refinements 2026-05-20 23:09:00 +08:00
Codex d98d4e0aeb Exclude 115 movies folder and relax short teasers 2026-05-20 13:46:11 +08:00
Codex cda88ac1f5 Add login IP ban protection 2026-05-20 11:13:12 +08:00
Codex 486b4c0235 Update homepage rotation and preview handling 2026-05-19 21:21:16 +08:00
Codex 658a7ac086 Improve admin generation status and cooldowns 2026-05-17 13:43:42 +08:00
Codex 7057927f1d Prioritize thumbnail generation before teasers 2026-05-17 00:05:38 +08:00
Codex 3dcfc5c8f6 Use web download API for 115 media 2026-05-16 23:50:45 +08:00
Codex 04caed2c6b Improve 115 scan and media generation status 2026-05-16 22:40:45 +08:00
Codex 35387fe7d3 Fix teaser playback cache handling 2026-05-16 00:31:52 +08:00
Codex 23ba704d35 Fix 115 teaser generation stability 2026-05-15 19:32:01 +08:00
nianzhibai 59c2826deb feat: cleanup stale pikpak videos 2026-05-14 23:27:26 +08:00
nianzhibai 164d96c940 feat: keep previews local only 2026-05-14 23:23:37 +08:00
nianzhibai ff0e95d8cc docs: note PikPak media link speed behavior 2026-05-13 19:50:51 +08:00
nianzhibai fcc0ecd6ef feat: improve admin storage and mobile UI 2026-05-12 19:57:48 +08:00
nianzhibai 31a2f99feb feat: add upload flow and drive maintenance tools 2026-05-12 14:16:42 +08:00
nianzhibai 7fdb6a0a78 feat: show drive type on video detail 2026-05-11 23:37:08 +08:00
nianzhibai 4e6f0557f1 Handle OneDrive rate limits and use preview server 2026-05-11 19:44:06 +08:00
nianzhibai 572afa9f84 Add OneDrive storage and video management 2026-05-11 19:19:53 +08:00
nianzhibai 3506328441 Add PikPak drive support
Add PikPak backend driver, fixed tag matching, cached transcode playback, fast cover handling, and LF normalization.
2026-05-10 23:55:04 +08:00
nianzhibai 87866858b8 Initial commit: video aggregator with quark/115/wopan drivers 2026-05-10 17:07:20 +08:00