@@ -7,6 +7,9 @@ class ReaderDiscoverViewController: UIViewController, ReaderDiscoverHeaderViewDe
77 private var selectedTag : ReaderDiscoverTag = . recommended
88 private let topic : ReaderAbstractTopic
99 private var streamVC : ReaderStreamViewController ?
10+ private var viewContext : NSManagedObjectContext {
11+ ContextManager . shared. mainContext
12+ }
1013
1114 init ( topic: ReaderAbstractTopic ) {
1215 wpAssert ( ReaderHelpers . topicIsDiscover ( topic) )
@@ -32,11 +35,21 @@ class ReaderDiscoverViewController: UIViewController, ReaderDiscoverHeaderViewDe
3235 }
3336
3437 private func setupHeaderView( ) {
35- headerView. configure ( tags: [ . recommended, . latest] )
38+ let tags = fetchTags ( ) . map ( ReaderDiscoverTag . tag)
39+
40+ headerView. configure ( tags: [ . recommended, . latest] + tags)
3641 headerView. setSelectedTag ( selectedTag)
3742 headerView. delegate = self
3843 }
3944
45+ private func fetchTags( ) -> [ ReaderTagTopic ] {
46+ viewContext. allObjects (
47+ ofType: ReaderTagTopic . self,
48+ matching: ReaderSidebarTagsSection . predicate,
49+ sortedBy: [ NSSortDescriptor ( key: " title " , ascending: true ) ]
50+ )
51+ }
52+
4053 // MARK: - Selected Stream
4154
4255 private func configureStream( for tag: ReaderDiscoverTag ) {
@@ -49,6 +62,8 @@ class ReaderDiscoverViewController: UIViewController, ReaderDiscoverHeaderViewDe
4962 ReaderDiscoverStreamViewController ( topic: topic)
5063 case . latest:
5164 ReaderDiscoverStreamViewController ( topic: topic, sorting: . date)
65+ case . tag( let tag) :
66+ ReaderStreamViewController . controllerWithTopic ( tag)
5267 }
5368 }
5469
0 commit comments