mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2025-12-10 14:52:03 +01:00
Update AboutLibraries and use iOS compatible composables
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<Library>,
|
||||
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
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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<Library>,
|
||||
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<Library>,
|
||||
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 = {
|
||||
|
||||
@@ -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<Library>,
|
||||
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
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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<Library>,
|
||||
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
|
||||
)*/
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user