feat(chat-room): 채팅방에 필요한 기본적인 파일 추가
This commit is contained in:
		
							
								
								
									
										18
									
								
								SodaLive/Sources/Chat/Talk/Room/ChatRoomHeaderView.swift
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								SodaLive/Sources/Chat/Talk/Room/ChatRoomHeaderView.swift
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					//
 | 
				
			||||||
 | 
					//  ChatRoomHeaderView.swift
 | 
				
			||||||
 | 
					//  SodaLive
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//  Created by klaus on 9/3/25.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import SwiftUI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct ChatRoomHeaderView: View {
 | 
				
			||||||
 | 
					    var body: some View {
 | 
				
			||||||
 | 
					        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#Preview {
 | 
				
			||||||
 | 
					    ChatRoomHeaderView()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -16,6 +16,7 @@ final class ChatRoomViewModel: ObservableObject {
 | 
				
			|||||||
    @Published var isShowPopup = false
 | 
					    @Published var isShowPopup = false
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    // MARK: - Private
 | 
					    // MARK: - Private
 | 
				
			||||||
 | 
					    private let userRepository = UserRepository()
 | 
				
			||||||
    private let repository = ChatRoomRepository()
 | 
					    private let repository = ChatRoomRepository()
 | 
				
			||||||
    private var subscription = Set<AnyCancellable>()
 | 
					    private var subscription = Set<AnyCancellable>()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					//
 | 
				
			||||||
 | 
					//  DisclaimerView.swift
 | 
				
			||||||
 | 
					//  SodaLive
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//  Created by klaus on 9/3/25.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import SwiftUI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct DisclaimerView: View {
 | 
				
			||||||
 | 
					    var body: some View {
 | 
				
			||||||
 | 
					        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#Preview {
 | 
				
			||||||
 | 
					    DisclaimerView()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					//
 | 
				
			||||||
 | 
					//  MessageInputView.swift
 | 
				
			||||||
 | 
					//  SodaLive
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//  Created by klaus on 9/3/25.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import SwiftUI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct MessageInputView: View {
 | 
				
			||||||
 | 
					    var body: some View {
 | 
				
			||||||
 | 
					        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#Preview {
 | 
				
			||||||
 | 
					    MessageInputView()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -5,4 +5,6 @@
 | 
				
			|||||||
//  Created by klaus on 9/2/25.
 | 
					//  Created by klaus on 9/2/25.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import Foundation
 | 
					struct ChatQuotaPurchaseRequest: Encodable {
 | 
				
			||||||
 | 
					    let container: String = "ios"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,4 +5,7 @@
 | 
				
			|||||||
//  Created by klaus on 9/2/25.
 | 
					//  Created by klaus on 9/2/25.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import Foundation
 | 
					struct ChatQuotaStatusResponse: Decodable {
 | 
				
			||||||
 | 
					    let totalRemaining: Int
 | 
				
			||||||
 | 
					    let nextRechargeAtEpoch: Int64
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					//
 | 
				
			||||||
 | 
					//  ChatBgSelectionView.swift
 | 
				
			||||||
 | 
					//  SodaLive
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//  Created by klaus on 9/3/25.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import SwiftUI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct ChatBgSelectionView: View {
 | 
				
			||||||
 | 
					    var body: some View {
 | 
				
			||||||
 | 
					        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#Preview {
 | 
				
			||||||
 | 
					    ChatBgSelectionView()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					//
 | 
				
			||||||
 | 
					//  ChatSettingsView.swift
 | 
				
			||||||
 | 
					//  SodaLive
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//  Created by klaus on 9/3/25.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import SwiftUI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct ChatSettingsView: View {
 | 
				
			||||||
 | 
					    var body: some View {
 | 
				
			||||||
 | 
					        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#Preview {
 | 
				
			||||||
 | 
					    ChatSettingsView()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					//
 | 
				
			||||||
 | 
					//  ChatSettingsViewModel.swift
 | 
				
			||||||
 | 
					//  SodaLive
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//  Created by klaus on 9/3/25.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import Foundation
 | 
				
			||||||
 | 
					import Combine
 | 
				
			||||||
 | 
					import Moya
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					final class ChatSettingsViewModel: ObservableObject {
 | 
				
			||||||
 | 
					    // MARK: - Published State
 | 
				
			||||||
 | 
					    @Published var isLoading: Bool = false
 | 
				
			||||||
 | 
					    @Published var errorMessage: String = ""
 | 
				
			||||||
 | 
					    @Published var isShowPopup = false
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    // MARK: - Private
 | 
				
			||||||
 | 
					    private let repository = ChatRoomRepository()
 | 
				
			||||||
 | 
					    private var subscription = Set<AnyCancellable>()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user