Files
Nextcloud-Cookbook-iOS/Nextcloud Cookbook iOS Client/Views/MainView.swift
2023-09-16 14:09:49 +02:00

59 lines
1.5 KiB
Swift

//
// ContentView.swift
// Nextcloud Cookbook iOS Client
//
// Created by Vincent Meilinger on 06.09.23.
//
import SwiftUI
struct MainView: View {
@StateObject var viewModel = MainViewModel()
var columns: [GridItem] = [GridItem(.adaptive(minimum: 150), spacing: 0)]
var body: some View {
NavigationStack {
ScrollView(.vertical, showsIndicators: false) {
LazyVGrid(columns: columns, spacing: 0) {
ForEach(viewModel.categories, id: \.name) { category in
NavigationLink(
destination: RecipeBookView(
categoryName: category.name,
viewModel: viewModel)
) {
CategoryCardView(category: category)
}
.buttonStyle(.plain)
}
}
.padding(.horizontal)
}
.navigationTitle("CookBook")
.toolbar {
NavigationLink( destination: SettingsView()) {
Image(systemName: "gear")
}
}
}
.task {
await viewModel.loadCategoryList()
}
.refreshable {
await viewModel.loadCategoryList(needsUpdate: true)
}
}
}
struct MainView_Previews: PreviewProvider {
static var previews: some View {
MainView()
}
}