tv-anarchy/Sources/TVAnarchy
Natalie ee7efad888 feat(adult): 🍿 collection detail view — clip checklist + offline download
Tapping a collection card on the Adult page now opens a detail view listing
every clip in that collection (goon, pmv, etc) instead of silently firing the
whole set at a host with nothing cached. Each row shows:
- queued state as a tickable checklist (build a session clip by clip)
- freshness / last-played
- offline-cached state, with a per-clip download-to-offline button

Plus a title filter (find e.g. a specific 'brain rot'/gooner clip), queue-all-
fresh, download-all-queued-offline, and play-queued. Downloads land in the
offline cache where the new star/trash row controls manage them. Quick-play the
old fire path stays on the card context menu.

Core: PornCollectionService.clips()/title() expose the full per-collection clip
list with freshness; PlaylistController gains single-item checklist queue ops
(isQueued/addToQueue/removeFromQueue) and pornClips().

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 00:50:05 -04:00
..
Assets.xcassets feat(app): app icon asset catalog + make-icon tool 2026-06-09 05:50:20 -07:00
Resources feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
Theme feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
AdultView.swift feat(adult): 🍿 collection detail view — clip checklist + offline download 2026-06-30 00:50:05 -04:00
DeviceEditView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
DevicesView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
DeviceView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
DownloadsView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
GoonCollectionView.swift feat(adult): 🍿 collection detail view — clip checklist + offline download 2026-06-30 00:50:05 -04:00
HomeView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
HostSelector.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
Info.plist feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
IntroView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
LibraryView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
LogView.swift refactor(tv-anarchy): rename PlumTV→TVAnarchy and land session work 2026-06-08 22:04:22 -07:00
MediaCards.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
MeshJoinView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
MetadataView.swift refactor(tv-anarchy): rename PlumTV→TVAnarchy and land session work 2026-06-08 22:04:22 -07:00
MiniTransport.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
OfflineCacheView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
OfflineCullPanel.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
OfflineDownloadPanel.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
OfflinePolicySection.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
PlayerQueueRail.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
PlayerUpNextCard.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
PlayerView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
PlaylistPopover.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
QRScannerView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
RootView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
SearchView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
SetupView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
StreamabilityIndicator.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
StreamPolicySection.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
TVAnarchyApp.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00
VPNSettingsView.swift feat(offline): inline star-to-keep and trash-to-cull on cache rows 2026-06-30 00:12:41 -04:00