Дизайн-система iOS < 26: чёрный фон, blur элементов, удаление SplashView

This commit is contained in:
2026-03-09 12:10:43 +05:00
parent 30e9e3664c
commit b1f71c43f0
17 changed files with 352 additions and 633 deletions

View File

@@ -107,6 +107,8 @@ struct ChatDetailView: View {
.toolbar(.hidden, for: .tabBar)
.task {
isViewActive = true
// Reset idle timer user is actively viewing a chat.
SessionManager.shared.recordUserInteraction()
// Request user info (non-mutating, won't trigger list rebuild)
requestUserInfoIfNeeded()
// Delay ALL dialog mutations to let navigation transition complete.
@@ -321,6 +323,8 @@ private extension ChatDetailView {
}
.onChange(of: isInputFocused) { _, focused in
guard focused else { return }
// User tapped the input reset idle timer.
SessionManager.shared.recordUserInteraction()
Task { @MainActor in
try? await Task.sleep(nanoseconds: 80_000_000)
scrollToBottom(proxy: proxy, animated: true)
@@ -585,21 +589,14 @@ private extension ChatDetailView {
.glassEffect(.regular, in: RoundedRectangle(cornerRadius: radius, style: .continuous))
}
} else {
let border = strokeColor.opacity(max(0.28, strokeOpacity))
switch shape {
case .capsule:
Capsule()
.fill(.ultraThinMaterial)
.overlay(Capsule().stroke(border, lineWidth: 0.8))
Capsule().fill(.ultraThinMaterial)
case .circle:
Circle()
.fill(.ultraThinMaterial)
.overlay(Circle().stroke(border, lineWidth: 0.8))
Circle().fill(.ultraThinMaterial)
case let .rounded(radius):
let rounded = RoundedRectangle(cornerRadius: radius, style: .continuous)
rounded
RoundedRectangle(cornerRadius: radius, style: .continuous)
.fill(.ultraThinMaterial)
.overlay(rounded.stroke(border, lineWidth: 0.8))
}
}
}
@@ -703,6 +700,8 @@ private extension ChatDetailView {
func sendCurrentMessage() {
let message = trimmedMessage
guard !message.isEmpty else { return }
// User is sending a message reset idle timer.
SessionManager.shared.recordUserInteraction()
messageText = ""
sendError = nil