Compare commits

...

2 Commits

Author SHA1 Message Date
d85921e9fe patch msg display 2025-12-13 03:07:06 +03:00
4d890a54a5 add navigation tab 2025-12-13 02:43:08 +03:00
3 changed files with 91 additions and 57 deletions

View File

@ -963,6 +963,7 @@
"comment" : "Contacts empty state title"
},
"Контакты" : {
"comment" : "Contacts tab title",
"localizations" : {
"en" : {
"stringUnit" : {

View File

@ -1044,80 +1044,112 @@ private struct ChatRowView: View {
}
VStack(alignment: .leading, spacing: 4) {
if let officialName = officialDisplayName {
HStack(spacing: 6) {
HStack{
if let officialName = officialDisplayName {
HStack(spacing: 6) {
if #available(iOS 16.0, *) {
Text(officialName)
.fontWeight(.semibold)
.foregroundColor(.primary)
.lineLimit(1)
.truncationMode(.tail)
.strikethrough(isDeletedUser, color: Color.secondary)
} else {
Text(officialName)
.fontWeight(.semibold)
.foregroundColor(.primary)
.lineLimit(1)
.truncationMode(.tail)
}
Image(systemName: "checkmark.seal.fill")
.foregroundColor(Color.accentColor)
.font(.caption)
}
} else {
if #available(iOS 16.0, *) {
Text(officialName)
.fontWeight(.semibold)
Text(title)
.fontWeight(chat.unreadCount > 0 ? .semibold : .regular)
.foregroundColor(.primary)
.lineLimit(1)
.truncationMode(.tail)
.strikethrough(isDeletedUser, color: Color.secondary)
} else {
Text(officialName)
.fontWeight(.semibold)
Text(title)
.fontWeight(chat.unreadCount > 0 ? .semibold : .regular)
.foregroundColor(.primary)
.lineLimit(1)
.truncationMode(.tail)
}
Image(systemName: "checkmark.seal.fill")
.foregroundColor(Color.accentColor)
.font(.caption)
}
} else {
if #available(iOS 16.0, *) {
Text(title)
.fontWeight(chat.unreadCount > 0 ? .semibold : .regular)
.foregroundColor(.primary)
.lineLimit(1)
.truncationMode(.tail)
.strikethrough(isDeletedUser, color: Color.secondary)
} else {
Text(title)
.fontWeight(chat.unreadCount > 0 ? .semibold : .regular)
.foregroundColor(.primary)
.lineLimit(1)
.truncationMode(.tail)
if let timestamp {
Spacer()
HStack(spacing: 4) {
if shouldShowReadStatus {
Image(systemName: readStatusIconName)
.foregroundColor(readStatusColor)
.font(.caption2)
}
Text(timestamp)
.font(.caption)
.foregroundColor(.secondary)
}
}
}
HStack {
Text(messagePreview)
.font(.subheadline)
.foregroundColor(subtitleColor)
.lineLimit(messageLimitLine)
.truncationMode(.tail)
if chat.unreadCount > 0 {
Spacer()
Text("\(chat.unreadCount)")
.font(.caption2.bold())
.foregroundColor(.white)
.padding(.horizontal, 8)
.padding(.vertical, 4)
.background(
Capsule().fill(Color.accentColor)
)
}
}
Text(messagePreview)
.font(.subheadline)
.foregroundColor(subtitleColor)
.lineLimit(messageLimitLine)
.truncationMode(.tail)
}
.frame(maxWidth: .infinity, alignment: .leading)
Spacer()
// Spacer()
VStack(alignment: .trailing, spacing: 6) {
if let timestamp {
HStack(spacing: 4) {
if shouldShowReadStatus {
Image(systemName: readStatusIconName)
.foregroundColor(readStatusColor)
.font(.caption2)
}
Text(timestamp)
.font(.caption)
.foregroundColor(.secondary)
}
}
if chat.unreadCount > 0 {
Text("\(chat.unreadCount)")
.font(.caption2.bold())
.foregroundColor(.white)
.padding(.horizontal, 8)
.padding(.vertical, 4)
.background(
Capsule().fill(Color.accentColor)
)
}
}
// VStack(alignment: .trailing, spacing: 6) {
//// if let timestamp {
//// HStack(spacing: 4) {
//// if shouldShowReadStatus {
//// Image(systemName: readStatusIconName)
//// .foregroundColor(readStatusColor)
//// .font(.caption2)
//// }
////
//// Text(timestamp)
//// .font(.caption)
//// .foregroundColor(.secondary)
//// }
//// }
//
// if chat.unreadCount > 0 {
// Text("\(chat.unreadCount)")
// .font(.caption2.bold())
// .foregroundColor(.white)
// .padding(.horizontal, 8)
// .padding(.vertical, 4)
// .background(
// Capsule().fill(Color.accentColor)
// )
// }
// }
}
.padding(.vertical, 8)
}

View File

@ -81,6 +81,7 @@ struct ContactsTab: View {
}
}
}
.navigationTitle(NSLocalizedString("Контакты", comment: "Contacts tab title"))
.background(Color(UIColor.systemBackground))
.listStyle(.plain)
.task {