Mercurial > public > geoquiz
comparison GeoQuiz/Components/PlayedGamesList.swift @ 21:b145c408f791
refactor code
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Tue, 25 Oct 2022 15:30:01 +0200 |
parents | e281791e0494 |
children |
comparison
equal
deleted
inserted
replaced
20:e281791e0494 | 21:b145c408f791 |
---|---|
6 // | 6 // |
7 | 7 |
8 import SwiftUI | 8 import SwiftUI |
9 | 9 |
10 struct PlayedGamesList: View { | 10 struct PlayedGamesList: View { |
11 var playedGames: FetchedResults<PlayedGame> | 11 @FetchRequest(sortDescriptors: [ |
12 SortDescriptor(\.date, order: .reverse), | |
13 ]) var playedGames: FetchedResults<PlayedGame> | |
12 | 14 |
13 @Environment(\.managedObjectContext) var moc | 15 @Environment(\.managedObjectContext) var moc |
14 | 16 |
15 var body: some View { | 17 var body: some View { |
16 List { | 18 List { |
17 ForEach(playedGames, id: \.id) { game in | 19 ForEach(playedGames, id: \.id) { game in |
18 RecentGame(game: game) | 20 RecentGame(game: game) |
19 } | 21 } |
20 .onDelete { indexSet in | 22 .onDelete{ indexSet in |
21 CoreDataController.deleteGame(at: indexSet, from: playedGames, with: moc) | 23 CoreDataController.deleteGame(at: indexSet, from: playedGames, with: moc) |
22 } | 24 } |
23 } | 25 } |
24 .navigationTitle("Played games") | 26 .navigationTitle("Played games") |
25 .navigationBarTitleDisplayMode(.inline) | 27 .navigationBarTitleDisplayMode(.inline) |
26 .toolbar { | 28 .toolbar { |
27 EditButton() | 29 EditButton() |
28 } | 30 } |
29 } | 31 } |
30 } | 32 } |
33 | |
34 struct PlayedGamesList_Previews: PreviewProvider { | |
35 static var previews: some View { | |
36 NavigationView { | |
37 PlayedGamesList() | |
38 .environment(\.managedObjectContext, PersistenceController.preview.container.viewContext) | |
39 } | |
40 } | |
41 } |