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
|
||||
|
||||
// MARK: - Private
|
||||
private let userRepository = UserRepository()
|
||||
private let repository = ChatRoomRepository()
|
||||
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.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
struct ChatQuotaPurchaseRequest: Encodable {
|
||||
let container: String = "ios"
|
||||
}
|
||||
|
||||
@@ -5,4 +5,7 @@
|
||||
// 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