List To-Do (Fork)

To-Do List in SwiftUI with SwiftData

Se han refactorizado lo siguiente:

Componentización de la vista principal a vistas reutilizables
extension TaskView {
    struct ListTasksView: View {
        @Environment(TaskViewModel.self) var taskViewModel: TaskViewModel
        @Binding var checkTasks: [TasksLocal]
        @Binding var titleSelected: String
        @Binding var idTaskFromPage: UUID
        @Binding var pageSelected: Bool
        
        var body: some View {
            Group {
                if pageSelected && !checkTasks.isEmpty {
                    List {
                        Section {
                            SectionListTaskView(idTaskFromPage: $idTaskFromPage, title: String(localized:"title_pending"),status: .pending)
                        }
                        Section {
                            SectionListTaskView(idTaskFromPage: $idTaskFromPage, title: String(localized:"title_inprocess"),status: .inProcess)
                        }
                        Section {
                            SectionListTaskView(idTaskFromPage: $idTaskFromPage, title: String(localized:"title_completed"), status: .completed)
                        }
                    }
                } else {
                    EmptyTaskView(titleSelected: $titleSelected)
                }
            }
        }
    }
}
Reemplazo de alerta de sistema por PopUp personalizado
Añadido nuevo status: In process
Se añade la posibilidad de añadir un sticker
Diseño y features de DetailView: Añadido botón de cancelar que deshace cualquier cambio en la nota
Añadido el SwiftDataManager Fake a las previews
extension TaskViewModel {
    static var preview: TaskViewModel {
        let context = SwiftDataManagerFake.shared
     
        let previewTaskUseCase = TaskUseCase(swiftDataManager: context)
        let previewPageUseCase = TaskPageUseCase(swiftDataManager: context)
        let previewTagUseCase = TagUseCase(swiftDataManager: context)
        
        return TaskViewModel(taskUseCase: previewTaskUseCase, taskPageUseCase: previewPageUseCase, tagUseCase: previewTagUseCase)
    }
}

ListToDo Original
Popitus

¿Quieres recibir posts, cheatCodes, enlaces y katas en Swift para practicar?

Quincenalmente recibirás en tu correo electrónico la newsletter, solo hace falta tu correo electrónico.