integration supabas

This commit is contained in:
2025-12-28 10:14:19 +01:00
parent 3a37eac107
commit 36d5fc5ce9
29 changed files with 1944 additions and 363 deletions

View File

@@ -1,7 +1,17 @@
import java.util.Properties
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.serialization)
}
// Read properties from local.properties
val localProperties = Properties()
val localPropertiesFile = rootProject.file("local.properties")
if (localPropertiesFile.exists()) {
localPropertiesFile.inputStream().use { localProperties.load(it) }
}
android {
@@ -18,6 +28,10 @@ android {
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
// Expose Supabase keys to the app via BuildConfig
buildConfigField("String", "SUPABASE_URL", "\"${localProperties.getProperty("supabase.url")}\"")
buildConfigField("String", "SUPABASE_ANON_KEY", "\"${localProperties.getProperty("supabase.anon.key")}\"")
}
buildTypes {
@@ -41,6 +55,7 @@ android {
}
buildFeatures {
compose = true
buildConfig = true // Enable BuildConfig generation
}
}
@@ -58,6 +73,21 @@ dependencies {
implementation(libs.androidx.compose.material3.adaptive.navigation.suite)
implementation(libs.androidx.compose.material3.window.size.class1)
implementation(libs.androidx.lifecycle.viewmodel.compose)
implementation(libs.androidx.appcompat)
// Supabase
implementation(libs.kotlinx.serialization.json)
implementation(libs.kotlinx.datetime)
// --- SUPABASE DEPENDENCIES (Corrected) ---
// 1. Implement the BOM using the platform() keyword.
implementation(platform(libs.supabase.bom))
// 2. Implement the specific Supabase modules using the correct aliases.
implementation(libs.supabase.auth)
implementation(libs.supabase.postgrest)
implementation(libs.ktor.client.android)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)