Animate favorite / boost count update

This commit is contained in:
Thomas Ricouard 2023-12-28 21:57:41 +01:00
parent 01cd65e6ac
commit a1093c8052

View file

@ -90,7 +90,9 @@ public final class StatusDataControllerProvider {
isFavorited.toggle() isFavorited.toggle()
let id = remoteStatus ?? status.id let id = remoteStatus ?? status.id
let endpoint = isFavorited ? Statuses.favorite(id: id) : Statuses.unfavorite(id: id) let endpoint = isFavorited ? Statuses.favorite(id: id) : Statuses.unfavorite(id: id)
favoritesCount += isFavorited ? 1 : -1 withAnimation(.default) {
favoritesCount += isFavorited ? 1 : -1
}
do { do {
let status: Status = try await client.post(endpoint: endpoint) let status: Status = try await client.post(endpoint: endpoint)
updateFrom(status: status) updateFrom(status: status)
@ -105,7 +107,9 @@ public final class StatusDataControllerProvider {
isReblogged.toggle() isReblogged.toggle()
let id = remoteStatus ?? status.id let id = remoteStatus ?? status.id
let endpoint = isReblogged ? Statuses.reblog(id: id) : Statuses.unreblog(id: id) let endpoint = isReblogged ? Statuses.reblog(id: id) : Statuses.unreblog(id: id)
reblogsCount += isReblogged ? 1 : -1 withAnimation(.default) {
reblogsCount += isReblogged ? 1 : -1
}
do { do {
let status: Status = try await client.post(endpoint: endpoint) let status: Status = try await client.post(endpoint: endpoint)
updateFrom(status: status.reblog ?? status) updateFrom(status: status.reblog ?? status)