//
//  TabButton.swift
//  SodaLive
//
//  Created by klaus on 2023/08/09.
//

import SwiftUI

struct TabButton: View {
    
    let title: String
    let action: () -> Void
    let image: () -> String
    let fontName: () -> String
    let color: () -> Color
    let width: CGFloat
    
    var body: some View {
        VStack(spacing: 3.3) {
            Image(image())
            
            Text(title)
                .font(.custom(fontName(), size: 10))
                .foregroundColor(color())
        }
        .frame(width: width)
        .contentShape(Rectangle())
        .padding(.vertical, 13.3)
        .onTapGesture { action() }
    }
}

struct TabButton_Previews: PreviewProvider {
    static var previews: some View {
        TabButton(
            title: "라이브",
            action: {},
            image: { "ic_tabbar_live_selected" },
            fontName: { Font.bold.rawValue },
            color: { Color(hex: "9970ff") },
            width: UIScreen.main.bounds.width / 4
        )
    }
}