-
Notifications
You must be signed in to change notification settings - Fork 0
Folders #7
Folders #7
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR reorganizes the dependency interfaces and coordinator implementations for the Bookie app. It consolidates protocol definitions and DI setup into a dedicated file, refactors the Coordinator to remove duplicate SwiftUI-specific implementations, and updates AppDelegate to leverage the new DI.swift configuration.
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
Bookie/ViewModel/GoogleRemoteDataSource.swift | Removed duplicate protocol definitions to simplify interface management. |
Bookie/UI/DI.swift | Introduces a dedicated dependency injection container with protocol registrations. |
Bookie/UI/CoordinatorSwiftUI.swift | Extracts the SwiftUI coordinator implementation from the base coordinator for clearer separation. |
Bookie/UI/Coordinator.swift | Refactors the base coordinator by removing SwiftUI-specific methods and updating access levels. |
Bookie/UI/AppDelegate.swift | Removes dependency injection setup in favor of the centralized DI.swift configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request refactors several view controllers and view models to streamline data reloading and dependency injection while updating DI configurations for SwiftData and RealmDataSource.
- Moved search text subscription logic from initializers into a dedicated ready() method.
- Updated DI registrations and default values in Coordinator.
- Added required initializers and refactored UI components to align with the new reactive workflow.
Reviewed Changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
Bookie/ViewModel/BooksViewModel.swift | Moved search subscription to ready() and adjusted data saving location. |
Bookie/UI/BooksScreenSwiftUI.swift | Updated binding implementations and replaced immediate reload data tasks. |
Bookie/UI/BooksScreen.swift | Replaced Task-based reloadData with viewModel.ready() call. |
Bookie/UI/BookScreenSwiftUI.swift | Added required initializer to remove duplicate definitions. |
Bookie/UI/BookScreen.swift | Updated image setting to use local variable and added a guard clause. |
Bookie/UI/AppDelegate.swift | Removed SwiftData and Swinject container definitions. |
Bookie/DI/SwiftDataSource.swift | Updated BookSwiftData to conform to Identifiable with unique attribute. |
Bookie/DI/RealmDataSource.swift | Refactored Realm model mapping and saving logic using then DSL. |
Bookie/DI/GoogleRemoteDataSource.swift | Removed protocol definitions to simplify remote data source. |
Bookie/DI/DI.swift | Introduced a new DI file with consolidated container registrations. |
Bookie/DI/CoordinatorSwiftUI.swift | Added a new Coordinator for SwiftUI-based screens. |
Bookie/DI/Coordinator.swift | Changed default search text value and removed deprecated subclass methods. |
Comments suppressed due to low confidence (1)
Bookie/DI/Coordinator.swift:13
- [nitpick] The default searchText value has been changed from "Karel" to "C", which may be unclear. Consider using a more descriptive or meaningful default value.
private var searchText = "C"
No description provided.