Auto open particapte modal when clicking on Participate button

view/details-page
Lucas DELANIER 1 year ago
parent f9e45ce979
commit f64f03a1ce

@ -51,7 +51,7 @@ struct BetCard: View {
Spacer() Spacer()
}.padding(0) }.padding(0)
ParticipateButton(isOpen: $showParticipate).padding(.top, 5) ParticipateButton(isOpen: $showDetails, isParticapatedOpen: $showParticipate).padding(.top, 5)
} }
.frame(width: .infinity) .frame(width: .infinity)
.padding(.all,8) .padding(.all,8)
@ -63,7 +63,7 @@ struct BetCard: View {
showDetails.toggle() showDetails.toggle()
} }
.fullScreenCover(isPresented: $showDetails) { .fullScreenCover(isPresented: $showDetails) {
DetailsView(isModalPresented: $showDetails, id: bet.id) DetailsView(isModalPresented: $showDetails, isModalParticipated: $showParticipate,id: bet.id)
} }
} }
} }

@ -9,10 +9,13 @@ import SwiftUI
struct ParticipateButton: View { struct ParticipateButton: View {
@Binding var isOpen : Bool @Binding var isOpen : Bool
@Binding var isParticapatedOpen: Bool
@State var isDisabled: Bool = false @State var isDisabled: Bool = false
var body: some View { var body: some View {
Button { Button {
isOpen.toggle() isOpen = true
isParticapatedOpen = true
} label: { } label: {
Text("Participer") Text("Participer")
.font(.system(size: 27)) .font(.system(size: 27))

@ -12,6 +12,7 @@ struct RecapBetCard: View {
@GestureState private var longPressTap = false @GestureState private var longPressTap = false
@State private var isPressed = false @State private var isPressed = false
@State var showDetails: Bool = false @State var showDetails: Bool = false
@State var showPartipated: Bool = false
var body: some View { var body: some View {
VStack(spacing: 0){ VStack(spacing: 0){
VStack(alignment: .leading,spacing: 2){ VStack(alignment: .leading,spacing: 2){
@ -107,7 +108,7 @@ struct RecapBetCard: View {
.onTapGesture { .onTapGesture {
showDetails.toggle() showDetails.toggle()
}.fullScreenCover(isPresented: $showDetails) { }.fullScreenCover(isPresented: $showDetails) {
DetailsView(isModalPresented: $showDetails, id: "1") DetailsView(isModalPresented: $showDetails, isModalParticipated: $showPartipated,id: "1")
} }
.gesture( .gesture(
LongPressGesture(minimumDuration: 0.5) LongPressGesture(minimumDuration: 0.5)

@ -9,6 +9,7 @@ import SwiftUI
struct ReviewCard: View { struct ReviewCard: View {
@State var showDetails: Bool = false @State var showDetails: Bool = false
@State var showPartipated: Bool = false
var amountBetted: Int var amountBetted: Int
var isAWin: Bool var isAWin: Bool
@ -70,7 +71,7 @@ struct ReviewCard: View {
.onTapGesture { .onTapGesture {
showDetails.toggle() showDetails.toggle()
}.fullScreenCover(isPresented: $showDetails) { }.fullScreenCover(isPresented: $showDetails) {
DetailsView(isModalPresented: $showDetails, id: "1") DetailsView(isModalPresented: $showDetails, isModalParticipated: $showPartipated, id: "1")
} }
} }
} }

@ -3,7 +3,7 @@ import SwiftUI
struct DetailsView: View { struct DetailsView: View {
@Binding var isModalPresented: Bool @Binding var isModalPresented: Bool
@State var isModalParticipated: Bool = false @Binding var isModalParticipated: Bool
@State var progressValue: Float = 0.2 @State var progressValue: Float = 0.2
var isFinished: Bool { var isFinished: Bool {
viewModel.betDetail?.finalAnswer == nil ? false : true viewModel.betDetail?.finalAnswer == nil ? false : true
@ -48,8 +48,9 @@ struct DetailsView: View {
var id: String var id: String
@StateObject private var viewModel: DetailsViewModel @StateObject private var viewModel: DetailsViewModel
init(isModalPresented: Binding<Bool>, id: String) { init(isModalPresented: Binding<Bool>, isModalParticipated: Binding<Bool>,id: String) {
self._isModalPresented = isModalPresented self._isModalPresented = isModalPresented
self._isModalParticipated = isModalParticipated
self.id = id self.id = id
self._viewModel = StateObject(wrappedValue: DetailsViewModel(id: id)) self._viewModel = StateObject(wrappedValue: DetailsViewModel(id: id))
} }
@ -132,7 +133,7 @@ struct DetailsView: View {
.background(AllInColors.componentBackgroundColor) .background(AllInColors.componentBackgroundColor)
.cornerRadius(15) .cornerRadius(15)
ParticipateButton(isOpen: $isModalParticipated, isDisabled: isDisabled).padding(10).disabled(isDisabled) ParticipateButton(isOpen: $isModalPresented, isParticapatedOpen: $isModalParticipated,isDisabled: isDisabled ).padding(10).disabled(isDisabled)
} }

Loading…
Cancel
Save