From df0a1012cced95c3b23708d72e593a6e570e4348 Mon Sep 17 00:00:00 2001 From: Syer10 Date: Sat, 18 Feb 2023 15:17:03 -0500 Subject: [PATCH] Update AboutLibraries and use iOS compatible composables --- gradle/libs.versions.toml | 2 +- presentation/build.gradle.kts | 3 +- .../licenses/components/AndroidLicenses.kt | 49 ------------ .../licenses/components/LicensesContent.kt | 77 +------------------ .../licenses/components/DesktopLicenses.kt | 49 ------------ .../about/licenses/components/IosLicenses.kt | 46 ----------- 6 files changed, 5 insertions(+), 221 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a60613cf..0ad2321e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -59,7 +59,7 @@ multiplatformSettings = "1.0.0-alpha01" # Utility desugarJdkLibs = "2.0.2" -aboutLibraries = "10.5.2" +aboutLibraries = "10.6.0" dateTime = "0.4.0" immutableCollections = "0.3.5" kds = "3.4.0" diff --git a/presentation/build.gradle.kts b/presentation/build.gradle.kts index 93d5c1cd..ce637b1d 100644 --- a/presentation/build.gradle.kts +++ b/presentation/build.gradle.kts @@ -56,6 +56,7 @@ kotlin { api(libs.dateTime) api(libs.immutableCollections) api(libs.aboutLibraries.core) + api(libs.aboutLibraries.ui) api(projects.core) api(projects.i18n) @@ -81,7 +82,7 @@ kotlin { dependsOn(commonMain) dependencies { api(kotlin("stdlib-jdk8")) - api(libs.aboutLibraries.ui) + api(compose.desktop.currentOs) } } diff --git a/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/AndroidLicenses.kt b/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/AndroidLicenses.kt index 6685ea77..d357fae5 100644 --- a/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/AndroidLicenses.kt +++ b/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/AndroidLicenses.kt @@ -6,22 +6,13 @@ package ca.gosyer.jui.ui.main.about.licenses.components -import androidx.compose.foundation.layout.PaddingValues -import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.produceState -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import ca.gosyer.jui.core.lang.withIOContext import com.mikepenz.aboutlibraries.Libs -import com.mikepenz.aboutlibraries.entity.Library -import com.mikepenz.aboutlibraries.ui.compose.Libraries -import com.mikepenz.aboutlibraries.ui.compose.LibraryColors -import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults import com.mikepenz.aboutlibraries.util.withContext -import kotlinx.collections.immutable.ImmutableList @Composable actual fun getLicenses(): Libs? { @@ -36,43 +27,3 @@ actual fun getLicenses(): Libs? { } return libs } - -actual val LibraryDefaultsContentPadding - get() = LibraryDefaults.ContentPadding - -@Composable -actual fun RealLibraryDefaultsLibraryColors( - backgroundColor: Color, - contentColor: Color, - badgeBackgroundColor: Color, - badgeContentColor: Color -) = LibraryDefaults.libraryColors(backgroundColor, contentColor, badgeBackgroundColor, badgeContentColor) - -actual typealias LibraryColors = LibraryColors - -@Composable -actual fun InternalAboutLibraries( - libraries: ImmutableList, - modifier: Modifier, - lazyListState: LazyListState, - contentPadding: PaddingValues, - showAuthor: Boolean, - showVersion: Boolean, - showLicenseBadges: Boolean, - colors: LibraryColors, - itemContentPadding: PaddingValues, - onLibraryClick: ((Library) -> Unit)? -) { - Libraries( - libraries = libraries, - modifier = modifier, - lazyListState = lazyListState, - contentPadding = contentPadding, - showAuthor = showAuthor, - showVersion = showVersion, - showLicenseBadges = showLicenseBadges, - colors = colors, - itemContentPadding = itemContentPadding, - onLibraryClick = onLibraryClick - ) -} diff --git a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/LicensesContent.kt b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/LicensesContent.kt index 8cefcea4..26c42bdc 100644 --- a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/LicensesContent.kt +++ b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/LicensesContent.kt @@ -7,7 +7,6 @@ package ca.gosyer.jui.ui.main.about.licenses.components import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.WindowInsetsSides import androidx.compose.foundation.layout.add @@ -17,18 +16,13 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.only import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.windowInsetsPadding -import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.material.MaterialTheme import androidx.compose.material.Scaffold -import androidx.compose.material.contentColorFor import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalUriHandler -import androidx.compose.ui.unit.dp import ca.gosyer.jui.i18n.MR import ca.gosyer.jui.ui.base.navigation.Toolbar import ca.gosyer.jui.ui.main.components.bottomNav @@ -40,79 +34,12 @@ import ca.gosyer.jui.uicore.insets.navigationBars import ca.gosyer.jui.uicore.insets.statusBars import ca.gosyer.jui.uicore.resources.stringResource import com.mikepenz.aboutlibraries.Libs -import com.mikepenz.aboutlibraries.entity.Library -import kotlinx.collections.immutable.ImmutableList +import com.mikepenz.aboutlibraries.ui.compose.Libraries import kotlinx.collections.immutable.toImmutableList @Composable expect fun getLicenses(): Libs? -@Composable -internal expect fun InternalAboutLibraries( - libraries: ImmutableList, - modifier: Modifier, - lazyListState: LazyListState, - contentPadding: PaddingValues, - showAuthor: Boolean, - showVersion: Boolean, - showLicenseBadges: Boolean, - colors: LibraryColors, - itemContentPadding: PaddingValues, - onLibraryClick: ((Library) -> Unit)? -) - -expect val LibraryDefaultsContentPadding: PaddingValues - -@Composable -fun LibraryDefaultsLibraryColors( - backgroundColor: Color = MaterialTheme.colors.background, - contentColor: Color = contentColorFor(backgroundColor), - badgeBackgroundColor: Color = MaterialTheme.colors.primary, - badgeContentColor: Color = contentColorFor(badgeBackgroundColor) -) = RealLibraryDefaultsLibraryColors( - backgroundColor = backgroundColor, - contentColor = contentColor, - badgeBackgroundColor = badgeBackgroundColor, - badgeContentColor = badgeContentColor -) - -@Composable -internal expect fun RealLibraryDefaultsLibraryColors( - backgroundColor: Color, - contentColor: Color, - badgeBackgroundColor: Color, - badgeContentColor: Color -): LibraryColors - -expect interface LibraryColors - -@Composable -fun AboutLibraries( - libraries: ImmutableList, - modifier: Modifier = Modifier, - lazyListState: LazyListState = rememberLazyListState(), - contentPadding: PaddingValues = PaddingValues(0.dp), - showAuthor: Boolean = true, - showVersion: Boolean = true, - showLicenseBadges: Boolean = true, - colors: LibraryColors = LibraryDefaultsLibraryColors(), - itemContentPadding: PaddingValues = LibraryDefaultsContentPadding, - onLibraryClick: ((Library) -> Unit)? = null -) { - InternalAboutLibraries( - libraries = libraries, - modifier = modifier, - lazyListState = lazyListState, - contentPadding = contentPadding, - showAuthor = showAuthor, - showVersion = showVersion, - showLicenseBadges = showLicenseBadges, - colors = colors, - itemContentPadding = itemContentPadding, - onLibraryClick = onLibraryClick - ) -} - @Composable fun LicensesContent() { Scaffold( @@ -130,7 +57,7 @@ fun LicensesContent() { if (libs != null) { val state = rememberLazyListState() val uriHandler = LocalUriHandler.current - AboutLibraries( + Libraries( libraries = remember(libs) { libs.libraries.toImmutableList() }, lazyListState = state, onLibraryClick = { diff --git a/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/DesktopLicenses.kt b/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/DesktopLicenses.kt index 362e4aee..613c944f 100644 --- a/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/DesktopLicenses.kt +++ b/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/DesktopLicenses.kt @@ -6,21 +6,12 @@ package ca.gosyer.jui.ui.main.about.licenses.components -import androidx.compose.foundation.layout.PaddingValues -import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.produceState -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import ca.gosyer.jui.core.lang.withIOContext import ca.gosyer.jui.i18n.MR import com.mikepenz.aboutlibraries.Libs -import com.mikepenz.aboutlibraries.entity.Library -import com.mikepenz.aboutlibraries.ui.compose.Libraries -import com.mikepenz.aboutlibraries.ui.compose.LibraryColors -import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults -import kotlinx.collections.immutable.ImmutableList @Composable actual fun getLicenses(): Libs? { @@ -34,43 +25,3 @@ actual fun getLicenses(): Libs? { } return libs } - -actual val LibraryDefaultsContentPadding - get() = LibraryDefaults.ContentPadding - -@Composable -actual fun RealLibraryDefaultsLibraryColors( - backgroundColor: Color, - contentColor: Color, - badgeBackgroundColor: Color, - badgeContentColor: Color -) = LibraryDefaults.libraryColors(backgroundColor, contentColor, badgeBackgroundColor, badgeContentColor) - -actual typealias LibraryColors = LibraryColors - -@Composable -actual fun InternalAboutLibraries( - libraries: ImmutableList, - modifier: Modifier, - lazyListState: LazyListState, - contentPadding: PaddingValues, - showAuthor: Boolean, - showVersion: Boolean, - showLicenseBadges: Boolean, - colors: LibraryColors, - itemContentPadding: PaddingValues, - onLibraryClick: ((Library) -> Unit)? -) { - Libraries( - libraries = libraries, - modifier = modifier, - lazyListState = lazyListState, - contentPadding = contentPadding, - showAuthor = showAuthor, - showVersion = showVersion, - showLicenseBadges = showLicenseBadges, - colors = colors, - itemContentPadding = itemContentPadding, - onLibraryClick = onLibraryClick - ) -} diff --git a/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/IosLicenses.kt b/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/IosLicenses.kt index 3c735ebb..613c944f 100644 --- a/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/IosLicenses.kt +++ b/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/main/about/licenses/components/IosLicenses.kt @@ -6,18 +6,12 @@ package ca.gosyer.jui.ui.main.about.licenses.components -import androidx.compose.foundation.layout.PaddingValues -import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.produceState -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import ca.gosyer.jui.core.lang.withIOContext import ca.gosyer.jui.i18n.MR import com.mikepenz.aboutlibraries.Libs -import com.mikepenz.aboutlibraries.entity.Library -import kotlinx.collections.immutable.ImmutableList @Composable actual fun getLicenses(): Libs? { @@ -31,43 +25,3 @@ actual fun getLicenses(): Libs? { } return libs } - -actual val LibraryDefaultsContentPadding - get() = PaddingValues() - -@Composable -actual fun RealLibraryDefaultsLibraryColors( - backgroundColor: Color, - contentColor: Color, - badgeBackgroundColor: Color, - badgeContentColor: Color -) = object : LibraryColors {} - -actual interface LibraryColors - -@Composable -actual fun InternalAboutLibraries( - libraries: ImmutableList, - modifier: Modifier, - lazyListState: LazyListState, - contentPadding: PaddingValues, - showAuthor: Boolean, - showVersion: Boolean, - showLicenseBadges: Boolean, - colors: LibraryColors, - itemContentPadding: PaddingValues, - onLibraryClick: ((Library) -> Unit)? -) { - /*Libraries( - libraries = libraries, - modifier = modifier, - lazyListState = lazyListState, - contentPadding = contentPadding, - showAuthor = showAuthor, - showVersion = showVersion, - showLicenseBadges = showLicenseBadges, - colors = colors, - itemContentPadding = itemContentPadding, - onLibraryClick = onLibraryClick - )*/ -}