How kmupdate1/agrios_ui_of_kmp works
AgrioS is a Compose Multiplatform farm-dashboard prototype. The user-facing flow is dashboard interaction: farm and zone information is shown, zone selection and irrigation/alert actions update dashboard state, and the screen presents moisture trends, weather, and alerts. The repository also contains a reusable view/container and side-navigation framework, plus a stylized field-map component and theme boundary. Edges reflect the README and SOURCE INDEX references; unsampled implementations and unlisted runtime wiring are not inferred.
Main entry points: DashboardController.kt Dashboard controller · DashboardScreen.kt Dashboard screen · content Content view contracts · Application.kt Application lifecycle
Components 20
Application startup
- Application lifecycle
composeApp/src/commonMain/kotlin/org/b3/agrios/Application.kt - Console root composition
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/AgriOsConsoleRootComposition.kt
Farm dashboard
- Dashboard screen
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/DashboardScreen.kt - Dashboard controller
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/dashboard/DashboardController.kt - Dashboard events
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/dashboard/DashboardEvent.kt - Dashboard state
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/dashboard/DashboardUiState.kt - Dashboard repository
composeApp/src/commonMain/kotlin/org/b3/agrios/data/DashboardRepository.kt - Demo dashboard data
composeApp/src/commonMain/kotlin/org/b3/agrios/data/DummyData.kt - Dashboard models
composeApp/src/commonMain/kotlin/org/b3/agrios/model/Models.kt
UI framework
- View and drawable contracts
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/view/View.kt - Rendering capabilities
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/capability/Drawable.kt - List containers
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/container - Content view contracts
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/content
Navigation and presentation
- Side navigation
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/SideNavComposition.kt - Navigation columns
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/impl/sidenav/column/ColumnContainerView.kt - Navigation items
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/impl/sidenav/item/ItemContainerView.kt - Field map view
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/content/FieldMapContentView.kt - Field map container
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/impl/map/FieldMapContainerView.kt - Theme boundary
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/theme/ColorScheme.kt
Other components
- Dashboard user
Connections 21
- Dashboard user → Dashboard screen: interacts with
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/DashboardScreen.kt - Application lifecycle → Console root composition: creates
composeApp/src/commonMain/kotlin/org/b3/agrios/Application.kt - Application lifecycle → Dashboard screen: renders through
- Dashboard screen → Dashboard controller: reads state
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/DashboardScreen.kt - Dashboard screen → Dashboard events: dispatches
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/DashboardScreen.kt - Dashboard controller → Dashboard repository: loads snapshot
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/dashboard/DashboardController.kt - Dashboard controller → Dashboard state: updates
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/dashboard/DashboardController.kt - Dashboard controller → Dashboard events: handles
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/dashboard/DashboardController.kt - Dashboard repository → Demo dashboard data: provides demo data
composeApp/src/commonMain/kotlin/org/b3/agrios/data/DashboardRepository.kt - View and drawable contracts → Rendering capabilities: extends
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/view/View.kt - List containers → View and drawable contracts: renders children
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/container/ListContainerView.kt - Content view contracts → View and drawable contracts: extends
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/content/ContentView.kt - Side navigation → Content view contracts: uses
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/SideNavComposition.kt - Side navigation → Navigation columns: uses
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/SideNavComposition.kt - Side navigation → Navigation items: uses
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/SideNavComposition.kt - Navigation columns → List containers: extends
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/impl/sidenav/column/ColumnContainerView.kt - Navigation columns → Content view contracts: contains
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/impl/sidenav/column/ColumnContainerView.kt - Navigation items → List containers: extends
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/impl/sidenav/item/ItemContainerView.kt - Navigation items → Content view contracts: contains
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/impl/sidenav/item/ItemContainerView.kt - Field map container → Field map view: hosts
composeApp/src/commonMain/kotlin/org/b3/agrios/ui/impl/map/FieldMapContainerView.kt - Application lifecycle → Theme boundary: configures theme
composeApp/src/commonMain/kotlin/org/b3/agrios/Application.kt