재생목록 플레이어 추가
This commit is contained in:
		@@ -18,12 +18,15 @@ struct HomeView: View {
 | 
			
		||||
    @StateObject var liveViewModel = LiveViewModel()
 | 
			
		||||
    @StateObject var appState = AppState.shared
 | 
			
		||||
    @StateObject var contentPlayManager = ContentPlayManager.shared
 | 
			
		||||
    @StateObject var contentPlayerPlayManager = ContentPlayerPlayManager.shared
 | 
			
		||||
    
 | 
			
		||||
    private let liveView = LiveView()
 | 
			
		||||
    private let explorer = ExplorerView()
 | 
			
		||||
    private let messageView = MessageView()
 | 
			
		||||
    private let contentView = ContentMainView()
 | 
			
		||||
    
 | 
			
		||||
    @State private var isShowPlayer = false
 | 
			
		||||
    
 | 
			
		||||
    var body: some View {
 | 
			
		||||
        GeometryReader { proxy in
 | 
			
		||||
            ZStack(alignment: .bottom) {
 | 
			
		||||
@@ -53,6 +56,56 @@ struct HomeView: View {
 | 
			
		||||
                    
 | 
			
		||||
                    Spacer()
 | 
			
		||||
                    
 | 
			
		||||
                    if contentPlayerPlayManager.isShowingMiniPlayer {
 | 
			
		||||
                        HStack(spacing: 0) {
 | 
			
		||||
                            KFImage(URL(string: contentPlayerPlayManager.coverImageUrl))
 | 
			
		||||
                                .cancelOnDisappear(true)
 | 
			
		||||
                                .downsampling(
 | 
			
		||||
                                    size: CGSize(
 | 
			
		||||
                                        width: 36.7,
 | 
			
		||||
                                        height: 36.7
 | 
			
		||||
                                    )
 | 
			
		||||
                                )
 | 
			
		||||
                                .resizable()
 | 
			
		||||
                                .frame(width: 36.7, height: 36.7)
 | 
			
		||||
                                .cornerRadius(5.3)
 | 
			
		||||
                            
 | 
			
		||||
                            VStack(alignment: .leading, spacing: 2.3) {
 | 
			
		||||
                                Text(contentPlayerPlayManager.title)
 | 
			
		||||
                                    .font(.custom(Font.medium.rawValue, size: 13))
 | 
			
		||||
                                    .foregroundColor(Color.grayee)
 | 
			
		||||
                                    .lineLimit(2)
 | 
			
		||||
                                
 | 
			
		||||
                                Text(contentPlayerPlayManager.nickname)
 | 
			
		||||
                                    .font(.custom(Font.medium.rawValue, size: 11))
 | 
			
		||||
                                    .foregroundColor(Color.grayd2)
 | 
			
		||||
                            }
 | 
			
		||||
                            .padding(.horizontal, 10.7)
 | 
			
		||||
                            
 | 
			
		||||
                            Spacer()
 | 
			
		||||
                            
 | 
			
		||||
                            Image(contentPlayerPlayManager.isPlaying ? "ic_noti_pause" : "btn_bar_play")
 | 
			
		||||
                                .resizable()
 | 
			
		||||
                                .frame(width: 25, height: 25)
 | 
			
		||||
                                .onTapGesture {
 | 
			
		||||
                                    contentPlayerPlayManager.playOrPause()
 | 
			
		||||
                                }
 | 
			
		||||
                            
 | 
			
		||||
                            Image("ic_noti_stop")
 | 
			
		||||
                                .resizable()
 | 
			
		||||
                                .frame(width: 25, height: 25)
 | 
			
		||||
                                .padding(.leading, 16)
 | 
			
		||||
                                .onTapGesture { contentPlayerPlayManager.resetPlayer() }
 | 
			
		||||
                        }
 | 
			
		||||
                        .padding(.vertical, 10.7)
 | 
			
		||||
                        .padding(.horizontal, 13.3)
 | 
			
		||||
                        .background(Color.gray22)
 | 
			
		||||
                        .contentShape(Rectangle())
 | 
			
		||||
                        .onTapGesture {
 | 
			
		||||
                            isShowPlayer = true
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    
 | 
			
		||||
                    if contentPlayManager.isShowingMiniPlayer {
 | 
			
		||||
                        HStack(spacing: 0) {
 | 
			
		||||
                            KFImage(URL(string: contentPlayManager.coverImage))
 | 
			
		||||
@@ -70,12 +123,12 @@ struct HomeView: View {
 | 
			
		||||
                            VStack(alignment: .leading, spacing: 2.3) {
 | 
			
		||||
                                Text(contentPlayManager.title)
 | 
			
		||||
                                    .font(.custom(Font.medium.rawValue, size: 13))
 | 
			
		||||
                                    .foregroundColor(Color(hex: "eeeeee"))
 | 
			
		||||
                                    .foregroundColor(Color.grayee)
 | 
			
		||||
                                    .lineLimit(2)
 | 
			
		||||
                                
 | 
			
		||||
                                Text(contentPlayManager.nickname)
 | 
			
		||||
                                    .font(.custom(Font.medium.rawValue, size: 11))
 | 
			
		||||
                                    .foregroundColor(Color(hex: "d2d2d2"))
 | 
			
		||||
                                    .foregroundColor(Color.grayd2)
 | 
			
		||||
                            }
 | 
			
		||||
                            .padding(.horizontal, 10.7)
 | 
			
		||||
                            
 | 
			
		||||
@@ -101,7 +154,7 @@ struct HomeView: View {
 | 
			
		||||
                        }
 | 
			
		||||
                        .padding(.vertical, 10.7)
 | 
			
		||||
                        .padding(.horizontal, 13.3)
 | 
			
		||||
                        .background(Color(hex: "222222"))
 | 
			
		||||
                        .background(Color.gray22)
 | 
			
		||||
                        .contentShape(Rectangle())
 | 
			
		||||
                        .onTapGesture {
 | 
			
		||||
                            appState
 | 
			
		||||
@@ -115,7 +168,7 @@ struct HomeView: View {
 | 
			
		||||
                    
 | 
			
		||||
                    if proxy.safeAreaInsets.bottom > 0 {
 | 
			
		||||
                        Rectangle()
 | 
			
		||||
                            .foregroundColor(Color(hex: "111111"))
 | 
			
		||||
                            .foregroundColor(Color.gray11)
 | 
			
		||||
                            .frame(width: proxy.size.width, height: 15.3)
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
@@ -174,6 +227,10 @@ struct HomeView: View {
 | 
			
		||||
                        AppState.shared.eventPopup = nil
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                
 | 
			
		||||
                if isShowPlayer {
 | 
			
		||||
                    ContentPlayerView(isShowing: $isShowPlayer, playlist: [])
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            .edgesIgnoringSafeArea(.bottom)
 | 
			
		||||
            .valueChanged(value: appState.pushRoomId) { value in
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user