mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2024-06-16 12:10:43 +00:00
42 lines
839 B
Swift
42 lines
839 B
Swift
import SwiftUI
|
|
import Network
|
|
|
|
public struct TimelineView: View {
|
|
public enum Kind {
|
|
case pub, hastah, home, list
|
|
}
|
|
|
|
@EnvironmentObject private var client: Client
|
|
|
|
@State private var statuses: [Status] = []
|
|
|
|
private let kind: Kind
|
|
|
|
public init(kind: Kind) {
|
|
self.kind = kind
|
|
}
|
|
|
|
public var body: some View {
|
|
List(statuses) { status in
|
|
StatusRowView(status: status)
|
|
}
|
|
.listStyle(.plain)
|
|
.navigationTitle("Public Timeline: \(client.server)")
|
|
.navigationBarTitleDisplayMode(.inline)
|
|
.task {
|
|
await refreshTimeline()
|
|
}
|
|
.refreshable {
|
|
await refreshTimeline()
|
|
}
|
|
}
|
|
|
|
private func refreshTimeline() async {
|
|
do {
|
|
self.statuses = try await client.fetchArray(endpoint: Timeline.pub)
|
|
} catch {
|
|
print(error.localizedDescription)
|
|
}
|
|
}
|
|
}
|