控件优化
This commit is contained in:
15 files changed
+68
-85
No files matched your search
@@ -72,7 +72,8 @@
|
|||||||
"Bash(Select-Object -Last 20)",
|
"Bash(Select-Object -Last 20)",
|
||||||
"WebFetch(domain:compose-miuix-ui.github.io)",
|
"WebFetch(domain:compose-miuix-ui.github.io)",
|
||||||
"Bash(Select-Object -Last 60)",
|
"Bash(Select-Object -Last 60)",
|
||||||
"PowerShell(.\\\\gradlew.bat :app:compileAppDebugKotlin 2>&1 | Select-Object -Last 60)"
|
"PowerShell(.\\\\gradlew.bat :app:compileAppDebugKotlin 2>&1 | Select-Object -Last 60)",
|
||||||
|
"Bash(New-Item *)"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+1
-1
@@ -46,7 +46,7 @@ import io.legado.app.R
|
|||||||
import io.legado.app.ui.theme.LegadoTheme
|
import io.legado.app.ui.theme.LegadoTheme
|
||||||
import io.legado.app.ui.theme.adaptiveContentPadding
|
import io.legado.app.ui.theme.adaptiveContentPadding
|
||||||
import io.legado.app.ui.theme.adaptiveHorizontalPadding
|
import io.legado.app.ui.theme.adaptiveHorizontalPadding
|
||||||
import io.legado.app.ui.widget.components.AppLinearProgressIndicator
|
import io.legado.app.ui.widget.components.progressIndicator.AppLinearProgressIndicator
|
||||||
import io.legado.app.ui.widget.components.AppScaffold
|
import io.legado.app.ui.widget.components.AppScaffold
|
||||||
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
||||||
import io.legado.app.ui.widget.components.button.SmallTonalIconButton
|
import io.legado.app.ui.widget.components.button.SmallTonalIconButton
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ import io.legado.app.ui.book.search.ScopeSelectSheet
|
|||||||
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
||||||
import io.legado.app.ui.book.source.manage.BookSourceActivity
|
import io.legado.app.ui.book.source.manage.BookSourceActivity
|
||||||
import io.legado.app.ui.theme.LegadoTheme
|
import io.legado.app.ui.theme.LegadoTheme
|
||||||
import io.legado.app.ui.widget.components.AppLinearProgressIndicator
|
import io.legado.app.ui.widget.components.progressIndicator.AppLinearProgressIndicator
|
||||||
import io.legado.app.ui.widget.components.AppTextField
|
import io.legado.app.ui.widget.components.AppTextField
|
||||||
import io.legado.app.ui.widget.components.EmptyMessage
|
import io.legado.app.ui.widget.components.EmptyMessage
|
||||||
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ import io.legado.app.ui.book.info.ChangeSourceSheet
|
|||||||
import io.legado.app.ui.book.info.GroupSelectSheet
|
import io.legado.app.ui.book.info.GroupSelectSheet
|
||||||
import io.legado.app.ui.theme.LegadoTheme
|
import io.legado.app.ui.theme.LegadoTheme
|
||||||
import io.legado.app.ui.theme.adaptiveContentPadding
|
import io.legado.app.ui.theme.adaptiveContentPadding
|
||||||
import io.legado.app.ui.widget.components.AppLinearProgressIndicator
|
import io.legado.app.ui.widget.components.progressIndicator.AppLinearProgressIndicator
|
||||||
import io.legado.app.ui.widget.components.AppTextField
|
import io.legado.app.ui.widget.components.AppTextField
|
||||||
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
||||||
import io.legado.app.ui.widget.components.button.SmallTonalIconButton
|
import io.legado.app.ui.widget.components.button.SmallTonalIconButton
|
||||||
|
|||||||
@@ -331,13 +331,10 @@ fun SearchScreen(
|
|||||||
} else {
|
} else {
|
||||||
viewModel.onIntent(SearchIntent.LoadMore)
|
viewModel.onIntent(SearchIntent.LoadMore)
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
) {
|
icon = if (state.isSearching) Icons.Default.Stop else Icons.Default.PlayArrow,
|
||||||
AppIcon(
|
tooltipText = if (state.isSearching) stringResource(R.string.stop) else stringResource(R.string.start)
|
||||||
imageVector = if (state.isSearching) Icons.Default.Stop else Icons.Default.PlayArrow,
|
)
|
||||||
contentDescription = if (state.isSearching) stringResource(R.string.stop) else stringResource(R.string.start),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
) { paddingValues ->
|
) { paddingValues ->
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import androidx.compose.ui.unit.dp
|
|||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.data.entities.DictRule
|
import io.legado.app.data.entities.DictRule
|
||||||
import io.legado.app.ui.widget.components.AppFloatingActionButton
|
import io.legado.app.ui.widget.components.AppFloatingActionButton
|
||||||
import io.legado.app.ui.widget.components.icon.AppIcon
|
|
||||||
import io.legado.app.ui.widget.components.modalBottomSheet.AppModalBottomSheet
|
import io.legado.app.ui.widget.components.modalBottomSheet.AppModalBottomSheet
|
||||||
import io.legado.app.ui.widget.components.text.AppText
|
import io.legado.app.ui.widget.components.text.AppText
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@@ -161,10 +160,9 @@ fun DictRuleEditSheet(
|
|||||||
},
|
},
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.align(Alignment.BottomEnd)
|
.align(Alignment.BottomEnd)
|
||||||
.padding(16.dp)
|
.padding(16.dp),
|
||||||
) {
|
icon = Icons.Default.Save
|
||||||
AppIcon(Icons.Default.Save, contentDescription = "Save")
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -19,8 +19,6 @@ import androidx.compose.material.icons.filled.FileOpen
|
|||||||
import androidx.compose.material3.AlertDialog
|
import androidx.compose.material3.AlertDialog
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
|
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
|
||||||
import io.legado.app.ui.widget.components.AppFloatingActionButton
|
|
||||||
import androidx.compose.material3.Icon
|
|
||||||
import androidx.compose.material3.LoadingIndicator
|
import androidx.compose.material3.LoadingIndicator
|
||||||
import androidx.compose.material3.OutlinedButton
|
import androidx.compose.material3.OutlinedButton
|
||||||
import androidx.compose.material3.SnackbarHostState
|
import androidx.compose.material3.SnackbarHostState
|
||||||
@@ -52,6 +50,7 @@ import io.legado.app.data.entities.ReplaceRule
|
|||||||
import io.legado.app.ui.theme.adaptiveContentPadding
|
import io.legado.app.ui.theme.adaptiveContentPadding
|
||||||
import io.legado.app.ui.theme.adaptiveHorizontalPadding
|
import io.legado.app.ui.theme.adaptiveHorizontalPadding
|
||||||
import io.legado.app.ui.widget.components.ActionItem
|
import io.legado.app.ui.widget.components.ActionItem
|
||||||
|
import io.legado.app.ui.widget.components.AppFloatingActionButton
|
||||||
import io.legado.app.ui.widget.components.DraggableSelectionHandler
|
import io.legado.app.ui.widget.components.DraggableSelectionHandler
|
||||||
import io.legado.app.ui.widget.components.GroupManageBottomSheet
|
import io.legado.app.ui.widget.components.GroupManageBottomSheet
|
||||||
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
||||||
@@ -335,10 +334,9 @@ fun ReplaceRuleScreen(
|
|||||||
onClick = {
|
onClick = {
|
||||||
onNavigateToEdit(ReplaceEditRoute(id = -1))
|
onNavigateToEdit(ReplaceEditRoute(id = -1))
|
||||||
},
|
},
|
||||||
tooltipText = "Localized description"
|
tooltipText = stringResource(R.string.add),
|
||||||
) {
|
icon = Icons.Default.Add
|
||||||
AppIcon(Icons.Default.Add, contentDescription = "Add Rule")
|
)
|
||||||
}
|
|
||||||
},
|
},
|
||||||
snackbarHostState = snackbarHostState,
|
snackbarHostState = snackbarHostState,
|
||||||
dropDownMenuContent = { dismiss ->
|
dropDownMenuContent = { dismiss ->
|
||||||
@@ -456,4 +454,3 @@ fun ReplaceRuleScreen(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,6 +42,8 @@ import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
|
|||||||
import androidx.compose.material3.ExposedDropdownMenuAnchorType
|
import androidx.compose.material3.ExposedDropdownMenuAnchorType
|
||||||
import androidx.compose.material3.ExposedDropdownMenuBox
|
import androidx.compose.material3.ExposedDropdownMenuBox
|
||||||
import androidx.compose.material3.ExposedDropdownMenuDefaults
|
import androidx.compose.material3.ExposedDropdownMenuDefaults
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import io.legado.app.R
|
||||||
import io.legado.app.ui.widget.components.AppFloatingActionButton
|
import io.legado.app.ui.widget.components.AppFloatingActionButton
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.IconButton
|
import androidx.compose.material3.IconButton
|
||||||
@@ -162,10 +164,9 @@ fun ReplaceEditScreen(
|
|||||||
alignment = Alignment.BottomEnd,
|
alignment = Alignment.BottomEnd,
|
||||||
),
|
),
|
||||||
onClick = { viewModel.save(onSaveSuccess) },
|
onClick = { viewModel.save(onSaveSuccess) },
|
||||||
tooltipText = "添加"
|
tooltipText = stringResource(R.string.action_save),
|
||||||
) {
|
icon = Icons.Default.Save
|
||||||
AppIcon(Icons.Default.Save, contentDescription = "保存")
|
)
|
||||||
}
|
|
||||||
}, contentWindowInsets = WindowInsets(0, 0, 0, 0)
|
}, contentWindowInsets = WindowInsets(0, 0, 0, 0)
|
||||||
) { innerPadding ->
|
) { innerPadding ->
|
||||||
Box(
|
Box(
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ import io.legado.app.ui.association.ImportBookSourceDialog
|
|||||||
import io.legado.app.ui.association.ImportReplaceRuleDialog
|
import io.legado.app.ui.association.ImportReplaceRuleDialog
|
||||||
import io.legado.app.ui.association.ImportRssSourceDialog
|
import io.legado.app.ui.association.ImportRssSourceDialog
|
||||||
import io.legado.app.ui.theme.LegadoTheme
|
import io.legado.app.ui.theme.LegadoTheme
|
||||||
|
import io.legado.app.ui.theme.adaptiveContentPadding
|
||||||
import io.legado.app.ui.widget.components.AppTextField
|
import io.legado.app.ui.widget.components.AppTextField
|
||||||
import io.legado.app.ui.widget.components.EmptyMessage
|
import io.legado.app.ui.widget.components.EmptyMessage
|
||||||
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
||||||
@@ -107,10 +108,9 @@ fun RuleSubScreen(
|
|||||||
onClick = {
|
onClick = {
|
||||||
showEditDialog = RuleSub(customOrder = state.items.size + 1)
|
showEditDialog = RuleSub(customOrder = state.items.size + 1)
|
||||||
},
|
},
|
||||||
tooltipText = "Localized description"
|
tooltipText = stringResource(R.string.add),
|
||||||
) {
|
icon = Icons.Default.Add
|
||||||
Icon(Icons.Default.Add, contentDescription = "Add Rule")
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
) { paddingValues ->
|
) { paddingValues ->
|
||||||
if (state.items.isEmpty()) {
|
if (state.items.isEmpty()) {
|
||||||
@@ -129,7 +129,10 @@ fun RuleSubScreen(
|
|||||||
val typeArray = stringArrayResource(R.array.rule_type)
|
val typeArray = stringArrayResource(R.array.rule_type)
|
||||||
LazyColumn(
|
LazyColumn(
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
contentPadding = paddingValues,
|
contentPadding = adaptiveContentPadding(
|
||||||
|
top = paddingValues.calculateTopPadding(),
|
||||||
|
bottom = paddingValues.calculateBottomPadding() + 120.dp
|
||||||
|
),
|
||||||
verticalArrangement = Arrangement.spacedBy(8.dp)
|
verticalArrangement = Arrangement.spacedBy(8.dp)
|
||||||
) {
|
) {
|
||||||
items(state.items, key = { it.id }) { ruleSub ->
|
items(state.items, key = { it.id }) { ruleSub ->
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package io.legado.app.ui.widget.components
|
|||||||
|
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.FloatingActionButton
|
import androidx.compose.material3.FloatingActionButton
|
||||||
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.PlainTooltip
|
import androidx.compose.material3.PlainTooltip
|
||||||
import androidx.compose.material3.TooltipAnchorPosition
|
import androidx.compose.material3.TooltipAnchorPosition
|
||||||
import androidx.compose.material3.TooltipBox
|
import androidx.compose.material3.TooltipBox
|
||||||
@@ -10,10 +11,13 @@ import androidx.compose.material3.rememberTooltipState
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
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.graphics.vector.ImageVector
|
||||||
import io.legado.app.ui.theme.LegadoTheme
|
import io.legado.app.ui.theme.LegadoTheme
|
||||||
import io.legado.app.ui.theme.ThemeResolver
|
import io.legado.app.ui.theme.ThemeResolver
|
||||||
|
import io.legado.app.ui.widget.components.icon.AppIcon
|
||||||
import io.legado.app.ui.widget.components.text.AppText
|
import io.legado.app.ui.widget.components.text.AppText
|
||||||
import top.yukonga.miuix.kmp.basic.FloatingActionButton as MiuixFloatingActionButton
|
import top.yukonga.miuix.kmp.basic.FloatingActionButton as MiuixFloatingActionButton
|
||||||
|
import top.yukonga.miuix.kmp.basic.Icon as MiuixIcon
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
@@ -21,17 +25,37 @@ fun AppFloatingActionButton(
|
|||||||
onClick: () -> Unit,
|
onClick: () -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
tooltipText: String? = null,
|
tooltipText: String? = null,
|
||||||
|
icon: ImageVector? = null,
|
||||||
containerColor: Color = LegadoTheme.colorScheme.primaryContainer,
|
containerColor: Color = LegadoTheme.colorScheme.primaryContainer,
|
||||||
contentColor: Color = LegadoTheme.colorScheme.onPrimaryContainer,
|
contentColor: Color = LegadoTheme.colorScheme.onPrimaryContainer,
|
||||||
content: @Composable () -> Unit
|
content: (@Composable () -> Unit)? = null
|
||||||
) {
|
) {
|
||||||
val isMiuix = ThemeResolver.isMiuixEngine(LegadoTheme.composeEngine)
|
val isMiuix = ThemeResolver.isMiuixEngine(LegadoTheme.composeEngine)
|
||||||
|
val fabContent: @Composable () -> Unit = {
|
||||||
|
if (icon != null) {
|
||||||
|
if (isMiuix){
|
||||||
|
MiuixIcon(
|
||||||
|
imageVector = icon,
|
||||||
|
contentDescription = tooltipText,
|
||||||
|
tint = Color.White
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
Icon(
|
||||||
|
imageVector = icon,
|
||||||
|
contentDescription = tooltipText
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
content?.invoke()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isMiuix) {
|
if (isMiuix) {
|
||||||
MiuixFloatingActionButton(
|
MiuixFloatingActionButton(
|
||||||
onClick = onClick,
|
onClick = onClick,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
content = content
|
content = fabContent
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
if (tooltipText != null) {
|
if (tooltipText != null) {
|
||||||
@@ -47,7 +71,7 @@ fun AppFloatingActionButton(
|
|||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
containerColor = containerColor,
|
containerColor = containerColor,
|
||||||
contentColor = contentColor,
|
contentColor = contentColor,
|
||||||
content = content
|
content = fabContent
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -56,7 +80,7 @@ fun AppFloatingActionButton(
|
|||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
containerColor = containerColor,
|
containerColor = containerColor,
|
||||||
contentColor = contentColor,
|
contentColor = contentColor,
|
||||||
content = content
|
content = fabContent
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
package io.legado.app.ui.widget.components
|
|
||||||
|
|
||||||
import androidx.compose.runtime.Composable
|
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import io.legado.app.ui.theme.LegadoTheme.composeEngine
|
|
||||||
import io.legado.app.ui.theme.ThemeResolver
|
|
||||||
// 这里建议使用 as 关键字为两个库的控件起别名,避免同名冲突
|
|
||||||
import androidx.compose.material3.LinearProgressIndicator
|
|
||||||
// 请替换为实际的 MIUIX 控件包名
|
|
||||||
import top.yukonga.miuix.kmp.basic.LinearProgressIndicator as MiuixLinearProgressIndicator
|
|
||||||
|
|
||||||
@Composable
|
|
||||||
fun AppLinearProgressIndicator(
|
|
||||||
modifier: Modifier = Modifier,
|
|
||||||
progress: Float? = null,
|
|
||||||
) {
|
|
||||||
if (ThemeResolver.isMiuixEngine(composeEngine)) {
|
|
||||||
MiuixLinearProgressIndicator(
|
|
||||||
modifier = modifier,
|
|
||||||
progress = progress
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
if (progress != null) {
|
|
||||||
LinearProgressIndicator(
|
|
||||||
progress = { progress },
|
|
||||||
modifier = modifier
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
LinearProgressIndicator(
|
|
||||||
modifier = modifier
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -14,7 +14,7 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.legado.app.ui.theme.LegadoTheme
|
import io.legado.app.ui.theme.LegadoTheme
|
||||||
import io.legado.app.ui.widget.components.AppLinearProgressIndicator
|
import io.legado.app.ui.widget.components.progressIndicator.AppLinearProgressIndicator
|
||||||
import io.legado.app.ui.widget.components.card.TextCard
|
import io.legado.app.ui.widget.components.card.TextCard
|
||||||
|
|
||||||
@OptIn(ExperimentalSharedTransitionApi::class)
|
@OptIn(ExperimentalSharedTransitionApi::class)
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import androidx.compose.material.icons.filled.Add
|
|||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
|
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
|
||||||
import androidx.compose.material3.FloatingToolbarDefaults.ScreenOffset
|
import androidx.compose.material3.FloatingToolbarDefaults.ScreenOffset
|
||||||
import androidx.compose.material3.Icon
|
|
||||||
import androidx.compose.material3.SnackbarHost
|
import androidx.compose.material3.SnackbarHost
|
||||||
import androidx.compose.material3.SnackbarHostState
|
import androidx.compose.material3.SnackbarHostState
|
||||||
import androidx.compose.material3.animateFloatingActionButton
|
import androidx.compose.material3.animateFloatingActionButton
|
||||||
@@ -64,10 +63,9 @@ fun <T> ListScaffold(
|
|||||||
visible = state.selectedIds.isEmpty(),
|
visible = state.selectedIds.isEmpty(),
|
||||||
alignment = Alignment.BottomEnd,
|
alignment = Alignment.BottomEnd,
|
||||||
),
|
),
|
||||||
tooltipText = "添加"
|
tooltipText = "添加",
|
||||||
) {
|
icon = Icons.Default.Add
|
||||||
Icon(Icons.Default.Add, contentDescription = "Add")
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
snackbarHostState: SnackbarHostState = remember { SnackbarHostState() },
|
snackbarHostState: SnackbarHostState = remember { SnackbarHostState() },
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ import io.legado.app.ui.theme.LegadoTheme
|
|||||||
import io.legado.app.ui.widget.components.AppFloatingActionButton
|
import io.legado.app.ui.widget.components.AppFloatingActionButton
|
||||||
import io.legado.app.ui.widget.components.AppTextField
|
import io.legado.app.ui.widget.components.AppTextField
|
||||||
import io.legado.app.ui.widget.components.button.MediumIconButton
|
import io.legado.app.ui.widget.components.button.MediumIconButton
|
||||||
import io.legado.app.ui.widget.components.icon.AppIcon
|
|
||||||
import io.legado.app.ui.widget.components.menuItem.RoundDropdownMenu
|
import io.legado.app.ui.widget.components.menuItem.RoundDropdownMenu
|
||||||
import io.legado.app.ui.widget.components.menuItem.RoundDropdownMenuItem
|
import io.legado.app.ui.widget.components.menuItem.RoundDropdownMenuItem
|
||||||
import io.legado.app.ui.widget.components.modalBottomSheet.AppModalBottomSheet
|
import io.legado.app.ui.widget.components.modalBottomSheet.AppModalBottomSheet
|
||||||
@@ -164,10 +163,9 @@ fun <T> RuleEditSheet(
|
|||||||
onClick = { onSave(getCurrentEntity()) },
|
onClick = { onSave(getCurrentEntity()) },
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.align(Alignment.BottomEnd)
|
.align(Alignment.BottomEnd)
|
||||||
.padding(16.dp)
|
.padding(16.dp),
|
||||||
) {
|
icon = Icons.Default.Save
|
||||||
AppIcon(Icons.Default.Save, contentDescription = "Save")
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -29,6 +29,7 @@ import io.legado.app.ui.widget.components.ActionItem
|
|||||||
import io.legado.app.ui.widget.components.AppFloatingActionButton
|
import io.legado.app.ui.widget.components.AppFloatingActionButton
|
||||||
import io.legado.app.ui.widget.components.SelectionActions
|
import io.legado.app.ui.widget.components.SelectionActions
|
||||||
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
import io.legado.app.ui.widget.components.alert.AppAlertDialog
|
||||||
|
import io.legado.app.ui.widget.components.icon.AppIcon
|
||||||
import io.legado.app.ui.widget.components.list.ListScaffold
|
import io.legado.app.ui.widget.components.list.ListScaffold
|
||||||
import io.legado.app.ui.widget.components.list.ListUiState
|
import io.legado.app.ui.widget.components.list.ListUiState
|
||||||
import io.legado.app.ui.widget.components.text.AppText
|
import io.legado.app.ui.widget.components.text.AppText
|
||||||
@@ -61,10 +62,9 @@ fun <T> RuleListScaffold(
|
|||||||
visible = state.selectedIds.isEmpty(),
|
visible = state.selectedIds.isEmpty(),
|
||||||
alignment = Alignment.BottomEnd,
|
alignment = Alignment.BottomEnd,
|
||||||
),
|
),
|
||||||
tooltipText = "添加"
|
tooltipText = "添加",
|
||||||
) {
|
icon = Icons.Default.Add
|
||||||
Icon(Icons.Default.Add, contentDescription = "Add")
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
snackbarHostState: SnackbarHostState,
|
snackbarHostState: SnackbarHostState,
|
||||||
|
|||||||
Reference in new issue
Block a user