77 playlists ,
88 queue ,
99 savedFeeds ,
10+ hidePlayedEpisodes ,
1011 volume ,
1112} from "src/store" ;
1213import { Plugin , type WorkspaceLeaf } from "obsidian" ;
@@ -29,6 +30,7 @@ import { QueueController } from "./store_controllers/QueueController";
2930import { FavoritesController } from "./store_controllers/FavoritesController" ;
3031import type { Episode } from "./types/Episode" ;
3132import CurrentEpisodeController from "./store_controllers/CurrentEpisodeController" ;
33+ import { HidePlayedEpisodesController } from "./store_controllers/HidePlayedEpisodesController" ;
3234import { TimestampTemplateEngine } from "./TemplateEngine" ;
3335import createPodcastNote from "./createPodcastNote" ;
3436import downloadEpisodeWithNotice from "./downloadEpisode" ;
@@ -66,6 +68,7 @@ export default class PodNotes extends Plugin implements IPodNotes {
6668 private downloadedEpisodesController ?: StoreController < {
6769 [ podcastName : string ] : DownloadedEpisode [ ] ;
6870 } > ;
71+ private hidePlayedEpisodesController ?: StoreController < boolean > ;
6972 private transcriptionService ?: TranscriptionService ;
7073 private volumeUnsubscribe ?: Unsubscriber ;
7174
@@ -87,6 +90,7 @@ export default class PodNotes extends Plugin implements IPodNotes {
8790 if ( this . settings . currentEpisode ) {
8891 currentEpisode . set ( this . settings . currentEpisode ) ;
8992 }
93+ hidePlayedEpisodes . set ( this . settings . hidePlayedEpisodes ) ;
9094 volume . set (
9195 Math . min ( 1 , Math . max ( 0 , this . settings . defaultVolume ?? 1 ) ) ,
9296 ) ;
@@ -108,6 +112,10 @@ export default class PodNotes extends Plugin implements IPodNotes {
108112 currentEpisode ,
109113 this ,
110114 ) . on ( ) ;
115+ this . hidePlayedEpisodesController = new HidePlayedEpisodesController (
116+ hidePlayedEpisodes ,
117+ this ,
118+ ) . on ( ) ;
111119
112120 this . api = new API ( ) ;
113121 this . volumeUnsubscribe = volume . subscribe ( ( value ) => {
@@ -358,6 +366,7 @@ export default class PodNotes extends Plugin implements IPodNotes {
358366 this . localFilesController ?. off ( ) ;
359367 this . downloadedEpisodesController ?. off ( ) ;
360368 this . currentEpisodeController ?. off ( ) ;
369+ this . hidePlayedEpisodesController ?. off ( ) ;
361370 this . volumeUnsubscribe ?.( ) ;
362371 }
363372
0 commit comments