diff --git a/.fleet/receipt.json b/.fleet/receipt.json deleted file mode 100644 index 064059e..0000000 --- a/.fleet/receipt.json +++ /dev/null @@ -1,24 +0,0 @@ -// Project generated by Kotlin Multiplatform Wizard -{ - "spec": { - "template_id": "kmt", - "targets": { - "android": { - "ui": [ - "compose" - ] - }, - "ios": { - "ui": [ - "compose" - ] - }, - "desktop": { - "ui": [ - "compose" - ] - } - } - }, - "timestamp": "2024-03-04T14:16:27.193356112Z" -} \ No newline at end of file diff --git a/.fleet/run.json b/.fleet/run.json deleted file mode 100644 index 822a3ba..0000000 --- a/.fleet/run.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "configurations": [ - - ] -} \ No newline at end of file diff --git a/.fleet/settings.json b/.fleet/settings.json deleted file mode 100644 index 7b945d7..0000000 --- a/.fleet/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "run.destination.stop.already.running": "Always" -} \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..69a4f33 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,68 @@ +plugins { + alias(libs.plugins.androidApplication) + alias(libs.plugins.kotlinAndroid) +} + +android { + namespace = "net.agorise.kee" + compileSdk = libs.versions.android.compileSdk.get().toInt() + + defaultConfig { + applicationId = "net.agorise.kee" + minSdk = libs.versions.android.minSdk.get().toInt() + targetSdk = libs.versions.android.targetSdk.get().toInt() + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + vectorDrawables { + useSupportLibrary = true + } + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + kotlinOptions { + jvmTarget = "11" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() + } + packaging { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + } + } +} + +dependencies { + implementation(projects.library.preferences) + implementation(projects.library.stargate) + + implementation(platform(libs.compose.bom)) + implementation(libs.androidx.activity.compose) + implementation(libs.androidx.core.ktx) + implementation(libs.compose.ui) + implementation(libs.compose.ui.graphics) + implementation(libs.compose.ui.tooling.preview) + implementation(libs.compose.material3) + implementation(libs.voyager.navigator) + implementation(libs.voyager.screenmodel) + + debugImplementation(libs.compose.ui.tooling) + debugImplementation(libs.compose.ui.test.manifest) +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/composeApp/src/androidMain/AndroidManifest.xml b/app/src/main/AndroidManifest.xml similarity index 71% rename from composeApp/src/androidMain/AndroidManifest.xml rename to app/src/main/AndroidManifest.xml index f069253..91a1667 100644 --- a/composeApp/src/androidMain/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,9 +11,8 @@ android:supportsRtl="true" android:theme="@android:style/Theme.Material.Light.NoActionBar"> + android:name=".MainActivity" + android:exported="true"> diff --git a/composeApp/src/androidMain/kotlin/net/agorise/kee/MainActivity.kt b/app/src/main/kotlin/net/agorise/kee/MainActivity.kt similarity index 100% rename from composeApp/src/androidMain/kotlin/net/agorise/kee/MainActivity.kt rename to app/src/main/kotlin/net/agorise/kee/MainActivity.kt diff --git a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/component/nodestatus/NodeStatus.kt b/app/src/main/kotlin/net/agorise/kee/ui/component/nodestatus/NodeStatus.kt similarity index 87% rename from composeApp/src/commonMain/kotlin/net/agorise/kee/ui/component/nodestatus/NodeStatus.kt rename to app/src/main/kotlin/net/agorise/kee/ui/component/nodestatus/NodeStatus.kt index 425ccde..0305c17 100644 --- a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/component/nodestatus/NodeStatus.kt +++ b/app/src/main/kotlin/net/agorise/kee/ui/component/nodestatus/NodeStatus.kt @@ -3,8 +3,8 @@ package net.agorise.kee.ui.component.nodestatus import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import org.jetbrains.compose.ui.tooling.preview.Preview -import ui.theme.KeeTheme +import androidx.compose.ui.tooling.preview.Preview +import net.agorise.kee.ui.theme.KeeTheme @Composable fun NodeStatus(blockCount: Int? = null) { diff --git a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/component/topappbar/TopAppBar.kt b/app/src/main/kotlin/net/agorise/kee/ui/component/topappbar/TopAppBar.kt similarity index 91% rename from composeApp/src/commonMain/kotlin/net/agorise/kee/ui/component/topappbar/TopAppBar.kt rename to app/src/main/kotlin/net/agorise/kee/ui/component/topappbar/TopAppBar.kt index f39086e..fd01ede 100644 --- a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/component/topappbar/TopAppBar.kt +++ b/app/src/main/kotlin/net/agorise/kee/ui/component/topappbar/TopAppBar.kt @@ -6,8 +6,8 @@ import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults.topAppBarColors import androidx.compose.runtime.Composable -import org.jetbrains.compose.ui.tooling.preview.Preview -import ui.theme.KeeTheme +import androidx.compose.ui.tooling.preview.Preview +import net.agorise.kee.ui.theme.KeeTheme @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/screen/home/HomeScreen.kt b/app/src/main/kotlin/net/agorise/kee/ui/screen/home/HomeScreen.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/net/agorise/kee/ui/screen/home/HomeScreen.kt rename to app/src/main/kotlin/net/agorise/kee/ui/screen/home/HomeScreen.kt index bb8d63f..645ce3a 100644 --- a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/screen/home/HomeScreen.kt +++ b/app/src/main/kotlin/net/agorise/kee/ui/screen/home/HomeScreen.kt @@ -6,15 +6,14 @@ import androidx.compose.foundation.layout.padding import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator -import net.agorise.kee.getPlatform import net.agorise.kee.ui.component.topappbar.KeeTopAppBar import net.agorise.kee.ui.screen.importaccount.ImportAccountScreen +import net.agorise.kee.ui.theme.KeeTheme import net.agorise.shared.preferences.KeePreferences -import org.jetbrains.compose.ui.tooling.preview.Preview -import ui.theme.KeeTheme class HomeScreen : Screen { @@ -40,7 +39,7 @@ private fun HomeScreenContent() { modifier = Modifier.padding(innerPadding).padding(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp) ) { - Text("Welcome to Kee from ${getPlatform().name}") + Text("Welcome to Kee") Button( onClick = { navigator?.replace(ImportAccountScreen()) } diff --git a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/screen/importaccount/ImportAccountScreen.kt b/app/src/main/kotlin/net/agorise/kee/ui/screen/importaccount/ImportAccountScreen.kt similarity index 88% rename from composeApp/src/commonMain/kotlin/net/agorise/kee/ui/screen/importaccount/ImportAccountScreen.kt rename to app/src/main/kotlin/net/agorise/kee/ui/screen/importaccount/ImportAccountScreen.kt index 3bb0a91..e60a2ae 100644 --- a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/screen/importaccount/ImportAccountScreen.kt +++ b/app/src/main/kotlin/net/agorise/kee/ui/screen/importaccount/ImportAccountScreen.kt @@ -5,20 +5,18 @@ import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.model.rememberScreenModel import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator -import kee.composeapp.generated.resources.Res -import kee.composeapp.generated.resources.logo_kee +import net.agorise.kee.R import net.agorise.kee.ui.component.nodestatus.NodeStatus import net.agorise.kee.ui.component.topappbar.KeeTopAppBar import net.agorise.kee.ui.screen.home.HomeScreen -import org.jetbrains.compose.resources.ExperimentalResourceApi -import org.jetbrains.compose.resources.vectorResource -import org.jetbrains.compose.ui.tooling.preview.Preview -import ui.theme.KeeTheme +import net.agorise.kee.ui.theme.KeeTheme private const val RECOVERY_WORDS_COUNT = 25 @@ -33,7 +31,6 @@ class ImportAccountScreen : Screen { } } -@OptIn(ExperimentalResourceApi::class) @Composable private fun ImportAccountScreenContent(state: ImportAccountScreenModel.State) { val navigator = LocalNavigator.current @@ -53,7 +50,7 @@ private fun ImportAccountScreenContent(state: ImportAccountScreenModel.State) { val recoveryWords = recoveryText.split(" ").filter { it.isNotBlank() } Icon( - imageVector = vectorResource(Res.drawable.logo_kee), + painter = painterResource(R.drawable.ic_kee_logo), contentDescription = null, tint = MaterialTheme.colorScheme.primary, modifier = Modifier.padding(top = 16.dp).size(80.dp) diff --git a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/screen/importaccount/ImportAccountScreenModel.kt b/app/src/main/kotlin/net/agorise/kee/ui/screen/importaccount/ImportAccountScreenModel.kt similarity index 100% rename from composeApp/src/commonMain/kotlin/net/agorise/kee/ui/screen/importaccount/ImportAccountScreenModel.kt rename to app/src/main/kotlin/net/agorise/kee/ui/screen/importaccount/ImportAccountScreenModel.kt diff --git a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/theme/Color.kt b/app/src/main/kotlin/net/agorise/kee/ui/theme/Color.kt similarity index 98% rename from composeApp/src/commonMain/kotlin/net/agorise/kee/ui/theme/Color.kt rename to app/src/main/kotlin/net/agorise/kee/ui/theme/Color.kt index f5f90bd..fd450e3 100644 --- a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/theme/Color.kt +++ b/app/src/main/kotlin/net/agorise/kee/ui/theme/Color.kt @@ -1,4 +1,4 @@ -package ui.theme +package net.agorise.kee.ui.theme import androidx.compose.ui.graphics.Color diff --git a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/theme/Theme.kt b/app/src/main/kotlin/net/agorise/kee/ui/theme/Theme.kt similarity index 97% rename from composeApp/src/commonMain/kotlin/net/agorise/kee/ui/theme/Theme.kt rename to app/src/main/kotlin/net/agorise/kee/ui/theme/Theme.kt index 18f0344..15c19e1 100644 --- a/composeApp/src/commonMain/kotlin/net/agorise/kee/ui/theme/Theme.kt +++ b/app/src/main/kotlin/net/agorise/kee/ui/theme/Theme.kt @@ -1,12 +1,11 @@ -package ui.theme +package net.agorise.kee.ui.theme import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.lightColorScheme import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable - private val LightColors = lightColorScheme( primary = md_theme_light_primary, onPrimary = md_theme_light_onPrimary, @@ -37,7 +36,7 @@ private val LightColors = lightColorScheme( surfaceTint = md_theme_light_surfaceTint, outlineVariant = md_theme_light_outlineVariant, scrim = md_theme_light_scrim, - ) +) private val DarkColors = darkColorScheme( @@ -70,12 +69,12 @@ private val DarkColors = darkColorScheme( surfaceTint = md_theme_dark_surfaceTint, outlineVariant = md_theme_dark_outlineVariant, scrim = md_theme_dark_scrim, - ) +) @Composable fun KeeTheme( useDarkTheme: Boolean = isSystemInDarkTheme(), - content: @Composable() () -> Unit + content: @Composable () -> Unit ) { val colors = if (!useDarkTheme) { LightColors diff --git a/composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml similarity index 100% rename from composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml rename to app/src/main/res/drawable-v24/ic_launcher_foreground.xml diff --git a/composeApp/src/commonMain/composeResources/drawable/logo-kee.xml b/app/src/main/res/drawable/ic_kee_logo.xml similarity index 100% rename from composeApp/src/commonMain/composeResources/drawable/logo-kee.xml rename to app/src/main/res/drawable/ic_kee_logo.xml diff --git a/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml similarity index 100% rename from composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml rename to app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml diff --git a/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml similarity index 100% rename from composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml rename to app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml diff --git a/composeApp/src/androidMain/res/values/colors.xml b/app/src/main/res/values/colors.xml similarity index 100% rename from composeApp/src/androidMain/res/values/colors.xml rename to app/src/main/res/values/colors.xml diff --git a/composeApp/src/androidMain/res/values/strings.xml b/app/src/main/res/values/strings.xml similarity index 100% rename from composeApp/src/androidMain/res/values/strings.xml rename to app/src/main/res/values/strings.xml diff --git a/build.gradle.kts b/build.gradle.kts index 52cf9fa..82d367b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,6 +3,6 @@ plugins { // in each subproject's classloader alias(libs.plugins.androidApplication) apply false alias(libs.plugins.androidLibrary) apply false - alias(libs.plugins.jetbrainsCompose) apply false - alias(libs.plugins.kotlinMultiplatform) apply false -} \ No newline at end of file + alias(libs.plugins.kotlinAndroid) apply false + alias(libs.plugins.kotlinJvm) apply false +} diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts deleted file mode 100644 index 73b9f14..0000000 --- a/composeApp/build.gradle.kts +++ /dev/null @@ -1,120 +0,0 @@ -import org.jetbrains.compose.desktop.application.dsl.TargetFormat - -plugins { - alias(libs.plugins.kotlinMultiplatform) - alias(libs.plugins.androidApplication) - alias(libs.plugins.jetbrainsCompose) -} - -kotlin { - androidTarget { - compilations.all { - kotlinOptions { - jvmTarget = "11" - } - } - } - - jvm("desktop") - - listOf( - iosX64(), - iosArm64(), - iosSimulatorArm64() - ).forEach { iosTarget -> - iosTarget.binaries.framework { - baseName = "ComposeApp" - isStatic = true - } - } - - sourceSets { - val androidMain by getting { - dependencies { - implementation(libs.compose.ui.tooling.preview) - implementation(libs.androidx.activity.compose) - } - } - - val commonMain by getting { - commonMain.dependencies { - implementation(projects.shared.preferences) - implementation(projects.shared.stargate) - - implementation(compose.components.resources) - implementation(compose.components.uiToolingPreview) - implementation(compose.foundation) - implementation(compose.material3) - implementation(compose.runtime) - implementation(compose.ui) - implementation(libs.coroutines.core) - implementation(libs.voyager.navigator) - implementation(libs.voyager.screenmodel) - } - } - - val desktopMain by getting - desktopMain.dependencies { - implementation(compose.desktop.currentOs) - implementation(libs.coroutines.swing) - } - - 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) - dependencies {} - } - } -} - -android { - namespace = "net.agorise.kee" - compileSdk = libs.versions.android.compileSdk.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 { - applicationId = "net.agorise.kee" - minSdk = libs.versions.android.minSdk.get().toInt() - targetSdk = libs.versions.android.targetSdk.get().toInt() - versionCode = 1 - versionName = "1.0" - } - packaging { - resources { - excludes += "/META-INF/{AL2.0,LGPL2.1}" - } - } - buildTypes { - getByName("release") { - isMinifyEnabled = false - } - } - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - dependencies { - debugImplementation(libs.compose.ui.tooling) - } -} - -compose.desktop { - application { - mainClass = "MainKt" - - nativeDistributions { - targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) - packageName = "net.agorise.kee" - packageVersion = "1.0.0" - } - } -} - diff --git a/composeApp/src/androidMain/kotlin/net/agorise/kee/Platform.android.kt b/composeApp/src/androidMain/kotlin/net/agorise/kee/Platform.android.kt deleted file mode 100644 index ee5e38e..0000000 --- a/composeApp/src/androidMain/kotlin/net/agorise/kee/Platform.android.kt +++ /dev/null @@ -1,9 +0,0 @@ -package net.agorise.kee - -import android.os.Build - -class AndroidPlatform : Platform { - override val name: String = "Android ${Build.VERSION.SDK_INT}" -} - -actual fun getPlatform(): Platform = AndroidPlatform() diff --git a/composeApp/src/commonMain/kotlin/net/agorise/kee/Platform.kt b/composeApp/src/commonMain/kotlin/net/agorise/kee/Platform.kt deleted file mode 100644 index bd053e1..0000000 --- a/composeApp/src/commonMain/kotlin/net/agorise/kee/Platform.kt +++ /dev/null @@ -1,7 +0,0 @@ -package net.agorise.kee - -interface Platform { - val name: String -} - -expect fun getPlatform(): Platform diff --git a/composeApp/src/desktopMain/kotlin/net/agorise/kee/Platform.jvm.kt b/composeApp/src/desktopMain/kotlin/net/agorise/kee/Platform.jvm.kt deleted file mode 100644 index f892852..0000000 --- a/composeApp/src/desktopMain/kotlin/net/agorise/kee/Platform.jvm.kt +++ /dev/null @@ -1,7 +0,0 @@ -package net.agorise.kee - -class JVMPlatform : Platform { - override val name: String = "Java ${System.getProperty("java.version")}" -} - -actual fun getPlatform(): Platform = JVMPlatform() diff --git a/composeApp/src/desktopMain/kotlin/net/agorise/kee/main.kt b/composeApp/src/desktopMain/kotlin/net/agorise/kee/main.kt deleted file mode 100644 index c08889f..0000000 --- a/composeApp/src/desktopMain/kotlin/net/agorise/kee/main.kt +++ /dev/null @@ -1,20 +0,0 @@ -package net.agorise.kee - -import androidx.compose.ui.unit.DpSize -import androidx.compose.ui.unit.dp -import androidx.compose.ui.window.Window -import androidx.compose.ui.window.WindowPosition -import androidx.compose.ui.window.application -import androidx.compose.ui.window.rememberWindowState -import cafe.adriel.voyager.navigator.Navigator -import net.agorise.kee.ui.screen.home.HomeScreen - -fun main() = application { - val state = rememberWindowState( - size = DpSize(420.dp, 880.dp), - position = WindowPosition(300.dp, 300.dp) - ) - Window(title = "Kee", onCloseRequest = ::exitApplication, state = state) { - Navigator(HomeScreen()) - } -} diff --git a/composeApp/src/iosMain/kotlin/MainViewController.kt b/composeApp/src/iosMain/kotlin/MainViewController.kt deleted file mode 100644 index 1c76dd8..0000000 --- a/composeApp/src/iosMain/kotlin/MainViewController.kt +++ /dev/null @@ -1,5 +0,0 @@ -import androidx.compose.ui.window.ComposeUIViewController -import cafe.adriel.voyager.navigator.Navigator -import net.agorise.kee.ui.screen.home.HomeScreen - -fun MainViewController() = ComposeUIViewController { Navigator(HomeScreen()) } diff --git a/composeApp/src/iosMain/kotlin/net/agorise/kee/Platform.ios.kt b/composeApp/src/iosMain/kotlin/net/agorise/kee/Platform.ios.kt deleted file mode 100644 index 08f5021..0000000 --- a/composeApp/src/iosMain/kotlin/net/agorise/kee/Platform.ios.kt +++ /dev/null @@ -1,9 +0,0 @@ -package net.agorise.kee - -import platform.UIKit.UIDevice - -class IOSPlatform: Platform { - override val name: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion -} - -actual fun getPlatform(): Platform = IOSPlatform() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ec1688e..4810a32 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,21 +4,27 @@ android-compileSdk = "34" android-minSdk = "26" android-targetSdk = "34" androidx-activityCompose = "1.8.2" -compose = "1.6.4" -compose-plugin = "1.6.1" +composeCompiler = "1.5.12" +composeBom = "2024.04.01" coroutines = "1.8.0" cryptography = "0.3.0" kotlin = "1.9.23" ktor = "2.3.9" multiplatform-settings = "1.1.1" voyager = "1.0.0" +coreKtx = "1.13.0" [libraries] androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidx-activityCompose" } -compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "compose" } -compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "compose" } +androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } +compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" } +compose-material3 = { group = "androidx.compose.material3", name = "material3" } +compose-ui = { group = "androidx.compose.ui", name = "ui" } +compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" } +compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" } +compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } +compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "coroutines" } -coroutines-swing = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-swing", version.ref = "coroutines" } cryptography-bigint = { group = "dev.whyoleg.cryptography", name = "cryptography-bigint", version.ref = "cryptography" } kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "kotlin" } ktor-client-cio = { group = "io.ktor", name = "ktor-client-cio", version.ref = "ktor" } @@ -31,5 +37,5 @@ voyager-screenmodel = { group = "cafe.adriel.voyager", name = "voyager-screenmod [plugins] androidApplication = { id = "com.android.application", version.ref = "agp" } androidLibrary = { id = "com.android.library", version.ref = "agp" } -jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" } -kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } diff --git a/iosApp/Configuration/Config.xcconfig b/iosApp/Configuration/Config.xcconfig deleted file mode 100644 index 4ae7b5e..0000000 --- a/iosApp/Configuration/Config.xcconfig +++ /dev/null @@ -1,3 +0,0 @@ -TEAM_ID= -BUNDLE_ID=net.agorise.kee.Kee -APP_NAME=Kee \ No newline at end of file diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj deleted file mode 100644 index 5b57af0..0000000 --- a/iosApp/iosApp.xcodeproj/project.pbxproj +++ /dev/null @@ -1,398 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557BA273AAA24004C7B11 /* Assets.xcassets */; }; - 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */; }; - 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2152FB032600AC8F00CF470E /* iOSApp.swift */; }; - 7555FF83242A565900829871 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7555FF82242A565900829871 /* ContentView.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 058557BA273AAA24004C7B11 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; - 2152FB032600AC8F00CF470E /* iOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iOSApp.swift; sourceTree = ""; }; - 7555FF7B242A565900829871 /* iosApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iosApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 7555FF82242A565900829871 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; - 7555FF8C242A565B00829871 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - AB3632DC29227652001CCB65 /* Config.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - B92378962B6B1156000C7307 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 058557D7273AAEEB004C7B11 /* Preview Content */ = { - isa = PBXGroup; - children = ( - 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */, - ); - path = "Preview Content"; - sourceTree = ""; - }; - 42799AB246E5F90AF97AA0EF /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; - 7555FF72242A565900829871 = { - isa = PBXGroup; - children = ( - AB1DB47929225F7C00F7AF9C /* Configuration */, - 7555FF7D242A565900829871 /* iosApp */, - 7555FF7C242A565900829871 /* Products */, - 42799AB246E5F90AF97AA0EF /* Frameworks */, - ); - sourceTree = ""; - }; - 7555FF7C242A565900829871 /* Products */ = { - isa = PBXGroup; - children = ( - 7555FF7B242A565900829871 /* iosApp.app */, - ); - name = Products; - sourceTree = ""; - }; - 7555FF7D242A565900829871 /* iosApp */ = { - isa = PBXGroup; - children = ( - 058557BA273AAA24004C7B11 /* Assets.xcassets */, - 7555FF82242A565900829871 /* ContentView.swift */, - 7555FF8C242A565B00829871 /* Info.plist */, - 2152FB032600AC8F00CF470E /* iOSApp.swift */, - 058557D7273AAEEB004C7B11 /* Preview Content */, - ); - path = iosApp; - sourceTree = ""; - }; - AB1DB47929225F7C00F7AF9C /* Configuration */ = { - isa = PBXGroup; - children = ( - AB3632DC29227652001CCB65 /* Config.xcconfig */, - ); - path = Configuration; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 7555FF7A242A565900829871 /* iosApp */ = { - isa = PBXNativeTarget; - buildConfigurationList = 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */; - buildPhases = ( - F36B1CEB2AD83DDC00CB74D5 /* Compile Kotlin Framework */, - 7555FF77242A565900829871 /* Sources */, - B92378962B6B1156000C7307 /* Frameworks */, - 7555FF79242A565900829871 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = iosApp; - packageProductDependencies = ( - ); - productName = iosApp; - productReference = 7555FF7B242A565900829871 /* iosApp.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 7555FF73242A565900829871 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1130; - LastUpgradeCheck = 1130; - ORGANIZATIONNAME = orgName; - TargetAttributes = { - 7555FF7A242A565900829871 = { - CreatedOnToolsVersion = 11.3.1; - }; - }; - }; - buildConfigurationList = 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */; - compatibilityVersion = "Xcode 12.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 7555FF72242A565900829871; - packageReferences = ( - ); - productRefGroup = 7555FF7C242A565900829871 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 7555FF7A242A565900829871 /* iosApp */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 7555FF79242A565900829871 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */, - 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - F36B1CEB2AD83DDC00CB74D5 /* Compile Kotlin Framework */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "Compile Kotlin Framework"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - 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 :composeApp:embedAndSignAppleFrameworkForXcode\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 7555FF77242A565900829871 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */, - 7555FF83242A565900829871 /* ContentView.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 7555FFA3242A565B00829871 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.3; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 7555FFA4242A565B00829871 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.3; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 7555FFA6242A565B00829871 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; - DEVELOPMENT_TEAM = "${TEAM_ID}"; - ENABLE_PREVIEWS = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)\n$(SRCROOT)/../composeApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)", - ); - INFOPLIST_FILE = iosApp/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.3; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-framework", - composeApp, - ); - PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}"; - PRODUCT_NAME = "${APP_NAME}"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 7555FFA7242A565B00829871 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; - DEVELOPMENT_TEAM = "${TEAM_ID}"; - ENABLE_PREVIEWS = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)\n$(SRCROOT)/../composeApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)", - ); - INFOPLIST_FILE = iosApp/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.3; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-framework", - composeApp, - ); - PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}"; - PRODUCT_NAME = "${APP_NAME}"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 7555FFA3242A565B00829871 /* Debug */, - 7555FFA4242A565B00829871 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 7555FFA6242A565B00829871 /* Debug */, - 7555FFA7242A565B00829871 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 7555FF73242A565900829871 /* Project object */; -} diff --git a/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json b/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100644 index ee7e3ca..0000000 --- a/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} \ No newline at end of file diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 8edf56e..0000000 --- a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "images" : [ - { - "filename" : "app-icon-1024.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png deleted file mode 100644 index 53fc536..0000000 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png and /dev/null differ diff --git a/iosApp/iosApp/Assets.xcassets/Contents.json b/iosApp/iosApp/Assets.xcassets/Contents.json deleted file mode 100644 index 4aa7c53..0000000 --- a/iosApp/iosApp/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} \ No newline at end of file diff --git a/iosApp/iosApp/ContentView.swift b/iosApp/iosApp/ContentView.swift deleted file mode 100644 index 3cd5c32..0000000 --- a/iosApp/iosApp/ContentView.swift +++ /dev/null @@ -1,21 +0,0 @@ -import UIKit -import SwiftUI -import ComposeApp - -struct ComposeView: UIViewControllerRepresentable { - func makeUIViewController(context: Context) -> UIViewController { - MainViewControllerKt.MainViewController() - } - - func updateUIViewController(_ uiViewController: UIViewController, context: Context) {} -} - -struct ContentView: View { - var body: some View { - ComposeView() - .ignoresSafeArea(.keyboard) // Compose has own keyboard handler - } -} - - - diff --git a/iosApp/iosApp/Info.plist b/iosApp/iosApp/Info.plist deleted file mode 100644 index 412e378..0000000 --- a/iosApp/iosApp/Info.plist +++ /dev/null @@ -1,50 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - CADisableMinimumFrameDurationOnPhone - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - - UILaunchScreen - - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json b/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json deleted file mode 100644 index 4aa7c53..0000000 --- a/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} \ No newline at end of file diff --git a/iosApp/iosApp/iOSApp.swift b/iosApp/iosApp/iOSApp.swift deleted file mode 100644 index 0648e86..0000000 --- a/iosApp/iosApp/iOSApp.swift +++ /dev/null @@ -1,10 +0,0 @@ -import SwiftUI - -@main -struct iOSApp: App { - var body: some Scene { - WindowGroup { - ContentView() - } - } -} \ No newline at end of file diff --git a/library/crypto/build.gradle.kts b/library/crypto/build.gradle.kts new file mode 100644 index 0000000..e199814 --- /dev/null +++ b/library/crypto/build.gradle.kts @@ -0,0 +1,9 @@ +plugins { + alias(libs.plugins.kotlinJvm) +} + +dependencies { + implementation(libs.cryptography.bigint) + + testImplementation(libs.kotlin.test) +} diff --git a/shared/crypto/src/commonMain/kotlin/net/agorise/shared/crypto/Crc32.kt b/library/crypto/src/main/kotlin/net/agorise/shared/crypto/Crc32.kt similarity index 100% rename from shared/crypto/src/commonMain/kotlin/net/agorise/shared/crypto/Crc32.kt rename to library/crypto/src/main/kotlin/net/agorise/shared/crypto/Crc32.kt diff --git a/shared/crypto/src/commonTest/kotlin/net/agorise/shared/crypto/Crc32Test.kt b/library/crypto/src/test/kotlin/net/agorise/shared/crypto/Crc32Test.kt similarity index 100% rename from shared/crypto/src/commonTest/kotlin/net/agorise/shared/crypto/Crc32Test.kt rename to library/crypto/src/test/kotlin/net/agorise/shared/crypto/Crc32Test.kt diff --git a/shared/preferences/build.gradle.kts b/library/preferences/build.gradle.kts similarity index 52% rename from shared/preferences/build.gradle.kts rename to library/preferences/build.gradle.kts index e0a7e98..ed85789 100644 --- a/shared/preferences/build.gradle.kts +++ b/library/preferences/build.gradle.kts @@ -1,28 +1,6 @@ plugins { - alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidLibrary) -} - -kotlin { - androidTarget { - compilations.all { - kotlinOptions { - jvmTarget = "11" - } - } - } - - jvm() - - iosX64() - iosArm64() - iosSimulatorArm64() - - sourceSets { - commonMain.dependencies { - implementation(libs.multiplatform.settings) - } - } + alias(libs.plugins.kotlinAndroid) } android { @@ -37,4 +15,12 @@ android { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } + + kotlinOptions { + jvmTarget = "11" + } +} + +dependencies { + implementation(libs.multiplatform.settings) } diff --git a/shared/preferences/src/commonMain/kotlin/net/agorise/shared/preferences/KeePreferences.kt b/library/preferences/src/main/kotlin/net/agorise/shared/preferences/KeePreferences.kt similarity index 100% rename from shared/preferences/src/commonMain/kotlin/net/agorise/shared/preferences/KeePreferences.kt rename to library/preferences/src/main/kotlin/net/agorise/shared/preferences/KeePreferences.kt diff --git a/library/stargate/build.gradle.kts b/library/stargate/build.gradle.kts new file mode 100644 index 0000000..103b826 --- /dev/null +++ b/library/stargate/build.gradle.kts @@ -0,0 +1,15 @@ +plugins { + alias(libs.plugins.kotlinJvm) +} + +dependencies { + implementation(projects.library.crypto) + + implementation(libs.coroutines.core) + implementation(libs.cryptography.bigint) + implementation(libs.ktor.client.cio) + implementation(libs.ktor.client.core) + implementation(libs.ktor.client.websockets) + + testImplementation(libs.kotlin.test) +} diff --git a/shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/DeroNode.kt b/library/stargate/src/main/kotlin/net/agorise/shared/stargate/DeroNode.kt similarity index 100% rename from shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/DeroNode.kt rename to library/stargate/src/main/kotlin/net/agorise/shared/stargate/DeroNode.kt diff --git a/shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/StargateBridge.kt b/library/stargate/src/main/kotlin/net/agorise/shared/stargate/StargateBridge.kt similarity index 100% rename from shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/StargateBridge.kt rename to library/stargate/src/main/kotlin/net/agorise/shared/stargate/StargateBridge.kt diff --git a/shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/mnemonics/Mnemonics.kt b/library/stargate/src/main/kotlin/net/agorise/shared/stargate/mnemonics/Mnemonics.kt similarity index 100% rename from shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/mnemonics/Mnemonics.kt rename to library/stargate/src/main/kotlin/net/agorise/shared/stargate/mnemonics/Mnemonics.kt diff --git a/shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsEnglish.kt b/library/stargate/src/main/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsEnglish.kt similarity index 100% rename from shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsEnglish.kt rename to library/stargate/src/main/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsEnglish.kt diff --git a/shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsLanguage.kt b/library/stargate/src/main/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsLanguage.kt similarity index 100% rename from shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsLanguage.kt rename to library/stargate/src/main/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsLanguage.kt diff --git a/shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsSpanish.kt b/library/stargate/src/main/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsSpanish.kt similarity index 100% rename from shared/stargate/src/commonMain/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsSpanish.kt rename to library/stargate/src/main/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsSpanish.kt diff --git a/shared/stargate/src/commonTest/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsDataProvider.kt b/library/stargate/src/test/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsDataProvider.kt similarity index 100% rename from shared/stargate/src/commonTest/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsDataProvider.kt rename to library/stargate/src/test/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsDataProvider.kt diff --git a/shared/stargate/src/commonTest/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsTest.kt b/library/stargate/src/test/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsTest.kt similarity index 100% rename from shared/stargate/src/commonTest/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsTest.kt rename to library/stargate/src/test/kotlin/net/agorise/shared/stargate/mnemonics/MnemonicsTest.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index 56aca6f..3ce0aee 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,7 +18,7 @@ dependencyResolutionManagement { } } -include(":composeApp") -include(":shared:crypto") -include(":shared:preferences") -include(":shared:stargate") +include(":app") +include(":library:crypto") +include(":library:preferences") +include(":library:stargate") diff --git a/shared/crypto/build.gradle.kts b/shared/crypto/build.gradle.kts deleted file mode 100644 index 7a742e3..0000000 --- a/shared/crypto/build.gradle.kts +++ /dev/null @@ -1,44 +0,0 @@ -plugins { - alias(libs.plugins.kotlinMultiplatform) - alias(libs.plugins.androidLibrary) -} - -kotlin { - androidTarget { - compilations.all { - kotlinOptions { - jvmTarget = "11" - } - } - } - - jvm() - - iosX64() - iosArm64() - iosSimulatorArm64() - - sourceSets { - commonMain.dependencies { - implementation(libs.cryptography.bigint) - } - - commonTest.dependencies { - implementation(libs.kotlin.test) - } - } -} - -android { - namespace = "net.agorise.shared.crypto" - compileSdk = libs.versions.android.compileSdk.get().toInt() - - defaultConfig { - minSdk = libs.versions.android.minSdk.get().toInt() - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} diff --git a/shared/stargate/build.gradle.kts b/shared/stargate/build.gradle.kts deleted file mode 100644 index becc940..0000000 --- a/shared/stargate/build.gradle.kts +++ /dev/null @@ -1,49 +0,0 @@ -plugins { - alias(libs.plugins.kotlinMultiplatform) - alias(libs.plugins.androidLibrary) -} - -kotlin { - androidTarget { - compilations.all { - kotlinOptions { - jvmTarget = "11" - } - } - } - - jvm() - - iosX64() - iosArm64() - iosSimulatorArm64() - - sourceSets { - commonMain.dependencies { - implementation(projects.shared.crypto) - - implementation(libs.cryptography.bigint) - implementation(libs.ktor.client.cio) - implementation(libs.ktor.client.core) - implementation(libs.ktor.client.websockets) - } - - commonTest.dependencies { - implementation(libs.kotlin.test) - } - } -} - -android { - namespace = "net.agorise.shared.stargate" - compileSdk = libs.versions.android.compileSdk.get().toInt() - - defaultConfig { - minSdk = libs.versions.android.minSdk.get().toInt() - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -}