Фикс многострочного input (iOS 17-18), скругления glass iOS 26, откат swizzle таб-бара

This commit is contained in:
2026-03-25 17:39:22 +05:00
parent 872cdb88b0
commit f6afc79cd8
4 changed files with 32 additions and 5 deletions

View File

@@ -39,6 +39,7 @@ struct ChatDetailView: View {
@State private var messageText = ""
@State private var isMultilineInput = false
@State private var textInputHeight: CGFloat = 36
@State private var sendError: String?
@State private var isViewActive = false
// markReadTask removed read receipts no longer sent from .onChange(of: messages.count)
@@ -995,11 +996,17 @@ private extension ChatDetailView {
isMultilineInput = multiline
}
},
onTextHeightChange: { h in
withAnimation(.easeInOut(duration: 0.2)) {
textInputHeight = h
}
},
textColor: UIColor(RosettaColors.Adaptive.text),
placeholderColor: UIColor(RosettaColors.Adaptive.textSecondary.opacity(0.5))
)
.padding(.leading, 6)
.frame(maxWidth: .infinity, minHeight: 36, alignment: .bottomLeading)
.frame(maxWidth: .infinity, alignment: .bottomLeading)
.frame(height: textInputHeight)
HStack(alignment: .center, spacing: 0) {
Button {
@@ -1052,6 +1059,7 @@ private extension ChatDetailView {
.padding(3)
.frame(minHeight: 42, alignment: .bottom)
.background { glass(shape: .rounded(isMultilineInput ? 16 : 21), strokeOpacity: 0.18) }
.clipShape(RoundedRectangle(cornerRadius: isMultilineInput ? 16 : 21, style: .continuous))
.padding(.leading, 6)
Button(action: trailingAction) {