// // RecentCharacterItemView.swift // SodaLive // // Created by klaus on 8/29/25. // import SwiftUI import Kingfisher struct RecentCharacterItemView: View { let character: RecentCharacter var body: some View { VStack(spacing: 6) { KFImage(URL(string: character.imageUrl)) .placeholder { Circle().fill(Color.gray.opacity(0.2)) } .retry(maxCount: 2, interval: .seconds(1)) .cancelOnDisappear(true) .resizable() .scaledToFill() .frame(width: 76, height: 76) .clipShape(Circle()) Text(character.name) .font(.custom(Font.preRegular.rawValue, size: 18)) .foregroundColor(.white) .lineLimit(1) .frame(maxWidth: 76) .multilineTextAlignment(.center) } } } #Preview { RecentCharacterItemView( character: RecentCharacter(characterId: 1, name: "앨리스", imageUrl: "https://picsum.photos/200") ) .background(Color.black) }