diff --git a/CHANGELOG.md b/CHANGELOG.md
index d89e2bb08..4c2b82260 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ Please refer to [2.0.0-alpha10 -> 2.0.0 – Migration guide](2.0.0.md)
- [#673](https://github.com/bumble-tech/appyx/pull/673) – Fix canHandeBackPress typo
- [#671](https://github.com/bumble-tech/appyx/issue/671) – Fix ui state saving issue
- [#694](https://github.com/bumble-tech/appyx/pull/694) – Fix appyxComponent state saving issue
+- [#697](https://github.com/bumble-tech/appyx/pull/697) – Fix missing resources in iOS sample app
### Enhancement
diff --git a/demos/appyx-navigation/android/build.gradle.kts b/demos/appyx-navigation/android/build.gradle.kts
deleted file mode 100644
index 599f3b276..000000000
--- a/demos/appyx-navigation/android/build.gradle.kts
+++ /dev/null
@@ -1,53 +0,0 @@
-plugins {
- id("com.bumble.appyx.android.application")
-}
-
-appyx {
- namespace.set("com.bumble.appyx.demos.navigation")
-
- buildFeatures {
- compose.set(true)
- kotlinParcelize.set(true)
- }
-}
-
-android {
- signingConfigs {
- create("sampleConfig") { // debug is already created
- storeFile = file("debug.keystore")
- storePassword = "android"
- keyAlias = "androiddebugkey"
- keyPassword = "android"
- }
- }
- buildTypes {
- debug {
- signingConfig = signingConfigs.findByName("sampleConfig")
- }
- release {
- isMinifyEnabled = false
- proguardFiles(
- getDefaultProguardFile("proguard-android-optimize.txt"),
- "proguard-rules.pro"
- )
- // if we ever publish, we should create a more secure signingConfig
- signingConfig = signingConfigs.findByName("sampleConfig")
- }
- }
-}
-
-dependencies {
- val composeBom = platform(libs.compose.bom)
-
- implementation(composeBom)
- implementation(project(":demos:appyx-navigation:common"))
- implementation(project(":appyx-components:standard:backstack:backstack"))
-
- implementation(libs.androidx.activity.compose)
- implementation(libs.androidx.appcompat)
- implementation(libs.androidx.core.splashscreen)
- implementation(libs.androidx.lifecycle.java8)
- implementation(libs.compose.material3)
- implementation(libs.compose.ui.tooling)
- implementation(libs.google.material)
-}
diff --git a/demos/appyx-navigation/android/detekt-baseline.xml b/demos/appyx-navigation/android/detekt-baseline.xml
deleted file mode 100644
index a9c84a3ab..000000000
--- a/demos/appyx-navigation/android/detekt-baseline.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/demos/appyx-navigation/android/lint-baseline.xml b/demos/appyx-navigation/android/lint-baseline.xml
deleted file mode 100644
index 27ab162a6..000000000
--- a/demos/appyx-navigation/android/lint-baseline.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/demos/appyx-navigation/android/lint.xml b/demos/appyx-navigation/android/lint.xml
deleted file mode 100644
index 290a2e0bc..000000000
--- a/demos/appyx-navigation/android/lint.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/demos/appyx-navigation/common/build.gradle.kts b/demos/appyx-navigation/common/build.gradle.kts
deleted file mode 100644
index 9e77e0a02..000000000
--- a/demos/appyx-navigation/common/build.gradle.kts
+++ /dev/null
@@ -1,124 +0,0 @@
-import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
-
-plugins {
- id("com.bumble.appyx.multiplatform")
- id("org.jetbrains.compose")
- id("com.android.library")
- id("kotlin-parcelize")
- id("com.google.devtools.ksp")
-}
-
-appyx {
- androidNamespace.set("com.bumble.appyx.demos.navigation.common")
-}
-
-kotlin {
- androidTarget {
- publishLibraryVariants("release")
- }
- jvm("desktop") {
- compilations.all {
- kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
- }
- }
- js(IR) {
- // Adding moduleName as a workaround for this issue: https://youtrack.jetbrains.com/issue/KT-51942
- moduleName = "demo-appyx-navigation-common"
- browser()
- binaries.executable()
- }
- @OptIn(ExperimentalWasmDsl::class)
- wasmJs {
- // Adding moduleName as a workaround for this issue: https://youtrack.jetbrains.com/issue/KT-51942
- moduleName = "demo-appyx-navigation-common-wa"
- browser {
- // Refer to this Slack thread for more details: https://kotlinlang.slack.com/archives/CDFP59223/p1702977410505449?thread_ts=1702668737.674499&cid=CDFP59223
- testTask {
- useKarma {
- useChromeHeadless()
- useConfigDirectory(project.projectDir.resolve("karma.config.d").resolve("wasm"))
- }
- }
- }
- binaries.executable()
- }
- iosX64()
- iosArm64()
- iosSimulatorArm64()
- sourceSets {
- val commonMain by getting {
- dependencies {
- api(compose.runtime)
- api(compose.foundation)
- api(compose.material3)
- implementation(libs.kotlinx.serialization.json)
- api(project(":appyx-interactions:appyx-interactions"))
- api(project(":utils:utils-customisations"))
- api(project(":utils:utils-material3"))
- api(project(":utils:utils-multiplatform"))
- api(project(":demos:image-loader:loader"))
- implementation(project(":appyx-components:experimental:cards:cards"))
- implementation(project(":appyx-components:experimental:promoter:promoter"))
- implementation(project(":appyx-components:standard:backstack:backstack"))
- implementation(project(":appyx-components:standard:spotlight:spotlight"))
- }
- }
- val commonTest by getting {
- dependencies {
- implementation(kotlin("test"))
- }
- }
- val androidMain by getting {
- dependencies {
- api(libs.androidx.appcompat)
- api(libs.androidx.core)
- implementation(libs.androidx.activity.compose)
- implementation(libs.coil.compose)
- }
- }
- val desktopMain by getting {
- dependencies {
- api(compose.preview)
- }
- }
- val jsMain by getting {
- dependencies {
- implementation(npm("uuid", libs.versions.uuid.get()))
- }
- }
- val iosX64Main by getting
- val iosArm64Main by getting
- val iosSimulatorArm64Main by getting
- val iosMain by creating {
- dependsOn(commonMain)
- iosX64Main.dependsOn(this)
- iosArm64Main.dependsOn(this)
- iosSimulatorArm64Main.dependsOn(this)
- }
- }
-}
-
-android {
- sourceSets["main"].resources.srcDirs("src/commonMain/resources")
- buildFeatures {
- compose = true
- }
- composeOptions {
- kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
- }
-}
-
-compose.experimental {
- web.application {}
-}
-
-dependencies {
- add("kspCommonMainMetadata", project(":ksp:appyx-processor"))
- add("kspAndroid", project(":ksp:appyx-processor"))
- add("kspDesktop", project(":ksp:appyx-processor"))
- add("kspJs", project(":ksp:appyx-processor"))
- add("kspWasmJs", project(":ksp:appyx-processor"))
- add("kspIosArm64", project(":ksp:appyx-processor"))
- add("kspIosX64", project(":ksp:appyx-processor"))
- add("kspIosSimulatorArm64", project(":ksp:appyx-processor"))
-}
diff --git a/demos/appyx-navigation/common/karma.config.d/wasm/config.js b/demos/appyx-navigation/common/karma.config.d/wasm/config.js
deleted file mode 100644
index 22429e585..000000000
--- a/demos/appyx-navigation/common/karma.config.d/wasm/config.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// see https://kotlinlang.org/docs/js-project-setup.html#webpack-configuration-file
-// This file provides karma.config.d configuration to run tests with k/wasm
-
-const path = require("path");
-
-config.browserConsoleLogOptions.level = "debug";
-
-const basePath = config.basePath;
-const projectPath = path.resolve(basePath, "..", "..", "..", "..");
-const generatedAssetsPath = path.resolve(projectPath, "build", "karma-webpack-out")
-
-const debug = message => console.log(`[karma-config] ${message}`);
-
-debug(`karma basePath: ${basePath}`);
-debug(`karma generatedAssetsPath: ${generatedAssetsPath}`);
-
-config.proxies["/"] = path.resolve(basePath, "kotlin");
-
-config.files = [
- {pattern: path.resolve(generatedAssetsPath, "**/*"), included: false, served: true, watched: false},
- {pattern: path.resolve(basePath, "kotlin", "**/*.png"), included: false, served: true, watched: false},
- {pattern: path.resolve(basePath, "kotlin", "**/*.gif"), included: false, served: true, watched: false},
- {pattern: path.resolve(basePath, "kotlin", "**/*.ttf"), included: false, served: true, watched: false},
- {pattern: path.resolve(basePath, "kotlin", "**/*.txt"), included: false, served: true, watched: false},
- {pattern: path.resolve(basePath, "kotlin", "**/*.json"), included: false, served: true, watched: false},
- {pattern: path.resolve(basePath, "kotlin", "**/*.xml"), included: false, served: true, watched: false},
-].concat(config.files);
-
-function KarmaWebpackOutputFramework(config) {
- // This controller is instantiated and set during the preprocessor phase.
- const controller = config.__karmaWebpackController;
-
- // only if webpack has instantiated its controller
- if (!controller) {
- console.warn(
- "Webpack has not instantiated controller yet.\n" +
- "Check if you have enabled webpack preprocessor and framework before this framework"
- )
- return
- }
-
- config.files.push({
- pattern: `${controller.outputPath}/**/*`,
- included: false,
- served: true,
- watched: false
- })
-}
-
-const KarmaWebpackOutputPlugin = {
- 'framework:webpack-output': ['factory', KarmaWebpackOutputFramework],
-};
-
-config.plugins.push(KarmaWebpackOutputPlugin);
-config.frameworks.push("webpack-output");
\ No newline at end of file
diff --git a/demos/appyx-navigation/common/src/androidMain/AndroidManifest.xml b/demos/appyx-navigation/common/src/androidMain/AndroidManifest.xml
deleted file mode 100644
index 8072ee00d..000000000
--- a/demos/appyx-navigation/common/src/androidMain/AndroidManifest.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/demos/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt b/demos/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
deleted file mode 100644
index fee6fd754..000000000
--- a/demos/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package com.bumble.appyx.demos.navigation.platform
-
-actual fun getPlatformName(): String = "Web"
diff --git a/demos/appyx-navigation/common/src/wasmJsMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt b/demos/appyx-navigation/common/src/wasmJsMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
deleted file mode 100644
index 32c3edfc2..000000000
--- a/demos/appyx-navigation/common/src/wasmJsMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.bumble.appyx.demos.navigation.ui
-
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.layout.ContentScale
-import com.bumble.appyx.imageloader.ResourceImage
-
-private const val EMBED_URL_PATH = "appyx/samples/documentation-appyx-navigation/"
-
-@Composable
-actual fun EmbeddableResourceImage(
- path: String,
- contentDescription: String,
- contentScale: ContentScale,
- modifier: Modifier
-) {
- ResourceImage(
- path = EMBED_URL_PATH + path,
- fallbackUrl = path,
- contentDescription = contentDescription,
- contentScale = contentScale,
- modifier = modifier,
- )
-}
diff --git a/demos/appyx-navigation/desktop/build.gradle.kts b/demos/appyx-navigation/desktop/build.gradle.kts
deleted file mode 100644
index 461d1cea4..000000000
--- a/demos/appyx-navigation/desktop/build.gradle.kts
+++ /dev/null
@@ -1,45 +0,0 @@
-import org.jetbrains.compose.desktop.application.dsl.TargetFormat
-
-plugins {
- id("com.bumble.appyx.multiplatform")
- id("org.jetbrains.compose")
-}
-
-kotlin {
- jvm("desktop") {
- compilations.all {
- kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
- }
- }
- sourceSets {
- val desktopMain by getting {
- dependencies {
- implementation(compose.desktop.currentOs)
- implementation(project(":demos:common"))
- implementation(project(":demos:appyx-navigation:common"))
- implementation(project(":appyx-interactions:appyx-interactions"))
- implementation(project(":appyx-navigation:appyx-navigation"))
- implementation(project(":appyx-components:standard:backstack:backstack"))
- api(compose.runtime)
- api(compose.foundation)
- api(compose.material)
- implementation(libs.kotlin.coroutines.core)
- implementation(libs.kotlin.coroutines.swing)
- }
- }
- }
-}
-
-compose.desktop {
- application {
- mainClass = "com.bumble.appyx.demos.navigation.MainKt"
- nativeDistributions {
- targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
- packageName = "AppyxNavigationDesktop"
- packageVersion = properties["library.version"].toString().split("-")[0]
- }
- buildTypes.release.proguard {
- configurationFiles.from(project.file("proguard-rules.pro"))
- }
- }
-}
diff --git a/demos/appyx-navigation/ios/build.gradle.kts b/demos/appyx-navigation/ios/build.gradle.kts
deleted file mode 100644
index d29771487..000000000
--- a/demos/appyx-navigation/ios/build.gradle.kts
+++ /dev/null
@@ -1,65 +0,0 @@
-plugins {
- id("com.bumble.appyx.multiplatform")
- kotlin("multiplatform")
- id("org.jetbrains.compose")
- id("com.google.devtools.ksp")
-}
-
-kotlin {
- listOf(
- iosX64(),
- iosArm64(),
- iosSimulatorArm64()
- ).forEach { iosTarget ->
- iosTarget.binaries.framework {
- baseName = "ios"
- isStatic = true
- }
- }
-
- sourceSets {
- val iosX64Main by getting
- val iosArm64Main by getting
- val iosSimulatorArm64Main by getting
- val iosMain by creating {
- iosX64Main.dependsOn(this)
- iosArm64Main.dependsOn(this)
- iosSimulatorArm64Main.dependsOn(this)
- dependencies {
- implementation(project(":demos:appyx-navigation:common"))
- api(compose.runtime)
- api(compose.foundation)
- api(compose.material)
- implementation(libs.kotlin.coroutines.core)
- }
- }
- }
-}
-
-tasks.register("copyResources") {
- // Dirs containing files we want to copy
- from("../common/src/commonMain/resources")
-
- // Output for iOS resources
- into("${layout.buildDirectory.get().asFile}/compose/ios/ios/compose-resources")
-
- include("**/*")
-}
-
-tasks.named("compileKotlinIosArm64") {
- dependsOn("copyResources")
-}
-
-tasks.named("compileKotlinIosSimulatorArm64") {
- dependsOn("copyResources")
-}
-
-tasks.named("compileKotlinIosX64") {
- dependsOn("copyResources")
-}
-
-dependencies {
- add("kspIosArm64", project(":ksp:appyx-processor"))
- add("kspIosX64", project(":ksp:appyx-processor"))
- add("kspIosSimulatorArm64", project(":ksp:appyx-processor"))
-}
diff --git a/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj b/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj
index f66d191e0..29bb3c859 100644
--- a/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj
+++ b/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj
@@ -172,7 +172,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"YES\" = \"$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED\" ]; then\n echo \"Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \\\"YES\\\"\"\n exit 0\nfi\ncd \"$SRCROOT/../../..\"\n./gradlew :demos:appyx-navigation:ios:embedAndSignAppleFrameworkForXcode\n";
+ shellScript = "if [ \"YES\" = \"$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED\" ]; then\n echo \"Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \\\"YES\\\"\"\n exit 0\nfi\ncd \"$SRCROOT/../../..\"\n./gradlew :demos:appyx-navigation:mainApp:embedAndSignAppleFrameworkForXcode\n";
};
/* End PBXShellScriptBuildPhase section */
@@ -316,7 +316,7 @@
DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\"";
DEVELOPMENT_TEAM = "${TEAM_ID}";
ENABLE_PREVIEWS = YES;
- FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../ios/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)";
+ FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../mainApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)";
INFOPLIST_FILE = iosApp/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.3;
LD_RUNPATH_SEARCH_PATHS = (
@@ -345,7 +345,7 @@
DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\"";
DEVELOPMENT_TEAM = "${TEAM_ID}";
ENABLE_PREVIEWS = YES;
- FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../ios/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)";
+ FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../mainApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)";
INFOPLIST_FILE = iosApp/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.3;
LD_RUNPATH_SEARCH_PATHS = (
diff --git a/demos/appyx-navigation/common/.gitignore b/demos/appyx-navigation/mainApp/.gitignore
similarity index 100%
rename from demos/appyx-navigation/common/.gitignore
rename to demos/appyx-navigation/mainApp/.gitignore
diff --git a/demos/appyx-navigation/mainApp/build.gradle.kts b/demos/appyx-navigation/mainApp/build.gradle.kts
new file mode 100644
index 000000000..58b818e16
--- /dev/null
+++ b/demos/appyx-navigation/mainApp/build.gradle.kts
@@ -0,0 +1,189 @@
+import org.jetbrains.compose.desktop.application.dsl.TargetFormat
+import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
+
+plugins {
+ id("com.bumble.appyx.multiplatform")
+ id("com.android.application")
+ id("org.jetbrains.compose")
+ id("com.google.devtools.ksp")
+ id("kotlin-parcelize")
+}
+
+kotlin {
+ androidTarget {
+ compilations.all {
+ kotlinOptions {
+ jvmTarget = libs.versions.jvmTarget.get()
+ }
+ }
+ }
+ jvm("desktop") {
+ compilations.all {
+ kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
+ }
+ }
+ @OptIn(ExperimentalWasmDsl::class)
+ wasmJs {
+ // Adding moduleName as a workaround for this issue: https://youtrack.jetbrains.com/issue/KT-51942
+ moduleName = "demo-appyx-navigation-main-wa"
+ browser()
+ binaries.executable()
+ }
+ listOf(
+ iosX64(),
+ iosArm64(),
+ iosSimulatorArm64()
+ ).forEach { iosTarget ->
+ iosTarget.binaries.framework {
+ baseName = "ios"
+ isStatic = true
+ }
+ }
+ sourceSets {
+ commonMain.dependencies {
+ api(compose.foundation)
+ api(compose.material3)
+ api(compose.runtime)
+ api(project(":appyx-interactions:appyx-interactions"))
+ api(project(":demos:image-loader:loader"))
+ api(project(":utils:utils-customisations"))
+ api(project(":utils:utils-material3"))
+ api(project(":utils:utils-multiplatform"))
+ implementation(libs.kotlinx.serialization.json)
+ implementation(project(":appyx-components:experimental:cards:cards"))
+ implementation(project(":appyx-components:experimental:promoter:promoter"))
+ implementation(project(":appyx-components:standard:backstack:backstack"))
+ implementation(project(":appyx-components:standard:spotlight:spotlight"))
+ }
+ commonTest.dependencies {
+ implementation(kotlin("test"))
+ }
+ androidMain.dependencies {
+ val composeBom = project.dependencies.platform(libs.compose.bom)
+
+ api(libs.androidx.core)
+ implementation(composeBom)
+ implementation(libs.androidx.activity.compose)
+ implementation(libs.androidx.appcompat)
+ implementation(libs.androidx.core.splashscreen)
+ implementation(libs.androidx.lifecycle.java8)
+ implementation(libs.coil.compose)
+ implementation(libs.compose.material3)
+ implementation(libs.compose.ui.tooling)
+ implementation(libs.google.material)
+ implementation(project(":appyx-components:standard:backstack:backstack"))
+ }
+ val desktopMain by getting {
+ dependencies {
+ api(compose.foundation)
+ api(compose.material)
+ api(compose.preview)
+ api(compose.runtime)
+ implementation(compose.desktop.currentOs)
+ implementation(libs.kotlin.coroutines.core)
+ implementation(libs.kotlin.coroutines.swing)
+ implementation(project(":appyx-components:standard:backstack:backstack"))
+ implementation(project(":appyx-interactions:appyx-interactions"))
+ implementation(project(":appyx-navigation:appyx-navigation"))
+ implementation(project(":demos:common"))
+ }
+ }
+ val wasmJsMain by getting {
+ dependencies {
+ implementation(project(":demos:common"))
+ implementation(project(":demos:mkdocs:common"))
+ implementation(project(":demos:mkdocs:appyx-components:common"))
+ }
+ }
+ val iosX64Main by getting
+ val iosArm64Main by getting
+ val iosSimulatorArm64Main by getting
+ val iosMain by creating {
+ iosX64Main.dependsOn(this)
+ iosArm64Main.dependsOn(this)
+ iosSimulatorArm64Main.dependsOn(this)
+ dependencies {
+ api(compose.runtime)
+ api(compose.foundation)
+ api(compose.material)
+ implementation(libs.kotlin.coroutines.core)
+ }
+ }
+ }
+}
+
+android {
+ namespace = "com.bumble.appyx.demos.navigation.main"
+ compileSdk = libs.versions.androidCompileSdk.get().toInt()
+
+ sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
+ sourceSets["main"].res.srcDirs("src/androidMain/res")
+ sourceSets["main"].resources.srcDirs("src/commonMain/resources")
+
+ defaultConfig {
+ minSdk = libs.versions.androidMinSdk.get().toInt()
+ targetSdk = libs.versions.androidTargetSdk.get().toInt()
+ versionCode = 1
+ versionName = "1.0"
+ }
+ buildFeatures {
+ compose = true
+ }
+ composeOptions {
+ kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
+ }
+ signingConfigs {
+ create("sampleConfig") { // debug is already created
+ storeFile = file("debug.keystore")
+ storePassword = "android"
+ keyAlias = "androiddebugkey"
+ keyPassword = "android"
+ }
+ }
+ buildTypes {
+ debug {
+ signingConfig = signingConfigs.findByName("sampleConfig")
+ }
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ // if we ever publish, we should create a more secure signingConfig
+ signingConfig = signingConfigs.findByName("sampleConfig")
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+}
+
+compose.desktop {
+ application {
+ mainClass = "com.bumble.appyx.demos.navigation.MainKt"
+ nativeDistributions {
+ targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
+ packageName = "AppyxNavigationDesktop"
+ packageVersion = properties["library.version"].toString().split("-")[0]
+ }
+ buildTypes.release.proguard {
+ configurationFiles.from(project.file("proguard-rules.pro"))
+ }
+ }
+}
+
+compose.experimental {
+ web.application {}
+}
+
+dependencies {
+ add("kspCommonMainMetadata", project(":ksp:appyx-processor"))
+ add("kspAndroid", project(":ksp:appyx-processor"))
+ add("kspDesktop", project(":ksp:appyx-processor"))
+ add("kspWasmJs", project(":ksp:appyx-processor"))
+ add("kspIosArm64", project(":ksp:appyx-processor"))
+ add("kspIosX64", project(":ksp:appyx-processor"))
+ add("kspIosSimulatorArm64", project(":ksp:appyx-processor"))
+}
diff --git a/demos/appyx-navigation/android/debug.keystore b/demos/appyx-navigation/mainApp/debug.keystore
similarity index 100%
rename from demos/appyx-navigation/android/debug.keystore
rename to demos/appyx-navigation/mainApp/debug.keystore
diff --git a/demos/appyx-navigation/android/proguard-rules.pro b/demos/appyx-navigation/mainApp/proguard-rules.pro
similarity index 100%
rename from demos/appyx-navigation/android/proguard-rules.pro
rename to demos/appyx-navigation/mainApp/proguard-rules.pro
diff --git a/demos/appyx-navigation/android/src/main/AndroidManifest.xml b/demos/appyx-navigation/mainApp/src/androidMain/AndroidManifest.xml
similarity index 93%
rename from demos/appyx-navigation/android/src/main/AndroidManifest.xml
rename to demos/appyx-navigation/mainApp/src/androidMain/AndroidManifest.xml
index 2bab77e25..026b25732 100644
--- a/demos/appyx-navigation/android/src/main/AndroidManifest.xml
+++ b/demos/appyx-navigation/mainApp/src/androidMain/AndroidManifest.xml
@@ -8,7 +8,7 @@
android:supportsRtl="true"
android:theme="@style/Theme.Appyx">
diff --git a/demos/appyx-navigation/android/src/main/kotlin/com/bumble/appyx/demos/navigation/MainActivity.kt b/demos/appyx-navigation/mainApp/src/androidMain/kotlin/com/bumble/appyx/demos/navigation/MainActivity.kt
similarity index 100%
rename from demos/appyx-navigation/android/src/main/kotlin/com/bumble/appyx/demos/navigation/MainActivity.kt
rename to demos/appyx-navigation/mainApp/src/androidMain/kotlin/com/bumble/appyx/demos/navigation/MainActivity.kt
diff --git a/demos/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt b/demos/appyx-navigation/mainApp/src/androidMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
rename to demos/appyx-navigation/mainApp/src/androidMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
diff --git a/demos/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt b/demos/appyx-navigation/mainApp/src/androidMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
rename to demos/appyx-navigation/mainApp/src/androidMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
diff --git a/demos/appyx-navigation/android/src/main/res/drawable/appyx.xml b/demos/appyx-navigation/mainApp/src/androidMain/res/drawable/appyx.xml
similarity index 100%
rename from demos/appyx-navigation/android/src/main/res/drawable/appyx.xml
rename to demos/appyx-navigation/mainApp/src/androidMain/res/drawable/appyx.xml
diff --git a/demos/appyx-navigation/android/src/main/res/values-night/themes.xml b/demos/appyx-navigation/mainApp/src/androidMain/res/values-night/themes.xml
similarity index 100%
rename from demos/appyx-navigation/android/src/main/res/values-night/themes.xml
rename to demos/appyx-navigation/mainApp/src/androidMain/res/values-night/themes.xml
diff --git a/demos/appyx-navigation/android/src/main/res/values/colors.xml b/demos/appyx-navigation/mainApp/src/androidMain/res/values/colors.xml
similarity index 100%
rename from demos/appyx-navigation/android/src/main/res/values/colors.xml
rename to demos/appyx-navigation/mainApp/src/androidMain/res/values/colors.xml
diff --git a/demos/appyx-navigation/android/src/main/res/values/strings.xml b/demos/appyx-navigation/mainApp/src/androidMain/res/values/strings.xml
similarity index 100%
rename from demos/appyx-navigation/android/src/main/res/values/strings.xml
rename to demos/appyx-navigation/mainApp/src/androidMain/res/values/strings.xml
diff --git a/demos/appyx-navigation/android/src/main/res/values/themes.xml b/demos/appyx-navigation/mainApp/src/androidMain/res/values/themes.xml
similarity index 100%
rename from demos/appyx-navigation/android/src/main/res/values/themes.xml
rename to demos/appyx-navigation/mainApp/src/androidMain/res/values/themes.xml
diff --git a/demos/appyx-navigation/common/src/commonMain/resources/appyx.png b/demos/appyx-navigation/mainApp/src/commonMain/composeResources/appyx.png
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/resources/appyx.png
rename to demos/appyx-navigation/mainApp/src/commonMain/composeResources/appyx.png
diff --git a/demos/appyx-navigation/common/src/commonMain/resources/cheesecake.png b/demos/appyx-navigation/mainApp/src/commonMain/composeResources/cheesecake.png
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/resources/cheesecake.png
rename to demos/appyx-navigation/mainApp/src/commonMain/composeResources/cheesecake.png
diff --git a/demos/appyx-navigation/common/src/commonMain/resources/donuts.png b/demos/appyx-navigation/mainApp/src/commonMain/composeResources/donuts.png
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/resources/donuts.png
rename to demos/appyx-navigation/mainApp/src/commonMain/composeResources/donuts.png
diff --git a/demos/appyx-navigation/common/src/commonMain/resources/fruit-cake.png b/demos/appyx-navigation/mainApp/src/commonMain/composeResources/fruit-cake.png
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/resources/fruit-cake.png
rename to demos/appyx-navigation/mainApp/src/commonMain/composeResources/fruit-cake.png
diff --git a/demos/appyx-navigation/common/src/commonMain/resources/macaron.png b/demos/appyx-navigation/mainApp/src/commonMain/composeResources/macaron.png
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/resources/macaron.png
rename to demos/appyx-navigation/mainApp/src/commonMain/composeResources/macaron.png
diff --git a/demos/appyx-navigation/common/src/commonMain/resources/mint-cupcake.png b/demos/appyx-navigation/mainApp/src/commonMain/composeResources/mint-cupcake.png
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/resources/mint-cupcake.png
rename to demos/appyx-navigation/mainApp/src/commonMain/composeResources/mint-cupcake.png
diff --git a/demos/appyx-navigation/common/src/commonMain/resources/red-cupcake.png b/demos/appyx-navigation/mainApp/src/commonMain/composeResources/red-cupcake.png
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/resources/red-cupcake.png
rename to demos/appyx-navigation/mainApp/src/commonMain/composeResources/red-cupcake.png
diff --git a/demos/appyx-navigation/common/src/commonMain/resources/tart.png b/demos/appyx-navigation/mainApp/src/commonMain/composeResources/tart.png
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/resources/tart.png
rename to demos/appyx-navigation/mainApp/src/commonMain/composeResources/tart.png
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/androidx/compose/material/icons/filled/Cake.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/androidx/compose/material/icons/filled/Cake.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/androidx/compose/material/icons/filled/Cake.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/androidx/compose/material/icons/filled/Cake.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/androidx/compose/material/icons/outlined/Cake.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/androidx/compose/material/icons/outlined/Cake.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/androidx/compose/material/icons/outlined/Cake.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/androidx/compose/material/icons/outlined/Cake.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/Ext.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/Ext.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/Ext.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/Ext.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/ExitHeroModeStrategy.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/ExitHeroModeStrategy.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/ExitHeroModeStrategy.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/ExitHeroModeStrategy.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/SpotlightHero.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/SpotlightHero.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/SpotlightHero.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/SpotlightHero.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/SpotlightHeroModel.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/SpotlightHeroModel.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/SpotlightHeroModel.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/SpotlightHeroModel.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Activate.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Activate.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Activate.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Activate.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/First.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/First.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/First.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/First.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Last.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Last.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Last.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Last.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Next.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Next.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Next.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Next.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Previous.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Previous.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Previous.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/Previous.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/SetHeroMode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/SetHeroMode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/SetHeroMode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/SetHeroMode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/ToggleHeroMode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/ToggleHeroMode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/ToggleHeroMode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/operation/ToggleHeroMode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/SpotlightHeroGestures.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/SpotlightHeroGestures.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/SpotlightHeroGestures.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/SpotlightHeroGestures.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/SpotlightHeroVisualisation.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/SpotlightHeroVisualisation.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/SpotlightHeroVisualisation.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/SpotlightHeroVisualisation.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/default/SpotlightHeroDefaultVisualisation.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/default/SpotlightHeroDefaultVisualisation.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/default/SpotlightHeroDefaultVisualisation.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/default/SpotlightHeroDefaultVisualisation.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/default/TargetUiState.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/default/TargetUiState.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/default/TargetUiState.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/default/TargetUiState.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/property/HeroProgress.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/property/HeroProgress.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/property/HeroProgress.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/component/spotlighthero/visualisation/property/HeroProgress.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/navigator/Navigator.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/navigator/Navigator.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/navigator/Navigator.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/navigator/Navigator.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/Cake.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/Cake.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/Cake.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/Cake.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeBackdropNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeBackdropNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeBackdropNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeBackdropNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeDetailsSheet.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeDetailsSheet.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeDetailsSheet.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeDetailsSheet.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeImageNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeImageNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeImageNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeImageNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeListNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeListNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeListNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cakes/CakeListNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cart/Cart.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cart/Cart.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cart/Cart.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/cart/Cart.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/AddressNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/AddressNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/AddressNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/AddressNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CartContent.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CartContent.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CartContent.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CartContent.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CartItemsNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CartItemsNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CartItemsNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CartItemsNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CheckoutFormField.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CheckoutFormField.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CheckoutFormField.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CheckoutFormField.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CheckoutNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CheckoutNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CheckoutNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/CheckoutNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/Options.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/Options.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/Options.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/Options.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/OrderConfirmedNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/OrderConfirmedNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/OrderConfirmedNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/OrderConfirmedNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/PaymentNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/PaymentNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/PaymentNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/PaymentNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/ShippingDetailsNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/ShippingDetailsNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/ShippingDetailsNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/checkout/ShippingDetailsNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/home/HomeNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/home/HomeNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/home/HomeNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/home/HomeNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/loggedout/LoggedOutNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/loggedout/LoggedOutNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/loggedout/LoggedOutNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/loggedout/LoggedOutNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/main/MainNavItem.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/main/MainNavItem.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/main/MainNavItem.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/main/MainNavItem.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/main/MainNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/main/MainNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/main/MainNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/main/MainNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/profile/ProfileNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/profile/ProfileNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/profile/ProfileNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/profile/ProfileNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/profile/User.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/profile/User.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/profile/User.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/profile/User.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/root/RootNode.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/root/RootNode.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/root/RootNode.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/node/root/RootNode.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/platform/Platform.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/platform/Platform.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/platform/Platform.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/platform/Platform.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Color.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Color.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Color.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Color.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/MaterialColors.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/MaterialColors.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/MaterialColors.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/MaterialColors.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/PlaceholderScreen.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/PlaceholderScreen.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/PlaceholderScreen.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/PlaceholderScreen.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Shape.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Shape.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Shape.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Shape.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/TextButton.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/TextButton.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/TextButton.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/TextButton.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Theme.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Theme.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Theme.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Theme.kt
diff --git a/demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Type.kt b/demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Type.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Type.kt
rename to demos/appyx-navigation/mainApp/src/commonMain/kotlin/com/bumble/appyx/demos/navigation/ui/Type.kt
diff --git a/demos/appyx-navigation/desktop/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/Main.kt b/demos/appyx-navigation/mainApp/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/Main.kt
similarity index 98%
rename from demos/appyx-navigation/desktop/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/Main.kt
rename to demos/appyx-navigation/mainApp/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/Main.kt
index fb5eb055a..3c53a4c4a 100644
--- a/demos/appyx-navigation/desktop/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/Main.kt
+++ b/demos/appyx-navigation/mainApp/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/Main.kt
@@ -30,7 +30,7 @@ import kotlinx.coroutines.flow.receiveAsFlow
import kotlinx.coroutines.launch
sealed class Events {
- object OnBackPressed : Events()
+ data object OnBackPressed : Events()
}
fun main() = application {
diff --git a/demos/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt b/demos/appyx-navigation/mainApp/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
rename to demos/appyx-navigation/mainApp/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
diff --git a/demos/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt b/demos/appyx-navigation/mainApp/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
rename to demos/appyx-navigation/mainApp/src/desktopMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
diff --git a/demos/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt b/demos/appyx-navigation/mainApp/src/iosMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
rename to demos/appyx-navigation/mainApp/src/iosMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
diff --git a/demos/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt b/demos/appyx-navigation/mainApp/src/iosMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
rename to demos/appyx-navigation/mainApp/src/iosMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/mainApp/src/iosMain/kotlin/main.ios.kt
similarity index 100%
rename from demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt
rename to demos/appyx-navigation/mainApp/src/iosMain/kotlin/main.ios.kt
diff --git a/demos/appyx-navigation/common/src/wasmJsMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt b/demos/appyx-navigation/mainApp/src/wasmJsMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/wasmJsMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
rename to demos/appyx-navigation/mainApp/src/wasmJsMain/kotlin/com/bumble/appyx/demos/navigation/platform/PlatformName.kt
diff --git a/demos/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt b/demos/appyx-navigation/mainApp/src/wasmJsMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
similarity index 100%
rename from demos/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
rename to demos/appyx-navigation/mainApp/src/wasmJsMain/kotlin/com/bumble/appyx/demos/navigation/ui/EmbeddableResourceImage.kt
diff --git a/demos/appyx-navigation/web/src/jsMain/kotlin/com/bumble/appyx/navigation/Main.kt b/demos/appyx-navigation/mainApp/src/wasmJsMain/kotlin/com/bumble/appyx/navigation/Main.kt
similarity index 100%
rename from demos/appyx-navigation/web/src/jsMain/kotlin/com/bumble/appyx/navigation/Main.kt
rename to demos/appyx-navigation/mainApp/src/wasmJsMain/kotlin/com/bumble/appyx/navigation/Main.kt
diff --git a/demos/appyx-navigation/web/src/jsMain/kotlin/com/bumble/appyx/navigation/WebTypography.kt b/demos/appyx-navigation/mainApp/src/wasmJsMain/kotlin/com/bumble/appyx/navigation/WebTypography.kt
similarity index 100%
rename from demos/appyx-navigation/web/src/jsMain/kotlin/com/bumble/appyx/navigation/WebTypography.kt
rename to demos/appyx-navigation/mainApp/src/wasmJsMain/kotlin/com/bumble/appyx/navigation/WebTypography.kt
diff --git a/demos/appyx-navigation/web/src/jsMain/resources/index.html b/demos/appyx-navigation/mainApp/src/wasmJsMain/resources/index.html
similarity index 90%
rename from demos/appyx-navigation/web/src/jsMain/resources/index.html
rename to demos/appyx-navigation/mainApp/src/wasmJsMain/resources/index.html
index 07c3ca9bc..ea21e5530 100644
--- a/demos/appyx-navigation/web/src/jsMain/resources/index.html
+++ b/demos/appyx-navigation/mainApp/src/wasmJsMain/resources/index.html
@@ -10,6 +10,6 @@
-
+