refactor: move modals to separate module (#322)

This commit is contained in:
Diego Beraldin 2023-12-18 00:01:45 +01:00 committed by GitHub
parent dbd9688ca1
commit 5656d771d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 112 additions and 38 deletions

View File

@ -57,6 +57,7 @@ kotlin {
implementation(projects.coreNavigation)
implementation(projects.coreCommonui.components)
implementation(projects.coreCommonui.lemmyui)
implementation(projects.coreCommonui.modals)
implementation(projects.domainLemmy.data)
implementation(projects.domainLemmy.repository)

View File

@ -0,0 +1,61 @@
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.library)
alias(libs.plugins.compose)
}
@OptIn(org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi::class)
kotlin {
applyDefaultHierarchyTemplate()
androidTarget {
compilations.all {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
iosX64()
iosArm64()
iosSimulatorArm64()
sourceSets {
val commonMain by getting {
dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material)
implementation(compose.material3)
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources)
implementation(compose.materialIconsExtended)
implementation(libs.koin.core)
implementation(libs.voyager.navigator)
implementation(libs.voyager.bottomsheet)
implementation(projects.coreUtils)
implementation(projects.coreAppearance)
implementation(projects.coreCommonui.components)
implementation(projects.coreNavigation)
implementation(projects.corePersistence)
implementation(projects.coreNotifications)
implementation(projects.domainLemmy.data)
implementation(projects.resources)
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test"))
}
}
}
}
android {
namespace = "com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals"
compileSdk = libs.versions.android.targetSdk.get().toInt()
defaultConfig {
minSdk = libs.versions.android.minSdk.get().toInt()
}
}

View File

@ -1,4 +1,4 @@
package com.github.diegoberaldin.raccoonforlemmy.core.commonui
package com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals
import android.view.ActionMode
import android.view.Menu

View File

@ -0,0 +1,18 @@
package com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals.di
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.platform.TextToolbar
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals.CustomTextToolbar
@Composable
actual fun getCustomTextToolbar(
onShare: () -> Unit,
onQuote: () -> Unit,
): TextToolbar {
return CustomTextToolbar(
view = LocalView.current,
onShare = onShare,
onQuote = onQuote,
)
}

View File

@ -32,7 +32,7 @@ import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.unit.dp
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getCustomTextToolbar
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals.di.getCustomTextToolbar
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback
import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.getShareHelper
import com.github.diegoberaldin.raccoonforlemmy.resources.MR

View File

@ -0,0 +1,10 @@
package com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals.di
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.TextToolbar
@Composable
expect fun getCustomTextToolbar(
onShare: () -> Unit,
onQuote: () -> Unit,
): TextToolbar

View File

@ -0,0 +1,13 @@
package com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals.di
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalTextToolbar
import androidx.compose.ui.platform.TextToolbar
@Composable
actual fun getCustomTextToolbar(
onShare: () -> Unit,
onQuote: () -> Unit,
): TextToolbar {
return LocalTextToolbar.current
}

View File

@ -1,9 +1,5 @@
package com.github.diegoberaldin.raccoonforlemmy.core.commonui.di
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.platform.TextToolbar
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.CustomTextToolbar
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.ban.BanUserMviModel
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.chat.InboxChatMviModel
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.communityInfo.CommunityInfoMviModel
@ -133,18 +129,6 @@ actual fun getSelectCommunityViewModel(): SelectCommunityMviModel {
}
@Composable
actual fun getCustomTextToolbar(
onShare: () -> Unit,
onQuote: () -> Unit,
): TextToolbar {
return CustomTextToolbar(
view = LocalView.current,
onShare = onShare,
onQuote = onQuote,
)
}
actual fun getRemoveViewModel(
postId: Int?,
commentId: Int?,
@ -181,4 +165,4 @@ actual fun getBanUserViewModel(
)
})
return res
}
}

View File

@ -1,7 +1,5 @@
package com.github.diegoberaldin.raccoonforlemmy.core.commonui.di
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.TextToolbar
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.ban.BanUserMviModel
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.chat.InboxChatMviModel
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.communityInfo.CommunityInfoMviModel
@ -70,12 +68,6 @@ expect fun getCreateReportViewModel(
commentId: Int? = null,
): CreateReportMviModel
@Composable
expect fun getCustomTextToolbar(
onShare: () -> Unit,
onQuote: () -> Unit,
): TextToolbar
expect fun getSelectCommunityViewModel(): SelectCommunityMviModel
expect fun getRemoveViewModel(

View File

@ -1,8 +1,5 @@
package com.github.diegoberaldin.raccoonforlemmy.core.commonui.di
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalTextToolbar
import androidx.compose.ui.platform.TextToolbar
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.ban.BanUserMviModel
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.chat.InboxChatMviModel
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.communityInfo.CommunityInfoMviModel
@ -231,11 +228,3 @@ object CommonUiViewModelHelper : KoinComponent {
return model
}
}
@Composable
actual fun getCustomTextToolbar(
onShare: () -> Unit,
onQuote: () -> Unit,
): TextToolbar {
return LocalTextToolbar.current
}

View File

@ -52,6 +52,7 @@ kotlin {
implementation(projects.coreCommonui)
implementation(projects.coreCommonui.components)
implementation(projects.coreCommonui.lemmyui)
implementation(projects.coreCommonui.modals)
implementation(projects.coreNotifications)
implementation(projects.domainIdentity)

View File

@ -50,6 +50,7 @@ kotlin {
implementation(projects.coreCommonui)
implementation(projects.coreCommonui.components)
implementation(projects.coreCommonui.lemmyui)
implementation(projects.coreCommonui.modals)
implementation(projects.coreUtils)
implementation(projects.corePreferences)
implementation(projects.corePersistence)

View File

@ -53,6 +53,7 @@ kotlin {
implementation(projects.coreCommonui)
implementation(projects.coreCommonui.components)
implementation(projects.coreCommonui.lemmyui)
implementation(projects.coreCommonui.modals)
implementation(projects.corePreferences)
implementation(projects.coreNotifications)
implementation(projects.corePersistence)

View File

@ -52,6 +52,7 @@ kotlin {
implementation(projects.coreCommonui)
implementation(projects.coreCommonui.components)
implementation(projects.coreCommonui.lemmyui)
implementation(projects.coreCommonui.modals)
implementation(projects.coreNotifications)
implementation(projects.domainIdentity)

View File

@ -51,6 +51,7 @@ kotlin {
implementation(projects.coreCommonui)
implementation(projects.coreCommonui.components)
implementation(projects.coreCommonui.lemmyui)
implementation(projects.coreCommonui.modals)
implementation(projects.coreNotifications)
implementation(projects.resources)
implementation(projects.domainLemmy.data)

View File

@ -29,6 +29,7 @@ include(":core-md")
include(":core-commonui")
include(":core-commonui:components")
include(":core-commonui:lemmyui")
include(":core-commonui:modals")
include(":core-notifications")
include(":core-persistence")
include(":core-navigation")