From c7afde3801be81dedee63ba2b4ec5a517663c942 Mon Sep 17 00:00:00 2001 From: Mauro <34335419+Velin92@users.noreply.github.com> Date: Mon, 2 Dec 2024 17:28:50 +0100 Subject: [PATCH] Knock a room - added a char counter for the message (#3570) * added a char counter * moved code --- .../JoinRoomScreen/View/JoinRoomScreen.swift | 14 +++++++++++--- .../test_joinRoomScreen-iPad-en-GB.Knock.png | 4 ++-- .../test_joinRoomScreen-iPad-pseudo.Knock.png | 4 ++-- .../test_joinRoomScreen-iPhone-16-en-GB.Knock.png | 4 ++-- .../test_joinRoomScreen-iPhone-16-pseudo.Knock.png | 4 ++-- 5 files changed, 19 insertions(+), 11 deletions(-) diff --git a/ElementX/Sources/Screens/JoinRoomScreen/View/JoinRoomScreen.swift b/ElementX/Sources/Screens/JoinRoomScreen/View/JoinRoomScreen.swift index 40c3d65e3..3953ed96c 100644 --- a/ElementX/Sources/Screens/JoinRoomScreen/View/JoinRoomScreen.swift +++ b/ElementX/Sources/Screens/JoinRoomScreen/View/JoinRoomScreen.swift @@ -9,6 +9,7 @@ import Compound import SwiftUI struct JoinRoomScreen: View { + private let maxKnockMessageLength = 500 @Environment(\.dynamicTypeSize) private var dynamicTypeSize @ObservedObject var context: JoinRoomScreenViewModel.Context @@ -103,6 +104,13 @@ struct JoinRoomScreen: View { } } } + + private var knockMessageFooterString: String { + guard !context.knockMessage.isEmpty else { + return L10n.screenJoinRoomKnockMessageDescription + } + return "\(context.knockMessage.count)/\(maxKnockMessageLength)" + } @ViewBuilder private var knockMessage: some View { @@ -110,7 +118,7 @@ struct JoinRoomScreen: View { HStack(spacing: 0) { TextField("", text: $context.knockMessage, axis: .vertical) .onChange(of: context.knockMessage) { _, newValue in - context.knockMessage = String(newValue.prefix(500)) + context.knockMessage = String(newValue.prefix(maxKnockMessageLength)) } .lineLimit(4, reservesSpace: true) .font(.compound.bodyMD) @@ -125,8 +133,8 @@ struct JoinRoomScreen: View { .stroke(.compound.borderInteractivePrimary) } - Text(L10n.screenJoinRoomKnockMessageDescription) - .font(.compound.bodyMD) + Text(knockMessageFooterString) + .font(.compound.bodySM) .foregroundStyle(.compound.textSecondary) } } diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Knock.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Knock.png index 477eae3b2..f900ee449 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Knock.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Knock.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2347df221ddac84740cf5436620bb07bf3e7f24aea85e6dceec11f8d374a66d0 -size 1817511 +oid sha256:659cf8286eb523208e2fca0ba19578ff4b33a0076dea962fc3f133a089f5bca9 +size 1816652 diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Knock.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Knock.png index 2b13d2845..b72d10f4f 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Knock.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Knock.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69ad1bad58cd73c5626fdf52923f6a0955221f5673b4485c131048d64b215c84 -size 1825976 +oid sha256:563f7440384e75819f985d659108c5e37bd8c5bca2ca79fbdb2c1ee0617ed17d +size 1824851 diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-16-en-GB.Knock.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-16-en-GB.Knock.png index eecc7bade..4ea478dc6 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-16-en-GB.Knock.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-16-en-GB.Knock.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:438018482d1792510fd3d07df8f9ba72ca7ddf3f1e69d7ab0b0adcdbe7a8b0f8 -size 729066 +oid sha256:6f3d9a81bc16d26c4048e4bd59fefe56159a10f2a0f32139ee84ecef7f4d001f +size 728704 diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-16-pseudo.Knock.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-16-pseudo.Knock.png index 70405c897..f430d91d1 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-16-pseudo.Knock.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-16-pseudo.Knock.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03f9fedddcc22df3d14c21cb5314cdd8fdf17592032f57bb762b7c1fe1bbf5ca -size 738216 +oid sha256:6cbcee4066b91f8649d34a66b1b42dfd036541ed7eb7043bff6618089192ae1a +size 736832