Files
Zockerhoehle/Zockerhoehle/Views/GameSeriesLibraryView.swift

55 lines
1.6 KiB
Swift

//
// GameSeriesDetailView.swift
// Zockerhoehle
//
// Created by Julian-Steffen Müller on 05.08.19.
// Copyright © 2019 Julian-Steffen Müller. All rights reserved.
//
import SwiftUI
import CoreData
struct GameSeriesLibraryView: View {
@Environment(\.managedObjectContext) private var viewContext
@FetchRequest var games: FetchedResults<Game>
@ObservedObject var gameSeries : GameSeries
@State var isDetailActivated : Bool = false
init(gameSeries : GameSeries) {
self.gameSeries = gameSeries
let gamesFR = NSFetchRequest<Game>(entityName: "Game")
gamesFR.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]
gamesFR.predicate = NSPredicate(format: "series == %@", gameSeries)
_games = FetchRequest(fetchRequest: gamesFR)
}
let columns : [GridItem] = [
GridItem(.adaptive(minimum: 100))
]
var body: some View {
ScrollView {
LazyVGrid(columns: columns, spacing: 20) {
ForEach(games) { game in
NavigationLink(destination: GameEditMode(game: game)) {
GameCover(game: game)
}
}
}.padding()
}
.navigationBarTitle(Text(self.gameSeries.name ?? "n/a"))
.navigationBarItems(trailing:
NavigationLink(destination: GameSeriesEditView(gameSeries: self.gameSeries)) {
Image(systemName: "pencil.and.ellipsis.rectangle")
}
)
.padding()
}
}