dev_vm
Rayhân HASSOU 10 months ago
parent 4e691bfd5f
commit 5ade5fc25f

@ -129,7 +129,7 @@ class CoreDataManager {
func countVictories(for player: String) -> Int {
let fetchRequest: NSFetchRequest<CDHistorique> = CDHistorique.fetchRequest()
fetchRequest.predicate = NSPredicate(format: "(player1_name == %@ AND result == 'win') OR (player2_name == %@ AND result == 'lose')", player, player)
fetchRequest.predicate = NSPredicate(format: "(player1_name == %@ AND result == player1_name) OR (player2_name == %@ AND result == player2_name)", player, player)
do {
return try context.fetch(fetchRequest).count
@ -141,7 +141,7 @@ class CoreDataManager {
func countDefeats(for player: String) -> Int {
let fetchRequest: NSFetchRequest<CDHistorique> = CDHistorique.fetchRequest()
fetchRequest.predicate = NSPredicate(format: "(player1_name == %@ AND result == 'lose') OR (player2_name == %@ AND result == 'win')", player, player)
fetchRequest.predicate = NSPredicate(format: "(player1_name == %@ AND result != player1_name) OR (player2_name == %@ AND result != player2_name)", player, player)
do {
return try context.fetch(fetchRequest).count

@ -7,22 +7,43 @@ struct HistoricView: View {
var body: some View {
VStack {
TitlePageFrame(Text: "Historic", ImageWidth: 200, ImageHeight: 200)
.padding(.bottom, 20)
// Afficher chaque groupe de dates dans une section distincte
ForEach(historicListVM.groupByDate().sorted(by: { $0.key > $1.key }), id: \.key) { key, historicVMs in
VStack(alignment: .leading) {
Text(key) // Affiche la date comme titre de section
List(historicVMs) { historicVM in
GameResumeFrame(historicVm: historicVM)
ScrollView {
VStack(spacing: 20) {
ForEach(historicListVM.groupByDate().sorted(by: { $0.key > $1.key }), id: \.key) { key, historicVMs in
VStack(alignment: .leading, spacing: 10) {
Text(formatDate(key))
.font(.title2)
.fontWeight(.bold)
.foregroundColor(.primary)
ForEach(historicVMs) { historicVM in
GameResumeFrame(historicVm: historicVM)
.padding(.bottom, 5)
}
}
.padding(.horizontal, 10)
}
}
.padding(.horizontal, 10)
.padding(.top, 10)
}
Spacer()
}
}
// Fonction pour formater la date
private func formatDate(_ dateString: String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd" // Adapter le format si nécessaire
if let date = dateFormatter.date(from: dateString) {
dateFormatter.dateStyle = .long
dateFormatter.timeStyle = .none
return dateFormatter.string(from: date)
}
return dateString
}
}
struct HistoricView_Previews: PreviewProvider {

Loading…
Cancel
Save