feat: basic api, captcha, and login flow

whew, that's a lot
This commit is contained in:
Cilly Leang 2026-01-25 03:31:24 +11:00
parent 946429a2f5
commit a2fb59c6f8
Signed by: cilly
GPG key ID: 6500251E087653C9
25 changed files with 605 additions and 50 deletions

View file

@ -13,6 +13,8 @@ androidx-nav3 = "1.0.0-alpha06"
androidx-testExt = "1.3.0"
composeHotReload = "1.0.0"
composeMultiplatform = "1.10.0"
desugar = "2.1.5"
hcaptcha = "4.4.0"
junit = "4.13.2"
kermit = "2.0.8"
kotlin = "2.3.0"
@ -22,8 +24,11 @@ material3-adaptive = "1.3.0-alpha03"
metro = "0.10.0"
settings = "1.3.0"
sqldelight = "2.2.1"
ktor = "3.4.0"
[libraries]
desugar = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar" }
hcaptcha-compose = { module = "com.github.hCaptcha.hcaptcha-android-sdk:compose-sdk", version.ref = "hcaptcha" }
kermit = { module = "co.touchlab:kermit", version.ref = "kermit" }
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
kotlin-testJunit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
@ -49,6 +54,11 @@ compose-uiToolingPreview = { module = "org.jetbrains.compose.ui:ui-tooling-previ
kotlinx-coroutinesSwing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" }
metrox-viewmodel-compose = { module = "dev.zacsweers.metro:metrox-viewmodel-compose", version.ref = "metro" }
settings = { module = "com.russhwolf:multiplatform-settings-no-arg", version.ref = "settings" }
ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
ktor-client-websockets = { module = "io.ktor:ktor-client-websockets", version.ref = "ktor" }
ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
[plugins]
androidApplication = { id = "com.android.application", version.ref = "agp" }