20250906_100000 [ARCHITECT -> DEV] Implement Label Management Feature This work order is to implement the full lifecycle of label management, including creating, viewing, editing, and deleting labels. This involves creating a new screen for editing labels, a view model to handle the logic, and integrating it with the existing label list screen. Completed agent-developer Create a new ViewModel `LabelEditViewModel.kt` in `app/src/main/java/com/homebox/lens/ui/screen/labeledit/`. This ViewModel should handle the business logic for creating and updating a label. It should use `GetLabelDetailsUseCase`, `CreateLabelUseCase`, and `UpdateLabelUseCase`. Create `app/src/main/java/com/homebox/lens/ui/screen/labeledit/LabelEditViewModel.kt` Inject `GetLabelDetailsUseCase`, `CreateLabelUseCase`, `UpdateLabelUseCase`. Implement state management for the label editing screen. Implement methods to create and update a label. Create a new Jetpack Compose screen `LabelEditScreen.kt` in `app/src/main/java/com/homebox/lens/ui/screen/labeledit/`. This screen will be used for both creating a new label and editing an existing one. The UI should be similar to the `LocationEditScreen`. Create `app/src/main/java/com/homebox/lens/ui/screen/labeledit/LabelEditScreen.kt` Implement the UI for creating/editing a label (e.g., a text field for the name and a color picker). Connect the screen to `LabelEditViewModel`. Update the navigation graph to include the new `LabelEditScreen`. The `LabelsListScreen` should navigate to `LabelEditScreen` when the user wants to create or edit a label. Add a route for `LabelEditScreen` in `Screen.kt`. Add the new screen to the `NavGraph.kt`. Implement navigation from `LabelsListScreen` to `LabelEditScreen`. Create a new UseCase `GetLabelDetailsUseCase.kt` in `domain/src/main/java/com/homebox/lens/domain/usecase/`. This UseCase will be responsible for getting the details of a single label. Create `domain/src/main/java/com/homebox/lens/domain/usecase/GetLabelDetailsUseCase.kt` Implement the logic to get label details from the `ItemRepository`.