RippleChat/RippleChat/Views/NewFeedEntryView.swift
severin.memmishofer 7cafbb94c2 Bug fixes
2023-07-13 15:04:40 +02:00

48 lines
1.5 KiB
Swift

//
// NewFeedEntryView.swift
// RippleChat
//
// Created by Sebastian Lenzlinger on 10.07.23.
//
import SwiftUI
struct NewFeedEntryView: View {
@State private var newEntry: String = ""
@EnvironmentObject var dataStore: DataStore
var body: some View {
VStack(alignment: .leading) {
HStack {
TextField("Enter your new feed message:", text: $newEntry)
Button(action: {
let nextSeq = dataStore.personalFeed.getLastLogEntry().sequenceNumber + 1
let newBody = Bodyy(tag: Apps.txt, value: newEntry)
let newLogEntry = LogEntry(feedid: dataStore.personalID, sequenceNumber: nextSeq, body: newBody)
dataStore.personalFeed.appendLogEntry(log: newLogEntry)
newEntry = ""
}) {
Text("Send")
}
.task {
do {
try await dataStore.savePersonalFeed()
} catch {
// Handle the error
print("Error loading data: \(error)")
fatalError(error.localizedDescription)
}
}
}
}
.padding()
}
}
struct NewFeedEntryView_Previews: PreviewProvider {
static var previews: some View {
NewFeedEntryView()
.environmentObject(DataStore.sampleDataStore)
}
}