{"repo":"ikarenkov/Modo","free":true,"listed":false,"github":"https://github.com/ikarenkov/Modo","clone":"git clone https://github.com/ikarenkov/Modo.git","description":"Navigation library based on UDF principles","language":"Kotlin","stars":345,"topics":["android","kotlin","navigation","udf","cicerone","kmm","compose-navigation","jetpack-compose","jetpack-compose-navigation"],"license":null,"category":"mobile-apps","readme_excerpt":"Modo - State-Based Jetpack Compose Navigation Modo is a simple and convenient state-based navigation library for Jetpack Compose. https://github.com/ikarenkov/Modo/assets/17216532/e2977736-bdda-44a9-83f3-379731ddfecc Project Website Check out our website to get the most up-to-date information about the library: Modo Overview Quick Start Guide Core Concepts How to Integrate Modo into Your App Features List Navigation is a Graph Each integration of Modo is a rooted tree (wiki) that can be displayed as follows: Each node is a Screen or ContainerScreen . Leaf nodes are Screen s. Inner nodes are ContainerScreen s. They can contain other Screen s or ContainerScreen s in their NavigationState . The root node is a RootScreen . You can have multiple roots in your app. See How to integrate Modo for details. State Defines UI NavigationState defines the UI: The initial state is defined in the constructor of ContainerScreen by navModel: NavModel . To update the state, dispatch a lambda that calculates the new state from the old one, or use the built-in extension functions for StackScreen and MultiScreen. There are Screen and ContainerScreen : ContainerScreen can contain and render child screens. There are some built-in implementations of ContainerScreen like StackScreen and MultiScreen . For Maintainers See PUBLISHING.md for instructions on publishing new versions to Maven Central. License","default_branch":null,"files":null,"tree":[],"storefront":"/r/ikarenkov","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ikarenkov/Modo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}