bootstrap android and ios apps

This commit is contained in:
pj committed 2026-09-09 22:39:07 +05:30
1 parent 339db54e8f
commit bad6bce051
28 files changed
+1136 -1

No files matched your search

+41
View File
@@ -0,0 +1,41 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.androidMultiplatformLibrary)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.kotlinSerialization)
}
kotlin {
android {
namespace = "app.bertsatlas.shared"
compileSdk = libs.versions.android.compileSdk.get().toInt()
minSdk = libs.versions.android.minSdk.get().toInt()
compilerOptions.jvmTarget.set(JvmTarget.JVM_21)
androidResources.enable = true
}
listOf(iosArm64(), iosSimulatorArm64()).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "ComposeApp"
isStatic = true
binaryOption("bundleId", "app.bertsatlas")
}
}
sourceSets {
commonMain.dependencies {
implementation(project(":domain"))
implementation(libs.compose.runtime)
implementation(libs.compose.foundation)
implementation(libs.compose.ui)
implementation(libs.compose.resources)
implementation(libs.compottie.lite)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.datetime)
implementation(libs.kotlinx.serialization.json)
}
}
}
@@ -0,0 +1,42 @@
package app.bertsatlas
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.heightIn
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.text.BasicText
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
@Composable
fun App() {
Column(
modifier = Modifier.fillMaxSize().background(Color(0xFFF7F0DF)).padding(24.dp),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally,
) {
BasicText("Bert's Atlas", style = TextStyle(color = Color(0xFF3E2447), fontSize = 36.sp))
BasicText(
"Getting nerdier every day.",
modifier = Modifier.padding(vertical = 16.dp),
style = TextStyle(color = Color(0xFF3E2447), fontSize = 18.sp),
)
BasicText(
"Start",
modifier = Modifier
.heightIn(min = 48.dp)
.background(Color(0xFF19647E))
.clickable(onClick = {})
.padding(horizontal = 32.dp, vertical = 14.dp),
style = TextStyle(color = Color.White, fontSize = 18.sp),
)
}
}
@@ -0,0 +1,6 @@
package app.bertsatlas
import androidx.compose.ui.window.ComposeUIViewController
fun MainViewController() = ComposeUIViewController { App() }