Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions categoriesApi/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.androidLibrary)
}

kotlin {
jvm()
androidTarget {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_11)
}
}

listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "CategoriesApi"
isStatic = true
}
}

sourceSets {
commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.ui)
}
}
}

android {
namespace = "com.spendoo.categories.api"
compileSdk = libs.versions.android.compileSdk.get().toInt()

defaultConfig {
minSdk = libs.versions.android.minSdk.get().toInt()
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.spendoo.categories.api

import androidx.compose.runtime.Composable
import androidx.compose.runtime.Stable

@Stable
interface CategoriesFeatureApi {
@Composable
fun TabEntry(updateBottomNavigationVisibility: (Boolean) -> Unit)
}
1 change: 1 addition & 0 deletions categoriesPresentation/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
89 changes: 89 additions & 0 deletions categoriesPresentation/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
import org.jetbrains.compose.resources.ResourcesExtension

plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.androidLibrary)
}

compose {
resources {
generateResClass = ResourcesExtension.ResourceClassGeneration.Never
}
}

kotlin {
// Target declarations - add or remove as needed below. These define
// which platforms this KMP module supports.
// See: https://kotlinlang.org/docs/multiplatform-discover-project.html#targets

androidTarget()

listOf(
iosArm64(),
iosSimulatorArm64()
).forEach {
it.binaries.framework {
baseName = "CategoriesPresentationKit"
}
}

sourceSets {
commonMain {
dependencies {
implementation(libs.kotlin.stdlib)

// Compose
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.ui)
implementation(compose.components.resources)
implementation(compose.components.uiToolingPreview)

implementation(projects.designSystem)
implementation(projects.categoriesApi)

implementation(libs.bundles.koin)

// Navigation
implementation(libs.androidx.navigation.compose)
}
}

commonTest {
dependencies {

}
}

androidMain {
dependencies {
implementation(compose.preview)
implementation(libs.androidx.activity.compose)
}
}


iosMain {
dependencies {
}
}
}
}

android {
namespace = "com.spendoo.categories.presentation"
compileSdk = libs.versions.android.compileSdk.get().toInt()

defaultConfig {
minSdk = libs.versions.android.minSdk.get().toInt()
}
testOptions {
unitTests.isReturnDefaultValues = true
}
}

dependencies {
debugImplementation(compose.uiTooling)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package com.spendoo.categories.presentation

actual fun platform() = "Android"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package com.spendoo.categories.presentation

expect fun platform(): String
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.spendoo.categories.presentation.api

import androidx.compose.runtime.Composable
import com.spendoo.categories.api.CategoriesFeatureApi
import com.spendoo.categories.screen.addCategory.AddCategoryScreen

class CategoriesFeatureApiImpl : CategoriesFeatureApi {

@Composable
override fun TabEntry(updateBottomNavigationVisibility: (Boolean) -> Unit) {
AddCategoryScreen()
}
}
Loading
Loading