Repository navigation
feat: feature:detail - complete MVI detail screen with Stitch design … - #9
Merged
Merged
Conversation
…+ type-safe navigation feat: type-safe Navigation 3 - Replaced string-based Screen sealed class with @serializable route classes - CatalogRoute (object) and DetailRoute(productId: Int) as type-safe routes - NavHost updated to composable<CatalogRoute> and composable<DetailRoute> - toRoute<DetailRoute>() for extracting navigation arguments - Compile-time route safety: wrong argument types fail at build, not runtime feat: feature:detail module - DetailContract: DetailUiState data class, DetailIntent + DetailEffect sealed classes - DetailViewModel: MVI single processIntent() entry point, ProductRepository injection (direct repo injection — no use case needed for single pass-through call) - DetailScreen: transparent overlay top bar (back + share + cart), hero image with gradient overlay, content card overlapping hero (-48dp offset), brand label in primary + uppercase, rating pill, in-stock emerald badge, price with strikethrough + discount %, features bento grid, expandable description, static reviews section with avatar initials, sticky bottom bar - DetailBottomBar: outlined wishlist button (border-2 primary), secondary-container Add to Cart button with shopping bag icon (Stitch spec) - 6 ViewModel unit tests: initial state, load success, load not found, toggle wishlist, toggle description, navigate back effect, add to cart effect ci: JaCoCo updated for feature:detail - jacoco plugin applied, exec file at build/jacoco/testDebugUnitTest.exec - DetailViewModel threshold added to coverage verification deps: kotlinx-serialization added for type-safe navigation
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.
…+ type-safe navigation
feat: type-safe Navigation 3
feat: feature:detail module
ci: JaCoCo updated for feature:detail
deps: kotlinx-serialization added for type-safe navigation