//
//  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
    }
}