fix reveal logic

This commit is contained in:
Avently
2024-12-19 10:41:22 -08:00
parent 4d6ef0bff8
commit 449f15ea0e
+11 -5
View File
@@ -459,7 +459,11 @@ struct ChatView: View {
showChatInfoSheet: $showChatInfoSheet,
revealedItems: $revealedItems,
selectedChatItems: $selectedChatItems,
forwardedChatItems: $forwardedChatItems
forwardedChatItems: $forwardedChatItems,
reveal: { reveal in
mergedItem.reveal(reveal, $revealedItems)
mergedItems = MergedItems.create(ItemsModel.shared.reversedChatItems, chat.chatStats.unreadCount, revealedItems, ItemsModel.shared.chatState)
}
)
.id(ci.id) // Required to trigger `onAppear` on iOS15
} loadItems: { pagination, visibleItemIndexesNonReversed in
@@ -940,6 +944,8 @@ struct ChatView: View {
@State private var allowMenu: Bool = true
@State private var markedRead = false
var reveal: (Bool) -> Void
var revealed: Bool { revealedItems.contains(chatItem.id) }
typealias ItemSeparation = (timestamp: Bool, largeGap: Bool, date: Date?)
@@ -1645,7 +1651,7 @@ struct ChatView: View {
private func hideButton() -> Button<some View> {
Button {
withConditionalAnimation {
merged.reveal(false, $revealedItems)
reveal(false)
}
} label: {
Label(
@@ -1720,7 +1726,7 @@ struct ChatView: View {
private func revealButton(_ ci: ChatItem) -> Button<some View> {
Button {
withConditionalAnimation {
merged.reveal(true, $revealedItems)
reveal(true)
}
} label: {
Label(
@@ -1733,7 +1739,7 @@ struct ChatView: View {
private func expandButton() -> Button<some View> {
Button {
withConditionalAnimation {
merged.reveal(true, $revealedItems)
reveal(true)
}
} label: {
Label(
@@ -1746,7 +1752,7 @@ struct ChatView: View {
private func shrinkButton() -> Button<some View> {
Button {
withConditionalAnimation {
merged.reveal(false, $revealedItems)
reveal(false)
}
} label: {
Label (