get answers

pull/23/head
Emre KARTAL 1 year ago
parent 1e5e1269e4
commit dbdd27b14b

@ -81,7 +81,7 @@ struct ReviewCard: View {
.onTapGesture { .onTapGesture {
showDetails.toggle() showDetails.toggle()
}.fullScreenCover(isPresented: $showDetails) { }.fullScreenCover(isPresented: $showDetails) {
DetailsView(isModalPresented: $showDetails, isModalParticipated: $showPartipated, id: "1") DetailsView(isModalPresented: $showDetails, isModalParticipated: $showPartipated, id: betDetail.bet.id)
} }
} }
} }

@ -76,6 +76,7 @@ struct BetEndingValidationView: View {
Spacer() Spacer()
Button { Button {
dismiss() dismiss()
viewModel.post()
} label: { } label: {
Text("Valider") Text("Valider")
.font(.system(size: 23)) .font(.system(size: 23))

@ -17,10 +17,8 @@ struct DetailsView: View {
switch betType { switch betType {
case .inProgress: case .inProgress:
return ("En cours...", AllInColors.darkPurpleColor) return ("En cours...", AllInColors.darkPurpleColor)
case .waiting: case .waiting, .closing:
return ("En attente...", AllInColors.pink100) return ("En attente...", AllInColors.pink100)
case .closing:
return ("Fin des inscriptions...", AllInColors.grey50Color)
case .finished: case .finished:
return ("Terminé", AllInColors.grey100Color) return ("Terminé", AllInColors.grey100Color)
case .cancelled: case .cancelled:

@ -106,7 +106,17 @@ public class FactoryApiBet: FactoryBet {
} }
} }
return BetDetail(bet: bet, answers: [], participations: participations) var answers: [AnswerDetail] = []
if let answersJson = json["answers"] as? [[String: Any]], !answersJson.isEmpty {
for answer in answersJson {
if let answer = self.toAnswer(from: answer) {
answers.append(answer)
}
}
}
return BetDetail(bet: bet, answers: answers, participations: participations)
} }
public func toParticipate(from json: [String: Any]) -> Participation? { public func toParticipate(from json: [String: Any]) -> Participation? {
@ -121,6 +131,18 @@ public class FactoryApiBet: FactoryBet {
return Participation(id: id, stake: stake, date: Date(), response: answer, user: User(username: username, email: "Email", nbCoins: 0, friends: []), betId: betId) return Participation(id: id, stake: stake, date: Date(), response: answer, user: User(username: username, email: "Email", nbCoins: 0, friends: []), betId: betId)
} }
public func toAnswer(from json: [String: Any]) -> AnswerDetail? {
guard let response = json["response"] as? String,
let totalStakes = json["totalStakes"] as? Int,
let totalParticipants = json["totalParticipants"] as? Int,
let highestStake = json["highestStake"] as? Int,
let odds = json["odds"] as? Float else {
return nil
}
return AnswerDetail(response: response, totalStakes: totalStakes, totalParticipants: totalParticipants, highestStake: highestStake, odds: odds)
}
public func betTypeString(fromType type: String) -> String { public func betTypeString(fromType type: String) -> String {
switch type { switch type {
case "BinaryBet": case "BinaryBet":

@ -38,7 +38,6 @@ public struct UserApiManager: UserDataManager {
do { do {
if let httpResponse = response as? HTTPURLResponse, let jsonArray = try JSONSerialization.jsonObject(with: data, options: []) as? [[String: Any]] { if let httpResponse = response as? HTTPURLResponse, let jsonArray = try JSONSerialization.jsonObject(with: data, options: []) as? [[String: Any]] {
for json in jsonArray { for json in jsonArray {
print(json)
if let bet = FactoryApiBet().toBetDetail(from: json) { if let bet = FactoryApiBet().toBetDetail(from: json) {
bets.append(bet) bets.append(bet)
} }
@ -123,6 +122,7 @@ public struct UserApiManager: UserDataManager {
do { do {
if let httpResponse = response as? HTTPURLResponse, let jsonArray = try JSONSerialization.jsonObject(with: data, options: []) as? [[String: Any]] { if let httpResponse = response as? HTTPURLResponse, let jsonArray = try JSONSerialization.jsonObject(with: data, options: []) as? [[String: Any]] {
for json in jsonArray { for json in jsonArray {
print(json)
if let bet = FactoryApiBet().toBet(from: json) { if let bet = FactoryApiBet().toBet(from: json) {
bets.append(bet) bets.append(bet)
} }

Loading…
Cancel
Save