plugins {
    id "org.jetbrains.kotlin.multiplatform"
    id "org.jetbrains.kotlin.plugin.serialization"
    id "com.android.library"
    alias(libs.plugins.compose)
}

apply from: "$mppProjectWithSerializationPresetPath"

kotlin {
    js(IR) {
        binaries.executable()
    }
    sourceSets {
        commonMain {
            dependencies {
                api project(":postssystem.features.common.client")
                api project(":postssystem.features.status.client")
                api project(":postssystem.features.files.client")
                api project(":postssystem.features.users.client")
                api project(":postssystem.features.auth.client")
                api project(":postssystem.features.roles.client")
                api project(":postssystem.features.roles.manager.client")
                api project(":postssystem.features.content.client")
                api project(":postssystem.features.content.text.client")
                api project(":postssystem.features.content.binary.client")

                api project(":postssystem.services.posts.client")

                api libs.microutils.fsm.common
                api libs.microutils.fsm.repos.common
                api libs.microutils.crypto

                implementation compose.runtime
            }
        }

        jvmMain {
            dependencies {
                api "io.ktor:ktor-client-apache:$ktor_version"
            }
        }

        jsMain {
            dependencies {
                implementation compose.web.core
                implementation libs.jsuikit
            }
        }
    }
}
