feat(content): 전체 탭을 추가한다
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
import Foundation
|
||||
|
||||
enum MainContentAllType: String, Decodable, Encodable, CaseIterable, Hashable {
|
||||
case audio = "AUDIO"
|
||||
case series = "SERIES"
|
||||
case original = "ORIGINAL"
|
||||
case free = "FREE"
|
||||
case point = "POINT"
|
||||
|
||||
var title: String {
|
||||
switch self {
|
||||
case .audio:
|
||||
return I18n.MainContentAll.TypeChip.audio
|
||||
case .series:
|
||||
return I18n.MainContentAll.TypeChip.series
|
||||
case .original:
|
||||
return I18n.MainContentAll.TypeChip.original
|
||||
case .free:
|
||||
return I18n.MainContentAll.TypeChip.free
|
||||
case .point:
|
||||
return I18n.MainContentAll.TypeChip.point
|
||||
}
|
||||
}
|
||||
|
||||
var usesAudioItems: Bool {
|
||||
switch self {
|
||||
case .audio, .free, .point:
|
||||
return true
|
||||
case .series, .original:
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct MainContentAllTabResponse: Decodable {
|
||||
let type: MainContentAllType
|
||||
let totalCount: Int
|
||||
let audios: [MainContentAudioResponse]
|
||||
let series: [MainContentSeriesResponse]
|
||||
let sort: ContentSort
|
||||
let dayOfWeek: SeriesPublishedDaysOfWeek?
|
||||
let page: Int
|
||||
let size: Int
|
||||
let hasNext: Bool
|
||||
}
|
||||
|
||||
struct MainContentAudioResponse: Decodable, Identifiable {
|
||||
let audioContentId: Int
|
||||
let title: String
|
||||
let imageUrl: String?
|
||||
let price: Int
|
||||
let isAdult: Bool
|
||||
let isPointAvailable: Bool
|
||||
let isFirstContent: Bool
|
||||
let isOriginalSeries: Bool
|
||||
let creatorNickname: String
|
||||
|
||||
var id: Int { audioContentId }
|
||||
}
|
||||
|
||||
struct MainContentSeriesResponse: Decodable, Identifiable {
|
||||
let seriesId: Int
|
||||
let title: String
|
||||
let coverImageUrl: String?
|
||||
let creatorNickname: String
|
||||
let isOriginal: Bool
|
||||
let isAdult: Bool
|
||||
|
||||
var id: Int { seriesId }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user