mirror of
https://github.com/narrrl/proton-stream.git
synced 2026-11-04 16:57:00 +01:00
feat(core,app,android,ios): more like this and browse by genre, studio, person
pstr_core::discover scores every title against another by shared director, studio, genres, leading tags and format, leaves out its own franchise and keeps one title per other franchise. It drives a "More like this" row under a title's episodes and, seeded by the title most recently watched to the end, a "Because you watched" row on the library of titles not yet started. Genre chips on the title page now open a page of every title with that genre, and the studios and director move from the line of facts onto chips of their own that do the same. The desktop has a Browse page whose back link returns to the title; Android and iOS show it over the library pane. The bridge exposes more_like, browse and facet_kind. Also moves a doc comment the My List commit left on the wrong function.
This commit is contained in:
1 parent
f66faf6b75
commit
fafe0c3087
23 files changed
+1139
-92
No files matched your search
@@ -548,6 +548,22 @@ final class AppModel {
|
||||
}
|
||||
}
|
||||
|
||||
/// The keys of the titles most like `key`, best first; none if the engine
|
||||
/// cannot say.
|
||||
func moreLike(_ key: String) async -> [String] {
|
||||
(try? await run { try $0.moreLike(key: key) }) ?? []
|
||||
}
|
||||
|
||||
/// The keys of every title `facet` stands for, in library order.
|
||||
func browse(_ facet: BrowseFacet) async -> [String] {
|
||||
do {
|
||||
return try await run { try $0.browse(facet: facet) }
|
||||
} catch {
|
||||
reportError(error)
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Watch state
|
||||
|
||||
/// Every episode of a title watched or unwatched, with an Undo: a whole
|
||||
|
||||
Reference in new issue
Block a user