feature/enhance_compose_stability#20
Merged
dev-ali-mansour merged 6 commits intodevelopfrom Feb 14, 2026
Merged
Conversation
…pose - Add `@Stable` annotation to `HomeViewModel`, `NewTaskViewModel`, `UpdateTaskViewModel`, `TaskDetailsViewModel`, and `SelectedTaskViewModel` for better Compose performance. - Move `koinViewModel()` calls from function bodies to default parameter values in `AppNavHost`, `HomeScreen`, `NewTaskScreen`, `UpdateTaskScreen`, and `TaskDetailsScreen` to improve testability and follow best practices. - Format `when` blocks across various ViewModels and Screens to use consistent bracing. - Reorganize imports in multiple UI files.
Introduces a reusable `CommonTopAppBar` Composable using Material 3 `CenterAlignedTopAppBar`. Features include support for a title, an optional back/close navigation icon, and custom actions.
Refactors the UI architecture to use `Scaffold` within individual feature screens (`HomeScreen`, `NewTaskScreen`, `UpdateTaskScreen`, and `TaskDetailsScreen`) instead of passing composable setters through `AppNavHost`. Specific changes: * Removed `onSetTopBar` and `onSetFab` callbacks from `AppNavHost` and related screen composables. * Introduced `CommonTopAppBar` to standardize the top bar across different screens. * Updated `MainApp` to remove state tracking for dynamic top bar and FAB content. * Added `consumeWindowInsets` in `MainApp` to correctly handle padding in the navigation host. * Added `add_task` string resource for better localization and accessibility.
…pose - Add `@Stable` annotation to `HomeViewModel`, `NewTaskViewModel`, `UpdateTaskViewModel`, `TaskDetailsViewModel`, and `SelectedTaskViewModel` for better Compose performance. - Move `koinViewModel()` calls from function bodies to default parameter values in `AppNavHost`, `HomeScreen`, `NewTaskScreen`, `UpdateTaskScreen`, and `TaskDetailsScreen` to improve testability and follow best practices. - Format `when` blocks across various ViewModels and Screens to use consistent bracing. - Reorganize imports in multiple UI files.
…app logic - Removes `onSetTopBar` and `onSetFab` parameters from `AppNavHost` and its internal screen destinations. - Implements `OnBackPress`, `OnExitDialogConfirmed`, and `OnExitDialogCancelled` event handling in `HomeViewModel`. - Adds `ExitApp` effect handling in `HomeScreen` to close the activity and terminate the process.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.