//
//  ContentDetailPreviousNextContentButtonView.swift
//  SodaLive
//
//  Created by klaus on 4/1/25.
//

import SwiftUI
import Kingfisher

struct ContentDetailPreviousNextContentButtonView: View {
    
    let previousContent: OtherContentResponse?
    let nextContent: OtherContentResponse?
    let onClickButton: (Int) -> Void
    
    var body: some View {
        HStack(spacing: 8) {
            VStack {
                if let previousContent = previousContent {
                    HStack(alignment: .top, spacing: 5.3) {
                        KFImage(URL(string: previousContent.coverUrl))
                            .resizable()
                            .frame(width: 33.3, height: 33.3)
                            .cornerRadius(5.3)
                        
                        VStack(alignment: .leading, spacing: 5.3) {
                            Text(previousContent.title)
                                .font(.custom(Font.medium.rawValue, size: 11))
                                .foregroundColor(.grayd2)
                                .multilineTextAlignment(.leading)
                                .lineLimit(2)
                            
                            Text("이전화")
                                .font(.custom(Font.medium.rawValue, size: 13.3))
                                .foregroundColor(.button)
                                .multilineTextAlignment(.leading)
                                .lineLimit(2)
                        }
                    }
                    .frame(maxWidth: .infinity, alignment: .leading)
                    .padding(5.3)
                    .background(Color.gray22)
                    .overlay(
                        RoundedRectangle(cornerRadius: 5.3)
                            .strokeBorder(lineWidth: 1)
                            .foregroundColor(Color.gray55)
                    )
                    .contentShape(Rectangle())
                    .onTapGesture {
                        onClickButton(previousContent.contentId)
                    }
                }
            }
            .frame(maxWidth: .infinity)
            
            VStack {
                if let nextContent = nextContent {
                    HStack(alignment: .top, spacing: 5.3) {
                        KFImage(URL(string: nextContent.coverUrl))
                            .resizable()
                            .frame(width: 33.3, height: 33.3)
                            .cornerRadius(5.3)
                        
                        VStack(alignment: .leading, spacing: 5.3) {
                            Text(nextContent.title)
                                .font(.custom(Font.medium.rawValue, size: 11))
                                .foregroundColor(.grayd2)
                                .multilineTextAlignment(.leading)
                                .lineLimit(2)
                            
                            Text("다음화")
                                .font(.custom(Font.medium.rawValue, size: 13.3))
                                .foregroundColor(.button)
                                .multilineTextAlignment(.leading)
                                .lineLimit(2)
                        }
                    }
                    .frame(maxWidth: .infinity, alignment: .leading)
                    .padding(5.3)
                    .background(Color.gray22)
                    .overlay(
                        RoundedRectangle(cornerRadius: 5.3)
                            .strokeBorder(lineWidth: 1)
                            .foregroundColor(Color.gray55)
                    )
                    .contentShape(Rectangle())
                    .onTapGesture {
                        onClickButton(nextContent.contentId)
                    }
                }
            }
            .frame(maxWidth: .infinity)
        }
    }
}

#Preview {
    ContentDetailPreviousNextContentButtonView(
        previousContent: OtherContentResponse(
            contentId: 1,
            title: "1화\n남편은 분명 성기사였다",
            coverUrl: "https://test-cf.sodalive.net/profile/default-profile.png"
        ),
        nextContent: OtherContentResponse(
            contentId: 3,
            title: "3화\n남편은 분명 성기사였다",
            coverUrl: "https://test-cf.sodalive.net/profile/default-profile.png"
        ),
        onClickButton: { _ in }
    )
}
