80 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
//
 | 
						|
//  LiveRoomDonationMessageItemView.swift
 | 
						|
//  SodaLive
 | 
						|
//
 | 
						|
//  Created by klaus on 5/11/24.
 | 
						|
//
 | 
						|
 | 
						|
import SwiftUI
 | 
						|
 | 
						|
struct LiveRoomDonationMessageItemView: View {
 | 
						|
    
 | 
						|
    let message: LiveRoomDonationMessage
 | 
						|
    let creatorId: Int
 | 
						|
    let deleteDonationMessage: (String) -> Void
 | 
						|
    
 | 
						|
    var body: some View {
 | 
						|
        HStack(alignment: .top, spacing: 0) {
 | 
						|
            VStack(alignment: .leading, spacing: 8) {
 | 
						|
                Text("\(message.nickname)님이")
 | 
						|
                    .font(.custom(Font.medium.rawValue, size: 13.3))
 | 
						|
                    .foregroundColor(.white)
 | 
						|
                
 | 
						|
                if !message.canMessage.trimmingCharacters(in: .whitespaces).isEmpty {
 | 
						|
                    Text("\(message.canMessage)")
 | 
						|
                        .font(.custom(Font.medium.rawValue, size: 13.3))
 | 
						|
                        .foregroundColor(.white)
 | 
						|
                }
 | 
						|
                
 | 
						|
                Text("'\(message.donationMessage)'")
 | 
						|
                    .font(.custom(Font.medium.rawValue, size: 13.3))
 | 
						|
                    .foregroundColor(.white)
 | 
						|
            }
 | 
						|
            
 | 
						|
            Spacer()
 | 
						|
            
 | 
						|
            if creatorId == UserDefaults.int(forKey: .userId) {
 | 
						|
                Image("ic_close_white")
 | 
						|
                    .resizable()
 | 
						|
                    .frame(width: 13.3, height: 13.3)
 | 
						|
                    .onTapGesture { deleteDonationMessage(message.uuid) }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        .padding(13.3)
 | 
						|
        .background(
 | 
						|
            message.canMessage.trimmingCharacters(in: .whitespaces).isEmpty ? Color(hex: "c25264").opacity(0.8) :
 | 
						|
                message.memberId == UserDefaults.int(forKey: .userId) ? Color(hex: "59548F") :
 | 
						|
                Color.gray33
 | 
						|
        )
 | 
						|
        .cornerRadius(5.3)
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
#Preview("일반후원 메시지") {
 | 
						|
    LiveRoomDonationMessageItemView(
 | 
						|
        message: LiveRoomDonationMessage(
 | 
						|
            uuid: "",
 | 
						|
            memberId: 3,
 | 
						|
            nickname: "유저2님이",
 | 
						|
            canMessage: "10캔을 후원하셨습니다",
 | 
						|
            donationMessage: "ㅅㅅㅅ"
 | 
						|
        ),
 | 
						|
        creatorId: 0,
 | 
						|
        deleteDonationMessage: { _ in }
 | 
						|
    )
 | 
						|
}
 | 
						|
 | 
						|
#Preview("룰렛후원 메시지") {
 | 
						|
    LiveRoomDonationMessageItemView(
 | 
						|
        message: LiveRoomDonationMessage(
 | 
						|
            uuid: "",
 | 
						|
            memberId: 3,
 | 
						|
            nickname: "유저2님의 룰렛 결과?",
 | 
						|
            canMessage: "",
 | 
						|
            donationMessage: "[테스트] 당첨!"
 | 
						|
        ),
 | 
						|
        creatorId: 0,
 | 
						|
        deleteDonationMessage: { _ in }
 | 
						|
    )
 | 
						|
}
 |