Compose desktop navigation library

Overview

Navipose

Compose desktop navigation library

Features

Now navipose supports basic screen navigation between few screens

Examples

At first you should create something like simple graph

//Each screen inside graph should implement IScreen interface
sealed class Screens: IScreen {
    object Main : Screens()
    object SubScreen : Screens()
}

Than create navigator inside your composable function

//Specify start screen
Navigator(Screens.Main) {
  //Add screens to navigation graph
  addScreen(Screens.Main) { MainScreen(this) }
  addScreen(Screens.SubScreen) { SubScreen(this)}
}

And your composable functions should be like that

@Composable
fun MainScreen(navigator: INavigator) {
  //On Navigate to second screen on click
  Button(onClick = { navigator.navigate(Screens.SubScreen) }) {
    Text("Hello, go to subScreen")
  }
}

@Composable
fun SubScreen(navigator: INavigator) {
  //Navigate back
  Button(onClick = { navigator.goBack() }) {
    Text("Go back")
  }
}

Future

Future features

  • Maven central or jitpack repository
  • Stub screen on wrong navigation
  • Navigation arguments
  • Complete basic navigation flow
  • Back results
  • Controller support
  • Utilities functions for lifecycle/navigation
  • Nested/Parallel navigation support (now it's possible, but was not planned)
You might also like...
Welcome Fruit Ninja 🥝  on Jetpack Compose Desktop 🚀, using Canvas API 🎨
Welcome Fruit Ninja 🥝 on Jetpack Compose Desktop 🚀, using Canvas API 🎨

Compose-Fruit-Ninja 🥝 Welcome Fruit Ninja on Jetpack Compose Desktop 🚀 , using Canvas API 🎨 Featured on jetc-dev How to Run From gradle tab from ri

Alien invasion 👾 gane is back! this time specially on Jetpack Compose Desktop 🚀, using Canvas API 🎨
Alien invasion 👾 gane is back! this time specially on Jetpack Compose Desktop 🚀, using Canvas API 🎨

Compose Space-Invaders 👾 Alien invasion 👾 is back! this time specially on Jetpack Compose Desktop 🚀 , using Canvas API 🎨 Featured on Compose Diges

💻 A Compose Desktop project template with MVVM, Dagger, Decompose, tests, and more...
💻 A Compose Desktop project template with MVVM, Dagger, Decompose, tests, and more...

compose-desktop-template A compose desktop project template with MVVM, Dagger, Decompose and more ✨ Demo What's included? Architecture (MVVM) with And

A simple Snake application to demonstrate the use of Compose for Desktop platform with Kotlin
A simple Snake application to demonstrate the use of Compose for Desktop platform with Kotlin

Snake App using Compose for Desktop A simple Snake desktop application to demonstrate the use of Compose UI toolkit for Desktop platform with Kotlin.

🔖 A Quotes Application built to Demonstrate the Compose for Desktop UI
🔖 A Quotes Application built to Demonstrate the Compose for Desktop UI

🔖 JetQuotes A Quotes Application built to Demonstrate the use of Jetpack Compose for building declarative UI in Desktop. Made with love ❤️ by Spikeys

⌨️ A tool that gives you a massive head start when building Compose Desktop apps. It saves you from time-consuming setup and configuration
⌨️ A tool that gives you a massive head start when building Compose Desktop apps. It saves you from time-consuming setup and configuration

💻 create-compose-app A tool that gives you a massive head start when building Compose based apps. It saves you from time-consuming setup and configur

A Sudoku game for Android & Desktop written with Jetpack Compose Multiplatform
A Sudoku game for Android & Desktop written with Jetpack Compose Multiplatform

🚀 Compose Arcade A sample Kotlin Multiplatform Compose Sudoku app for Android & Desktop. Most code is shared between Android & Desktop using Kotlin M

🎮 An attempt to create Super Mario Bros using Compose for Desktop
🎮 An attempt to create Super Mario Bros using Compose for Desktop

🎮 compose-mario An attempt to create Super Mario Bros using Compose for Desktop 🏗️ Under Active Development THIS PROJECT IS UNDER ACTIVE DEVELOPMENT

Simple space game, built with Compose for Desktop!
Simple space game, built with Compose for Desktop!

Asteroids, built with Compose for Desktop Want to learn how I built it? Read the two-part article in which I describe the most interesting parts of th

Releases(0.1-alpha)
Owner
null
Snake-compose-for-desktop - Snake Game - implemented using Compose for Desktop

A Snake game, built with Compose for Desktop snake-compose-for-desktop is my imp

gnu 5 Feb 17, 2022
A desktop code editor app using Jetpack Compose for Desktop and IntelliJ Platform

Compose Code Editor A desktop code editor app using Jetpack Compose for Desktop and IntelliJ Platform. Project Structure The code is contained in the

Alex 73 Dec 19, 2022
💻 A cross-platform desktop application to identify libraries used inside an android application. Made possible by Compose Desktop ⚡

?? stackzy A desktop app to analyse APK. Built using Compose desktop ✨ Demo Watch demo ??️ Usage Show usage ?? Install Platform Download Status Linux

theapache64 876 Dec 24, 2022
Compose desktop navigation library

Navipose Compose desktop navigation library Features Now navipose supports basic screen navigation between few screens Examples At first you should cr

null 5 Oct 28, 2022
Compose-navigation - Set of utils to help with integrating Jetpack Compose and Jetpack's Navigation

Jetpack Compose Navigation Set of utils to help with integrating Jetpack Compose

Adam Kobus 5 Apr 5, 2022
A library that enables Safe Navigation for you Composable destinations when using Jetpack Compose Navigation

A library that enables Safe Navigation for you Composable destinations when using Jetpack Compose Navigation

Roman Levinzon 59 Oct 19, 2022
Jetpack Compose Boids | Flocking Insect 🐜. bird or Fish simulation using Jetpack Compose Desktop 🚀, using Canvas API 🎨

?? ?? ?? Compose flocking Ants(boids) ?? ?? ?? Jetpack compose Boids | Flocking Insect. bird or Fish simulation using Jetpack Compose Desktop ?? , usi

Chetan Gupta 38 Sep 25, 2022
Exercising Compose for Desktop and Compose for Web (Canvas)

Compose Counting Grid A simple application to check Compose for Desktop and Compose for Web (Canvas) drawing speeds when drawing grids (or tables) wit

null 6 Nov 11, 2022
A library that adds useful features for Compose Desktop apps

Desktopose This is a set of utilities and components meant to help with developing desktop apps that use Compose for Desktop library. It contains the

Szeweq 3 Nov 21, 2022
⌨️ A tool that gives you a massive head start when building Compose Desktop apps. It saves you from time-consuming setup and configuration

?? create-compose-app A tool that gives you a massive head start when building Compose based apps. It saves you from time-consuming setup and configur

theapache64 466 Dec 21, 2022