Files
sodalive-ios/SodaLive/Sources/Content/Series/Main/ByGenre/SeriesMainGenreView.swift

54 lines
1.7 KiB
Swift

//
// SeriesMainGenreView.swift
// SodaLive
//
// Created by klaus on 11/15/25.
//
import SwiftUI
struct SeriesMainGenreView: View {
let genreList: [GetSeriesGenreListResponse]
let selectGenre: () -> Void
@Binding var selectedGenre: GetSeriesGenreListResponse
var body: some View {
ScrollView(.horizontal, showsIndicators: false) {
HStack(alignment: .top, spacing: 16) {
ForEach(0..<genreList.count, id: \.self) { index in
let genre = genreList[index]
Text(genre.genre)
.appFont(size: 16, weight: selectedGenre.genre == genre.genre ? .bold : .regular)
.foregroundColor(.white)
.padding(.horizontal, 24)
.padding(.vertical, 12)
.background(
selectedGenre.genre == genre.genre ? Color.button : Color(hex: "263238")
)
.cornerRadius(999)
.onTapGesture {
if selectedGenre.genre != genre.genre {
selectedGenre = genre
selectGenre()
}
}
}
}
.padding(.horizontal, 24)
}
}
}
#Preview {
SeriesMainGenreView(
genreList: [
GetSeriesGenreListResponse(id: 1, genre: "test"),
GetSeriesGenreListResponse(id: 2, genre: "test2"),
GetSeriesGenreListResponse(id: 3, genre: "test3")
],
selectGenre: { },
selectedGenre: .constant(GetSeriesGenreListResponse(id: 1, genre: "test"))
)
}