Files
letro-ios/ElementX/Sources/Other/SwiftUI/Views/OverridableAvatarImage.swift
Stefan Ceriu da0fce5123 Add a rounded rect border around space avatars
.. and also refactor the LoadableAvatarImage to stop having knowledge of spaces and instead focus on generic shapes.
2026-02-10 14:20:53 +02:00

42 lines
1.2 KiB
Swift

//
// Copyright 2025 Element Creations Ltd.
// Copyright 2023-2025 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
// Please see LICENSE files in the repository root for full details.
//
import Compound
import SwiftUI
struct OverridableAvatarImage: View {
let overrideURL: URL?
let url: URL?
let name: String?
let contentID: String
let shape: LoadableAvatarImage.Shape
let avatarSize: Avatars.Size
let mediaProvider: MediaProviderProtocol?
var body: some View {
if let overrideURL {
AsyncImage(url: overrideURL) { image in
image
.resizable()
.aspectRatio(contentMode: .fill)
} placeholder: {
ProgressView()
}
.scaledFrame(size: avatarSize.value)
.avatarShape(shape, size: avatarSize.value)
} else {
LoadableAvatarImage(url: url,
name: name,
contentID: contentID,
shape: shape,
avatarSize: avatarSize,
mediaProvider: mediaProvider)
}
}
}