change applied and updated tests (#3751)

This commit is contained in:
Mauro 2025-02-07 10:08:35 +01:00 committed by GitHub
parent b9e6a3328f
commit ac34f9f208
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 81 additions and 63 deletions

View File

@ -6,6 +6,7 @@
//
import SwiftUI
import UniformTypeIdentifiers
extension String {
/// Returns the string as an `AttributedString` with the specified character tinted in a different color.
@ -107,3 +108,13 @@ extension String {
return "#\(aliasLocalPart):\(serverName)"
}
}
extension String {
var validatedFileExtension: String {
let fileExtension = (self as NSString).pathExtension
guard !fileExtension.isEmpty else {
return "bin"
}
return UTType(filenameExtension: fileExtension) != nil ? fileExtension : "bin"
}
}

View File

@ -38,6 +38,14 @@ struct MediaFileRoomTimelineContent: View {
var shouldBoost = false
var isAudioFile = false
private var fileDescription: String {
var fileDescription = "\(filename.validatedFileExtension.uppercased())"
if let fileSize {
fileDescription += " (\(fileSize.formatted(.byteCount(style: .file))))"
}
return fileDescription
}
var onMediaTap: (() -> Void)?
private var icon: KeyPath<CompoundIcons, Image> {
@ -69,14 +77,13 @@ struct MediaFileRoomTimelineContent: View {
var filePreview: some View {
Label {
HStack(spacing: 4) {
VStack(alignment: .leading, spacing: 0) {
Text(filename)
.truncationMode(.middle)
if let fileSize {
Text("(\(fileSize.formatted(.byteCount(style: .file))))")
.layoutPriority(1) // We want the filename to truncate rather than the size.
}
.foregroundStyle(.compound.textPrimary)
.font(.compound.bodyLG)
Text(fileDescription)
.font(.compound.bodySM)
.foregroundStyle(.compound.textSecondary)
}
.font(.compound.bodyLG)
.foregroundStyle(.compound.textPrimary)