sodalive-ios/SodaLive/Sources/Live/Room/Routlette/RouletteViewDialog.swift

38 lines
764 B
Swift

//
// RouletteViewDialog.swift
// SodaLive
//
// Created by klaus on 2023/12/07.
//
import SwiftUI
struct RouletteViewDialog: View {
@Binding var isShowing: Bool
let options: [String]
let selectedOption: String
let complete: () -> Void
var body: some View {
let model = FortuneWheelModel(
titles: options,
size: 320,
onSpinEnd: onSpinEnd,
getWheelItemIndex: getWheelItemIndex
)
ZStack {
FortuneWheel(model: model)
}
}
private func onSpinEnd(index: Int) {
complete()
isShowing = false
}
private func getWheelItemIndex() -> Int {
return options.firstIndex(of: selectedOption) ?? 0
}
}