feat(android): add design system components matching web theme
Implement 10 reusable Jetpack Compose UI components: - ShieldButton: 4 variants (primary/secondary/ghost/danger), 3 sizes, loading state, icon support - ShieldCard: gradient background matching web .gradient-card, click handling, header/footer slots - ShieldTextField: validation, password toggle, error/helper text, focus styling - ShieldBadge: 5 variants (default/success/warning/error/info), pill shape, icon support - ShieldModal: ModalBottomSheet + AlertDialog, swipe-to-dismiss - ShieldToast: Snackbar-based with 4 variants, auto-dismiss, action buttons - ShieldAvatar: Coil async image loading, initials fallback, online status indicator - ShieldProgressBar: linear progress with percentage, 5 color variants - ShieldEmptyState: icon, title, description, action button - ShieldSkeleton: shimmer animation with infinite transition All components use theme tokens (no hardcoded colors) and support light/dark modes. Add Coil dependency for avatar image loading. Add ComponentShowcase preview with light/dark mode support. Add instrumented Compose UI tests for all components.
This commit is contained in:
@@ -50,6 +50,7 @@ dependencies {
|
||||
implementation(libs.androidx.compose.ui.tooling.preview)
|
||||
implementation(libs.androidx.compose.material3)
|
||||
implementation(libs.androidx.compose.material3.adaptive.navigation.suite)
|
||||
implementation(libs.coil.compose)
|
||||
testImplementation(libs.junit)
|
||||
androidTestImplementation(libs.androidx.junit)
|
||||
androidTestImplementation(libs.androidx.espresso.core)
|
||||
|
||||
Reference in New Issue
Block a user