36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
//
 | 
						|
//  HomeTabViewModel.swift
 | 
						|
//  SodaLive
 | 
						|
//
 | 
						|
//  Created by klaus on 7/10/25.
 | 
						|
//
 | 
						|
 | 
						|
import Foundation
 | 
						|
import Combine
 | 
						|
 | 
						|
enum SeriesPublishedDaysOfWeek: String, Encodable {
 | 
						|
    case SUN, MON, TUE, WED, THU, FRI, SAT, RANDOM
 | 
						|
}
 | 
						|
 | 
						|
final class HomeTabViewModel: ObservableObject {
 | 
						|
    private let repository = HomeTabRepository()
 | 
						|
    private var subscription = Set<AnyCancellable>()
 | 
						|
    
 | 
						|
    @Published var errorMessage = ""
 | 
						|
    @Published var isShowPopup = false
 | 
						|
    @Published var isLoading = false
 | 
						|
    
 | 
						|
    @Published var liveList: [GetRoomListResponse] = []
 | 
						|
    @Published var creatorRanking: [GetExplorerSectionCreatorResponse] = []
 | 
						|
    @Published var latestContentThemeList: [String] = []
 | 
						|
    @Published var latestContentList: [AudioContentMainItem] = []
 | 
						|
    @Published var eventBannerList: GetEventResponse? = nil
 | 
						|
    @Published var originalAudioDramaList: [SeriesListItem] = []
 | 
						|
    @Published var auditionList: [GetAuditionListItem] = []
 | 
						|
    @Published var dayOfWeekSeriesList: [SeriesListItem] = []
 | 
						|
    @Published var contentRanking: [GetAudioContentRankingItem] = []
 | 
						|
    @Published var recommendChannelList: [RecommendChannelResponse] = []
 | 
						|
    @Published var freeContentList: [AudioContentMainItem] = []
 | 
						|
    @Published var curationList: [GetContentCurationResponse] = []
 | 
						|
}
 |