import SwiftData import SwiftUI /// The main content view of the app. /// /// This view serves as the primary interface for managing todo tasks. /// /// The view uses a dedicated view model (`ViewModel`) to manage state and business logic, following the MVVM pattern. /// User interactions are handled through the view model, maintaining separation of concerns. struct ContentView: View { // MARK: Properties /// The view model managing the state and logic for this view. @State private var viewModel = ViewModel() // MARK: Body /// The content and behavior of the view. /// /// Displays a navigation view containing: /// - A floating action button for adding new tasks /// /// The view presents a sheet when `viewModel.newTaskShown` is true, /// allowing users to create new todo tasks. var body: some View { NavigationView { ZStack(alignment: .bottomTrailing) { List {} Button(action: viewModel.showNewTask) { Image(systemName: "plus") .frame(width: 48, height: 48) .foregroundStyle(.white) } .glassEffect(.regular.tint(.blue.opacity(0.8)).interactive()) .padding(.trailing, 20) } .navigationTitle("Todos") } .sheet(isPresented: $viewModel.newTaskShown) { NewTaskView() } } } // MARK: - Previews #Preview { ContentView() }