Stub out Article code

This commit is contained in:
Maurice Parker
2020-07-02 15:30:50 -05:00
parent 248b6720fc
commit 494bd85a37
5 changed files with 111 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
//
// ArticleContainerView.swift
// NetNewsWire
//
// Created by Maurice Parker on 7/2/20.
// Copyright © 2020 Ranchero Software. All rights reserved.
//
import SwiftUI
import Articles
struct ArticleContainerView: View {
@EnvironmentObject private var sceneModel: SceneModel
@StateObject private var articleModel = ArticleModel()
var article: Article? = nil
@ViewBuilder var body: some View {
if let article = article {
ArticleView()
.environmentObject(articleModel)
.onAppear {
sceneModel.articleModel = articleModel
articleModel.delegate = sceneModel
}
} else {
EmptyView()
}
}
}

View File

@@ -0,0 +1,25 @@
//
// ArticleModel.swift
// NetNewsWire
//
// Created by Maurice Parker on 7/2/20.
// Copyright © 2020 Ranchero Software. All rights reserved.
//
import Foundation
import Foundation
import RSCore
import Account
import Articles
protocol ArticleModelDelegate: class {
func timelineRequestedWebFeedSelection(_: TimelineModel, webFeed: WebFeed)
}
class ArticleModel: ObservableObject {
weak var delegate: ArticleModelDelegate?
}

View File

@@ -0,0 +1,21 @@
//
// ArticleView.swift
// NetNewsWire
//
// Created by Maurice Parker on 7/2/20.
// Copyright © 2020 Ranchero Software. All rights reserved.
//
import SwiftUI
struct ArticleView: View {
var body: some View {
Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
}
}
struct ArticleView_Previews: PreviewProvider {
static var previews: some View {
ArticleView()
}
}

View File

@@ -13,6 +13,7 @@ final class SceneModel: ObservableObject {
var sidebarModel: SidebarModel?
var timelineModel: TimelineModel?
var articleModel: ArticleModel?
}
@@ -35,3 +36,10 @@ extension SceneModel: TimelineModelDelegate {
}
}
// MARK: ArticleModelDelegate
extension SceneModel: ArticleModelDelegate {
}