feat(chat-room) 채팅방 골격 추가

This commit is contained in:
Yu Sung
2025-09-02 21:49:22 +09:00
parent 833fd0f1b0
commit 6b445fff7c
19 changed files with 246 additions and 21 deletions

View File

@@ -0,0 +1,18 @@
//
// AiMessageItemView.swift
// SodaLive
//
// Created by klaus on 9/2/25.
//
import SwiftUI
struct AiMessageItemView: View {
var body: some View {
Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
}
}
#Preview {
AiMessageItemView()
}

View File

@@ -0,0 +1,10 @@
//
// SendChatMessageRequest.swift
// SodaLive
//
// Created by klaus on 9/2/25.
//
struct SendChatMessageRequest: Encodable {
let message: String
}

View File

@@ -0,0 +1,12 @@
//
// SendChatMessageResponse.swift
// SodaLive
//
// Created by klaus on 9/2/25.
//
struct SendChatMessageResponse: Decodable {
let messages: [ServerChatMessage]
let totalRemaining: Int
let nextRechargeAtEpoch: Int64?
}

View File

@@ -0,0 +1,18 @@
//
// ServerChatMessage.swift
// SodaLive
//
// Created by klaus on 9/2/25.
//
struct ServerChatMessage: Decodable {
let messageId: Int64
let message: String
let profileImageUrl: String
let mine: Bool
let createdAt: Int64
let messageType: String
let imageUrl: String?
let price: Int?
let hasAccess: Bool
}

View File

@@ -0,0 +1,18 @@
//
// TypingIndicatorItemView.swift
// SodaLive
//
// Created by klaus on 9/2/25.
//
import SwiftUI
struct TypingIndicatorItemView: View {
var body: some View {
Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
}
}
#Preview {
TypingIndicatorItemView()
}

View File

@@ -0,0 +1,18 @@
//
// UserMessageItemView.swift
// SodaLive
//
// Created by klaus on 9/2/25.
//
import SwiftUI
struct UserMessageItemView: View {
var body: some View {
Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
}
}
#Preview {
UserMessageItemView()
}