Add about libraries to show used libraries

This commit is contained in:
Syer10
2022-04-02 14:03:31 -04:00
parent 33c962994f
commit 79fb68afb6
13 changed files with 260 additions and 3 deletions

View File

@@ -0,0 +1,59 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package ca.gosyer.jui.ui.main.about.licenses.components
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.produceState
import androidx.compose.ui.Modifier
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.util.withContext
@Composable
actual fun getLicenses(): Libs? {
val context = LocalContext.current
val libs by produceState<Libs?>(
null,
context
) {
withIOContext {
value = Libs.Builder().withContext(context).build()
}
}
return libs
}
@Composable
actual fun InternalAboutLibraries(
libraries: List<Library>,
modifier: Modifier,
contentPadding: PaddingValues,
showAuthor: Boolean,
showVersion: Boolean,
showLicenseBadges: Boolean,
colors: LibraryColors,
itemContentPadding: PaddingValues,
onLibraryClick: ((Library) -> Unit)?,
) {
Libraries(
libraries = libraries,
modifier = modifier,
contentPadding = contentPadding,
showAuthor = showAuthor,
showVersion = showVersion,
showLicenseBadges = showLicenseBadges,
colors = colors,
itemContentPadding = itemContentPadding,
onLibraryClick = onLibraryClick
)
}