feat(core:design-system): AppTheme + reusable composables (REDI-81)

- AppTheme wraps Material3 (color scheme, typography, shapes); all previews use it.
- Slot-API AppCard (header + content slots, optional click); AppScaffold.
- LoadingIndicator, ErrorState (optional retry), Coil-backed NetworkImage.
- Modifier.shimmerEffect() animated placeholder (Modifier extension, not @Composable).
- Add androidx-compose-foundation to the version catalog + compose bundle.
This commit is contained in:
2026-06-10 11:37:31 +02:00
parent 6bc4027cbb
commit 3a155beb3c
14 changed files with 338 additions and 0 deletions

View File

@@ -26,6 +26,9 @@ class ComposeConventionPlugin : Plugin<Project> {
}
dependencies {
// `implementation` (not api): every Compose consumer applies this convention itself, so
// Compose must NOT leak transitively — that keeps the UI-agnostic presentation module
// (which depends on core:presentation) free of Compose.
val bom = platform(libs.findLibrary("androidx-compose-bom").get())
add("implementation", bom)
add("androidTestImplementation", bom)