Skip to content

Commit

Permalink
feat: ControlPage
Browse files Browse the repository at this point in the history
  • Loading branch information
lisonge committed Jan 4, 2025
1 parent c454d0e commit 11b331c
Show file tree
Hide file tree
Showing 12 changed files with 250 additions and 79 deletions.
3 changes: 3 additions & 0 deletions app/src/main/kotlin/li/songe/gkd/ui/AboutPage.kt
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ import li.songe.gkd.util.SafeR
import li.songe.gkd.util.UpdateChannelOption
import li.songe.gkd.util.buildLogFile
import li.songe.gkd.util.checkUpdate
import li.songe.gkd.util.copyText
import li.songe.gkd.util.findOption
import li.songe.gkd.util.format
import li.songe.gkd.util.launchAsFn
Expand Down Expand Up @@ -253,6 +254,7 @@ fun AboutPage() {
text = REPOSITORY_URL,
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.secondary,
modifier = Modifier.clickable(onClick = throttle { copyText(REPOSITORY_URL) }),
)

}
Expand All @@ -272,6 +274,7 @@ fun AboutPage() {
text = ISSUES_URL,
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.secondary,
modifier = Modifier.clickable(onClick = throttle { copyText(ISSUES_URL) }),
)
}
if (META.updateEnabled) {
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/kotlin/li/songe/gkd/ui/ActionLogVm.kt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ class ActionLogVm : ViewModel() {

val pagingDataFlow = Pager(PagingConfig(pageSize = 100)) { DbSet.actionLogDao.pagingSource() }
.flow
.cachedIn(viewModelScope)
.combine(subsIdToRawFlow) { pagingData, subsIdToRaw ->
pagingData.map { c ->
val group = if (c.groupType == SubsConfig.AppGroupType) {
Expand All @@ -37,6 +36,7 @@ class ActionLogVm : ViewModel() {
Tuple3(c, group, rule)
}
}
.cachedIn(viewModelScope)

val actionLogCountFlow =
DbSet.actionLogDao.count().stateIn(viewModelScope, SharingStarted.Eagerly, 0)
Expand Down
10 changes: 7 additions & 3 deletions app/src/main/kotlin/li/songe/gkd/ui/AuthA11yPage.kt
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ import li.songe.gkd.shizuku.execCommandForResult
import li.songe.gkd.ui.component.updateDialogOptions
import li.songe.gkd.ui.style.EmptyHeight
import li.songe.gkd.ui.style.itemHorizontalPadding
import li.songe.gkd.ui.style.surfaceCardColors
import li.songe.gkd.util.LocalNavController
import li.songe.gkd.util.ProfileTransitions
import li.songe.gkd.util.launchAsFn
Expand Down Expand Up @@ -102,7 +103,8 @@ fun AuthA11yPage() {
modifier = Modifier
.padding(itemHorizontalPadding, 0.dp)
.fillMaxWidth(),
onClick = { }
onClick = { },
colors = surfaceCardColors,
) {
Text(
modifier = Modifier.padding(cardHorizontalPadding, 8.dp),
Expand Down Expand Up @@ -153,7 +155,8 @@ fun AuthA11yPage() {
modifier = Modifier
.padding(itemHorizontalPadding, 0.dp)
.fillMaxWidth(),
onClick = { }
onClick = { },
colors = surfaceCardColors,
) {
Text(
modifier = Modifier.padding(cardHorizontalPadding, 8.dp),
Expand Down Expand Up @@ -203,7 +206,8 @@ fun AuthA11yPage() {
modifier = Modifier
.padding(itemHorizontalPadding, 0.dp)
.fillMaxWidth(),
onClick = { }
onClick = { },
colors = surfaceCardColors,
) {
Text(
modifier = Modifier.padding(cardHorizontalPadding, 8.dp),
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/kotlin/li/songe/gkd/ui/component/AuthCard.kt
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ fun AuthCard(
color = MaterialTheme.colorScheme.onSurfaceVariant,
)
}
Spacer(modifier = Modifier.width(10.dp))
Spacer(modifier = Modifier.width(8.dp))
OutlinedButton(onClick = throttle(fn = onAuthClick)) {
Text(text = "授权")
}
Expand Down
22 changes: 13 additions & 9 deletions app/src/main/kotlin/li/songe/gkd/ui/component/SettingItem.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package li.songe.gkd.ui.component

import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
Expand All @@ -27,20 +26,23 @@ fun SettingItem(
subtitle: String? = null,
suffix: String? = null,
onSuffixClick: (() -> Unit)? = null,
imageVector: ImageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight,
onClick: () -> Unit,
imageVector: ImageVector? = Icons.AutoMirrored.Filled.KeyboardArrowRight,
onClick: (() -> Unit)? = null,
) {
Row(
modifier = Modifier
.clickable(
onClick = throttle(fn = onClick)
)
.let {
if (onClick != null) {
it.clickable(onClick = throttle(fn = onClick))
} else {
it
}
}
.fillMaxWidth()
.itemPadding(),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically,
) {
Column(modifier = Modifier.weight(1f)) {
Column(modifier = if (imageVector != null) Modifier.weight(1f) else Modifier.fillMaxWidth()) {
Text(
text = title,
style = MaterialTheme.typography.bodyLarge,
Expand Down Expand Up @@ -72,6 +74,8 @@ fun SettingItem(
}
}
}
Icon(imageVector = imageVector, contentDescription = title)
if (imageVector != null) {
Icon(imageVector = imageVector, contentDescription = title)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ fun SubsItemCard(
containerColor = if (isSelected) {
MaterialTheme.colorScheme.primaryContainer
} else {
Color.Unspecified
MaterialTheme.colorScheme.surfaceContainer
}
),
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ fun TextSwitch(
}
}
}
Spacer(modifier = Modifier.width(10.dp))
Spacer(modifier = Modifier.width(8.dp))
Switch(
checked = checked,
enabled = enabled,
Expand Down
Loading

0 comments on commit 11b331c

Please sign in to comment.