mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Add: PrefsGroup list-based constructor
This commit is contained in:
parent
07e9eb83dc
commit
4b55c4f515
@ -13,11 +13,15 @@ import androidx.compose.material3.Surface
|
|||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.runtime.mutableStateListOf
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
|
import com.machiav3lli.fdroid.content.Preferences
|
||||||
|
import com.machiav3lli.fdroid.content.PrefsDependencies
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun PreferenceGroup(
|
fun PreferenceGroup(
|
||||||
@ -37,6 +41,37 @@ fun PreferenceGroup(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun PreferenceGroup(
|
||||||
|
modifier: Modifier = Modifier,
|
||||||
|
heading: String? = null,
|
||||||
|
keys: List<Preferences.Key<*>>,
|
||||||
|
onPrefDialog: (Any) -> Unit,
|
||||||
|
) {
|
||||||
|
val size = keys.size
|
||||||
|
val enabledList = remember() {
|
||||||
|
mutableStateListOf(
|
||||||
|
*keys.filter { PrefsDependencies[it]?.let { Preferences[it] } ?: true }.toTypedArray()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
PreferenceGroup(
|
||||||
|
modifier = modifier,
|
||||||
|
heading = heading
|
||||||
|
) {
|
||||||
|
keys.forEachIndexed { index, item ->
|
||||||
|
PrefsBuilder(
|
||||||
|
item,
|
||||||
|
onPrefDialog,
|
||||||
|
enabledList,
|
||||||
|
index,
|
||||||
|
size
|
||||||
|
)
|
||||||
|
if (index < size - 1) Spacer(modifier = Modifier.height(4.dp))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun PreferenceGroupHeading(
|
fun PreferenceGroupHeading(
|
||||||
heading: String? = null
|
heading: String? = null
|
||||||
|
Loading…
x
Reference in New Issue
Block a user