mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2025-02-16 17:55:13 +00:00
Update status on fetching detail
This commit is contained in:
parent
23fe7d3373
commit
adf8d004f7
2 changed files with 8 additions and 3 deletions
|
@ -31,8 +31,8 @@ public final class StatusDataControllerProvider {
|
||||||
|
|
||||||
public func dataController(for status: any AnyStatus, client: Client) -> StatusDataController {
|
public func dataController(for status: any AnyStatus, client: Client) -> StatusDataController {
|
||||||
let key = CacheKey(statusId: status.id, client: client)
|
let key = CacheKey(statusId: status.id, client: client)
|
||||||
if let controller = cache[key] {
|
if let controller = cache[key] as? StatusDataController {
|
||||||
return controller as! StatusDataController
|
return controller
|
||||||
}
|
}
|
||||||
let controller = StatusDataController(status: status, client: client)
|
let controller = StatusDataController(status: status, client: client)
|
||||||
cache[key] = controller
|
cache[key] = controller
|
||||||
|
@ -66,7 +66,7 @@ public final class StatusDataController: StatusDataControlling {
|
||||||
self.favoritesCount = status.favouritesCount
|
self.favoritesCount = status.favouritesCount
|
||||||
}
|
}
|
||||||
|
|
||||||
private func updateFrom(status: Status) {
|
public func updateFrom(status: Status) {
|
||||||
self.isReblogged = status.reblogged == true
|
self.isReblogged = status.reblogged == true
|
||||||
self.isBookmarked = status.bookmarked == true
|
self.isBookmarked = status.bookmarked == true
|
||||||
self.isFavorited = status.favourited == true
|
self.isFavorited = status.favourited == true
|
||||||
|
|
|
@ -150,6 +150,11 @@ public struct StatusDetailView: View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.id(status.id)
|
.id(status.id)
|
||||||
|
.onAppear {
|
||||||
|
StatusDataControllerProvider.shared.dataController(for: status.reblog ?? status,
|
||||||
|
client: client)
|
||||||
|
.updateFrom(status: status)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private var errorView: some View {
|
private var errorView: some View {
|
||||||
|
|
Loading…
Reference in a new issue