diff --git a/DBTApp/.idea/deploymentTargetSelector.xml b/DBTApp/.idea/deploymentTargetSelector.xml index 812b017..02663a9 100644 --- a/DBTApp/.idea/deploymentTargetSelector.xml +++ b/DBTApp/.idea/deploymentTargetSelector.xml @@ -8,6 +8,9 @@ + + \ No newline at end of file diff --git a/DBTApp/app/build.gradle.kts b/DBTApp/app/build.gradle.kts index e02b40e..c0f101f 100644 --- a/DBTApp/app/build.gradle.kts +++ b/DBTApp/app/build.gradle.kts @@ -1,6 +1,7 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) + alias(libs.plugins.compose.compiler) } android { @@ -35,17 +36,46 @@ android { } buildFeatures { viewBinding = true + compose = true } } dependencies { + val composeBom = platform("androidx.compose:compose-bom:2025.05.00") + implementation(composeBom) + androidTestImplementation(composeBom) + + // Material Design 3 + implementation(libs.material3) + + // Android Studio Preview support + implementation(libs.androidx.ui.tooling.preview) + debugImplementation(libs.androidx.ui.tooling) + + // UI Tests + androidTestImplementation(libs.androidx.ui.test.junit4) + debugImplementation(libs.androidx.ui.test.manifest) + + // Optional - Included automatically by material, only add when you need + // the icons but not the material library (e.g. when using Material3 or a + // custom design system based on Foundation) + implementation(libs.androidx.material.icons.core) + // Optional - Add full set of material icons + implementation(libs.androidx.material.icons.extended) + + // Optional - Integration with activities + implementation(libs.androidx.activity.compose) + implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.material) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.navigation.fragment.ktx) implementation(libs.androidx.navigation.ui.ktx) + implementation(libs.androidx.runtime.android) + implementation(libs.androidx.ui.tooling.preview.android) + implementation(libs.androidx.material3.android) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) diff --git a/DBTApp/build.gradle.kts b/DBTApp/build.gradle.kts index 922f551..b2c8728 100644 --- a/DBTApp/build.gradle.kts +++ b/DBTApp/build.gradle.kts @@ -2,4 +2,5 @@ plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) apply false + alias(libs.plugins.compose.compiler) apply false } \ No newline at end of file diff --git a/DBTApp/gradle/libs.versions.toml b/DBTApp/gradle/libs.versions.toml index 050284e..aec03ea 100644 --- a/DBTApp/gradle/libs.versions.toml +++ b/DBTApp/gradle/libs.versions.toml @@ -1,4 +1,5 @@ [versions] +activityCompose = "1.10.1" agp = "8.9.2" kotlin = "2.0.21" coreKtx = "1.10.1" @@ -10,9 +11,21 @@ material = "1.10.0" constraintlayout = "2.1.4" navigationFragmentKtx = "2.6.0" navigationUiKtx = "2.6.0" +runtimeAndroid = "1.8.1" +uiToolingPreviewAndroid = "1.8.1" +material3Android = "1.3.2" [libraries] +androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" } +androidx-adaptive = { module = "androidx.compose.material3.adaptive:adaptive" } androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } +androidx-material-icons-core = { module = "androidx.compose.material:material-icons-core" } +androidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" } +androidx-material3 = { module = "androidx.compose.material3:material3" } +androidx-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4" } +androidx-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest" } +androidx-ui-tooling = { module = "androidx.compose.ui:ui-tooling" } +androidx-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" } junit = { group = "junit", name = "junit", version.ref = "junit" } androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } @@ -21,8 +34,12 @@ material = { group = "com.google.android.material", name = "material", version = androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } androidx-navigation-fragment-ktx = { group = "androidx.navigation", name = "navigation-fragment-ktx", version.ref = "navigationFragmentKtx" } androidx-navigation-ui-ktx = { group = "androidx.navigation", name = "navigation-ui-ktx", version.ref = "navigationUiKtx" } +androidx-runtime-android = { group = "androidx.compose.runtime", name = "runtime-android", version.ref = "runtimeAndroid" } +androidx-ui-tooling-preview-android = { group = "androidx.compose.ui", name = "ui-tooling-preview-android", version.ref = "uiToolingPreviewAndroid" } +androidx-material3-android = { group = "androidx.compose.material3", name = "material3-android", version.ref = "material3Android" } +material3 = { module = "androidx.compose.material3:material3" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } - +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }