mirror of
https://github.com/revanced/revanced-manager-compose-old.git
synced 2025-04-30 06:24:28 +02:00
feat: support painterResource in SocialItem
This commit is contained in:
parent
31dce1a0f8
commit
0533381dd6
@ -1,9 +1,8 @@
|
||||
package app.revanced.manager.ui.component
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Code
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.ListItem
|
||||
@ -11,32 +10,39 @@ import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import app.revanced.manager.R
|
||||
import app.revanced.manager.util.ghOrganization
|
||||
import app.revanced.manager.util.openUrl
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun SocialItem(@StringRes label: Int, vec: ImageVector, fn: () -> Unit) {
|
||||
val rsc = stringResource(label)
|
||||
fun SocialItem(@StringRes label: Int, imageVector: ImageVector? = null, fn: () -> Unit) {
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { fn() },
|
||||
leadingContent = {
|
||||
if (imageVector != null) {
|
||||
Icon(
|
||||
imageVector = vec,
|
||||
contentDescription = rsc
|
||||
imageVector = imageVector,
|
||||
contentDescription = stringResource(label)
|
||||
)
|
||||
}
|
||||
},
|
||||
headlineText = { Text(rsc) }
|
||||
headlineText = { Text(stringResource(label)) }
|
||||
)
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun SocialItemPreview() {
|
||||
val ctx = LocalContext.current.applicationContext
|
||||
SocialItem(R.string.github, Icons.Default.Code) {
|
||||
ctx.openUrl(ghOrganization)
|
||||
fun SocialItem(@StringRes label: Int, @DrawableRes painterResource: Int? = null, fn: () -> Unit) {
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { fn() },
|
||||
leadingContent = {
|
||||
if (painterResource != null) {
|
||||
Icon(
|
||||
painter = painterResource(painterResource),
|
||||
contentDescription = stringResource(label)
|
||||
)
|
||||
}
|
||||
},
|
||||
headlineText = { Text(stringResource(label)) }
|
||||
)
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user