Fixed Save Button for new Feed Entries
This commit is contained in:
parent
b1dc6bc473
commit
b1848da797
@ -20,7 +20,7 @@
|
||||
96BD33132A5C400B007A6E53 /* FeedListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BD33122A5C400B007A6E53 /* FeedListView.swift */; };
|
||||
96BD33162A5C403C007A6E53 /* PeeringView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BD33152A5C403C007A6E53 /* PeeringView.swift */; };
|
||||
F581F59B2A5AE72F0081C383 /* BluetoothController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F581F59A2A5AE72F0081C383 /* BluetoothController.swift */; };
|
||||
F5847B622A599BF4009E28D4 /* Body.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5847B612A599BF4009E28D4 /* Body.swift */; };
|
||||
F5847B622A599BF4009E28D4 /* Bodyy.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5847B612A599BF4009E28D4 /* Bodyy.swift */; };
|
||||
F5847B642A599CC3009E28D4 /* LogEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5847B632A599CC3009E28D4 /* LogEntry.swift */; };
|
||||
F5847B662A599EA4009E28D4 /* Feed.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5847B652A599EA4009E28D4 /* Feed.swift */; };
|
||||
F5847B6A2A59AB24009E28D4 /* FeedStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5847B692A59AB24009E28D4 /* FeedStore.swift */; };
|
||||
@ -68,7 +68,7 @@
|
||||
96BD33122A5C400B007A6E53 /* FeedListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListView.swift; sourceTree = "<group>"; };
|
||||
96BD33152A5C403C007A6E53 /* PeeringView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PeeringView.swift; sourceTree = "<group>"; };
|
||||
F581F59A2A5AE72F0081C383 /* BluetoothController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BluetoothController.swift; sourceTree = "<group>"; };
|
||||
F5847B612A599BF4009E28D4 /* Body.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Body.swift; sourceTree = "<group>"; };
|
||||
F5847B612A599BF4009E28D4 /* Bodyy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bodyy.swift; sourceTree = "<group>"; };
|
||||
F5847B632A599CC3009E28D4 /* LogEntry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogEntry.swift; sourceTree = "<group>"; };
|
||||
F5847B652A599EA4009E28D4 /* Feed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Feed.swift; sourceTree = "<group>"; };
|
||||
F5847B692A59AB24009E28D4 /* FeedStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedStore.swift; sourceTree = "<group>"; };
|
||||
@ -139,7 +139,7 @@
|
||||
F5A4B1222A5D5F8B00F5AE01 /* BTPeripheral.swift */,
|
||||
96454F1E2A558EBD0040BEBD /* Assets.xcassets */,
|
||||
96454F202A558EBD0040BEBD /* Preview Content */,
|
||||
F5847B612A599BF4009E28D4 /* Body.swift */,
|
||||
F5847B612A599BF4009E28D4 /* Bodyy.swift */,
|
||||
F5847B632A599CC3009E28D4 /* LogEntry.swift */,
|
||||
F5847B652A599EA4009E28D4 /* Feed.swift */,
|
||||
F5847B692A59AB24009E28D4 /* FeedStore.swift */,
|
||||
@ -321,7 +321,7 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
F5847B622A599BF4009E28D4 /* Body.swift in Sources */,
|
||||
F5847B622A599BF4009E28D4 /* Bodyy.swift in Sources */,
|
||||
96BD33162A5C403C007A6E53 /* PeeringView.swift in Sources */,
|
||||
F5847B662A599EA4009E28D4 /* Feed.swift in Sources */,
|
||||
96BD33132A5C400B007A6E53 /* FeedListView.swift in Sources */,
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
import SwiftUI
|
||||
import Foundation
|
||||
|
||||
public struct Body: Codable {
|
||||
public struct Bodyy: Codable {
|
||||
|
||||
let tag: String
|
||||
let value: String
|
||||
@ -10,7 +10,7 @@ import Foundation
|
||||
struct Feed: Codable {
|
||||
|
||||
let feedID: String
|
||||
let feed: [LogEntry]
|
||||
var feed: [LogEntry]
|
||||
|
||||
init(feedID: String = "", feed: [LogEntry] = []) {
|
||||
self.feedID = feedID
|
||||
@ -25,23 +25,27 @@ struct Feed: Codable {
|
||||
}
|
||||
}
|
||||
|
||||
mutating func appendLogEntry(log: LogEntry) {
|
||||
self.feed.append(log)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension Feed {
|
||||
|
||||
static let sampleData: [LogEntry] =
|
||||
[
|
||||
LogEntry(feedid: "BOB", sequenceNumber: 1, body: Body(tag: Apps.nam, value: "Bob")),
|
||||
LogEntry(feedid: "BOB", sequenceNumber: 2, body: Body(tag: Apps.txt, value: "My first post!")),
|
||||
LogEntry(feedid: "BOB", sequenceNumber: 3, body: Body(tag: Apps.txt, value: "Welcome Alice"))
|
||||
LogEntry(feedid: "BOB", sequenceNumber: 1, body: Bodyy(tag: Apps.nam, value: "Bob")),
|
||||
LogEntry(feedid: "BOB", sequenceNumber: 2, body: Bodyy(tag: Apps.txt, value: "My first post!")),
|
||||
LogEntry(feedid: "BOB", sequenceNumber: 3, body: Bodyy(tag: Apps.txt, value: "Welcome Alice"))
|
||||
]
|
||||
|
||||
static let sampleData2: [LogEntry] =
|
||||
[
|
||||
LogEntry(feedid: "ALI", sequenceNumber: 1, body: Body(tag: Apps.nam, value: "Alice")),
|
||||
LogEntry(feedid: "ALI", sequenceNumber: 2, body: Body(tag: Apps.txt, value: "Alice' first post!")),
|
||||
LogEntry(feedid: "ALI", sequenceNumber: 3, body: Body(tag: Apps.txt, value: "Welcome Bob")),
|
||||
LogEntry(feedid: "ALI", sequenceNumber: 4, body: Body(tag: Apps.txt, value: "Whaddup DAWG"))
|
||||
LogEntry(feedid: "ALI", sequenceNumber: 1, body: Bodyy(tag: Apps.nam, value: "Alice")),
|
||||
LogEntry(feedid: "ALI", sequenceNumber: 2, body: Bodyy(tag: Apps.txt, value: "Alice' first post!")),
|
||||
LogEntry(feedid: "ALI", sequenceNumber: 3, body: Bodyy(tag: Apps.txt, value: "Welcome Bob")),
|
||||
LogEntry(feedid: "ALI", sequenceNumber: 4, body: Bodyy(tag: Apps.txt, value: "Whaddup DAWG"))
|
||||
]
|
||||
|
||||
static let sampleFeed: Feed = Feed(feedID: "BOB", feed: sampleData)
|
||||
|
||||
@ -13,9 +13,9 @@ struct LogEntry: Codable, Identifiable {
|
||||
|
||||
let feedid: String
|
||||
let sequenceNumber: Int
|
||||
let body: Body
|
||||
let body: Bodyy
|
||||
|
||||
init(feedid: String = "", sequenceNumber: Int = 0, body: Body = Body()) {
|
||||
init(feedid: String = "", sequenceNumber: Int = 0, body: Bodyy = Bodyy()) {
|
||||
self.feedid = feedid
|
||||
self.sequenceNumber = sequenceNumber
|
||||
self.body = body
|
||||
@ -24,5 +24,5 @@ struct LogEntry: Codable, Identifiable {
|
||||
}
|
||||
|
||||
extension LogEntry {
|
||||
static let sampleLogEntry = LogEntry(feedid: "BOB", sequenceNumber: 2, body: Body(tag: Apps.txt, value: "My first post!"))
|
||||
static let sampleLogEntry = LogEntry(feedid: "BOB", sequenceNumber: 2, body: Bodyy(tag: Apps.txt, value: "My first post!"))
|
||||
}
|
||||
|
||||
@ -17,11 +17,21 @@ struct NewFeedEntryView: View {
|
||||
TextField("Enter your new feed message:", text: $newEntry)
|
||||
Button(action: {
|
||||
let nextSeq = dataStore.personalFeed.getLastLogEntry().sequenceNumber + 1
|
||||
let newBody = Body(tag: Apps.txt, value: newEntry)
|
||||
let newBody = Bodyy(tag: Apps.txt, value: newEntry)
|
||||
let newLogEntry = LogEntry(feedid: dataStore.personalID, sequenceNumber: nextSeq, body: newBody)
|
||||
dataStore.personalFeed.appendLogEntry(log: newLogEntry)
|
||||
}) {
|
||||
Text("Send")
|
||||
}
|
||||
.task {
|
||||
do {
|
||||
try await dataStore.savePersonalFeed()
|
||||
} catch {
|
||||
// Handle the error
|
||||
print("Error loading data: \(error)")
|
||||
fatalError(error.localizedDescription)
|
||||
}
|
||||
}
|
||||
}
|
||||
Text("New entry: \(newEntry)")
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user