import ComponentLibrary
import SwiftUI

struct DebugPanelTypeSelectorBar: View {
    struct ViewModel {
        let panelType: DebugMenuPanelType
        let onTap: () -> Void
    }

    let viewModel: ViewModel

    init(viewModel: ViewModel) {
        self.viewModel = viewModel
    }

    var body: some View {
        Button {
            viewModel.onTap()
        } label: {
            HStack {
                ZStack {
                    Image(systemName: viewModel.panelType.iconName)
                        .font(.system(size: 16.0, weight: .medium))
                        .foregroundStyle(viewModel.panelType.iconColor)
                }
                .frame(width: 32.0)
                .padding(.leading, 16.0)

                Text(viewModel.panelType.displayTitle)
                    .typographyV1(.body3.neueMontrealMedium())
                    .foregroundStyle(.white.opacity(0.8))

                Spacer()

                Image(systemName: "chevron.right")
                    .font(.system(size: 16.0, weight: .medium))
                    .foregroundStyle(.white.opacity(0.5))
                    .padding(.trailing, 16.0)
            }
            .frame(height: 44.0)
            .background {
                Color.black.opacity(0.2)
            }
            .clipShape(.rect(cornerRadius: 8.0))
        }
    }
}
