import Foundation
import SwiftUI

public struct Switch: View{
    @Binding var value: Bool
    var disabled: Bool
    var onChange: ((Bool)->Void)?
    
    public init(_ value: Binding<Bool>,disabled: Bool = false, onChange: ((Bool)->Void)? = nil){
        self._value = value
        self.disabled = disabled
        self.onChange = onChange
    }
    
    
    public var body: some View {
        SwiftUI.Button(action: {
            withAnimation{
                value.toggle()
                onChange?(value)
            }
        }){
              HStack{
                  HStack {
                  }
                  .frame(width: 6, height: 6)
                  .background(value ? Colors.pink03 : Colors.black07)
                  .clipShape(Circle())
                  .opacity(disabled ? 0.4 : 1)
              }
              .frame(width: 14, height: 14)
              .background(Colors.black01)
              .clipShape(Circle())
              .padding(.leading,5)
              .padding(.trailing,5)
              
          }
          .disabled(disabled)
          .frame(width: 40, height: 24, alignment: value == true ? .trailing : .leading)
          .background(value ? Colors.pink03 : Colors.black07)
          .clipShape(Capsule())
          .opacity(disabled ? 0.4 : 1)
    }
}
