mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-08-17 00:18:41 -07:00
feat(anime): filter episodes and mark them watched by hand
- Add a filter box above the episode list for a number, range, or name substring, with a "N of M" counter - Read watch marks from the immersion tracker stats and show them per episode, with a watched count in the header, refreshed on window focus - Add a right-click menu to mark one episode or a whole catch-up span (this and everything below) watched/unwatched - Add setWatched/getWatchState IPC plumbing so a manual mark creates the stats row for an episode that was never played
This commit is contained in:
@@ -5,6 +5,9 @@ import type {
|
||||
AnimeBrowserBridgeState,
|
||||
AnimeBrowserDetails,
|
||||
AnimeBrowserEpisode,
|
||||
AnimeBrowserEpisodeWatchState,
|
||||
AnimeBrowserWatchStateRequest,
|
||||
AnimeBrowserSetWatchedRequest,
|
||||
AnimeBrowserPlayRequest,
|
||||
AnimeBrowserPlayResult,
|
||||
AnimeBrowserSearchResult,
|
||||
@@ -31,6 +34,14 @@ const animeBrowserAPI: AnimeBrowserAPI = {
|
||||
ipcRenderer.invoke(request.animeBrowserGetDetails, animeUrl, sourceId),
|
||||
getEpisodes: (animeUrl: string, sourceId?: string): Promise<AnimeBrowserEpisode[]> =>
|
||||
ipcRenderer.invoke(request.animeBrowserGetEpisodes, animeUrl, sourceId),
|
||||
getWatchState: (
|
||||
watchRequest: AnimeBrowserWatchStateRequest,
|
||||
): Promise<AnimeBrowserEpisodeWatchState[]> =>
|
||||
ipcRenderer.invoke(request.animeBrowserGetWatchState, watchRequest),
|
||||
setWatched: (
|
||||
watchedRequest: AnimeBrowserSetWatchedRequest,
|
||||
): Promise<AnimeBrowserEpisodeWatchState[]> =>
|
||||
ipcRenderer.invoke(request.animeBrowserSetWatched, watchedRequest),
|
||||
playEpisode: (playRequest: AnimeBrowserPlayRequest): Promise<AnimeBrowserPlayResult> =>
|
||||
ipcRenderer.invoke(request.animeBrowserPlayEpisode, playRequest),
|
||||
getPreferences: (sourceId: string): Promise<SourcePreferenceView[]> =>
|
||||
|
||||
Reference in New Issue
Block a user