Просмотр исходного кода

fix(rules): reset edit sheets between additions

HapeLee 4 месяцев назад
Родитель
Сommit
cda772f835

+ 5 - 5
app/src/main/java/io/legado/app/ui/highlightTagRule/HighlightTagRuleEditSheet.kt

@@ -54,15 +54,15 @@ fun HighlightTagRuleEditSheet(
     val scope = rememberCoroutineScope()
     val scope = rememberCoroutineScope()
 
 
     val isNew = rule == null || rule.id == 0L
     val isNew = rule == null || rule.id == 0L
-    val initial = remember(rule) {
+    val initial = remember(show, rule) {
         rule ?: HighlightTagRule()
         rule ?: HighlightTagRule()
     }
     }
 
 
-    var title by remember(initial) { mutableStateOf(initial.title) }
-    var pattern by remember(initial) { mutableStateOf(initial.pattern) }
-    var enabled by remember(initial) { mutableStateOf(initial.enabled) }
+    var title by remember(show, rule) { mutableStateOf(initial.title) }
+    var pattern by remember(show, rule) { mutableStateOf(initial.pattern) }
+    var enabled by remember(show, rule) { mutableStateOf(initial.enabled) }
 
 
-    var showMenu by remember { mutableStateOf(false) }
+    var showMenu by remember(show, rule) { mutableStateOf(false) }
 
 
     fun getCurrentRule(): HighlightTagRule {
     fun getCurrentRule(): HighlightTagRule {
         return initial.copy(
         return initial.copy(

+ 4 - 4
app/src/main/java/io/legado/app/ui/tagGroupRule/TagGroupRuleEditSheet.kt

@@ -49,13 +49,13 @@ fun TagGroupRuleEditSheet(
     val scope = rememberCoroutineScope()
     val scope = rememberCoroutineScope()
 
 
     val isNew = rule == null || rule.id == 0L
     val isNew = rule == null || rule.id == 0L
-    val initial = remember(rule) {
+    val initial = remember(show, rule) {
         rule ?: TagGroupRule()
         rule ?: TagGroupRule()
     }
     }
 
 
-    var pattern by remember(initial) { mutableStateOf(initial.pattern) }
-    var groupName by remember(initial) { mutableStateOf(initial.groupName) }
-    var showMenu by remember { mutableStateOf(false) }
+    var pattern by remember(show, rule) { mutableStateOf(initial.pattern) }
+    var groupName by remember(show, rule) { mutableStateOf(initial.groupName) }
+    var showMenu by remember(show, rule) { mutableStateOf(false) }
 
 
     fun getCurrentRule(): TagGroupRule {
     fun getCurrentRule(): TagGroupRule {
         return initial.copy(
         return initial.copy(

+ 5 - 5
app/src/main/java/io/legado/app/ui/widget/components/rules/RuleEditSheet.kt

@@ -62,12 +62,12 @@ fun <T> RuleEditSheet(
 ) {
 ) {
     val scope = rememberCoroutineScope()
     val scope = rememberCoroutineScope()
 
 
-    val initialFields = remember(rule) { toFields(rule) }
-    var name by remember(initialFields) { mutableStateOf(initialFields.name) }
-    var rule1 by remember(initialFields) { mutableStateOf(initialFields.rule1) }
-    var rule2 by remember(initialFields) { mutableStateOf(initialFields.rule2) }
+    val initialFields = remember(show, rule) { toFields(rule) }
+    var name by remember(show, rule) { mutableStateOf(initialFields.name) }
+    var rule1 by remember(show, rule) { mutableStateOf(initialFields.rule1) }
+    var rule2 by remember(show, rule) { mutableStateOf(initialFields.rule2) }
 
 
-    var showMenu by remember { mutableStateOf(false) }
+    var showMenu by remember(show, rule) { mutableStateOf(false) }
 
 
     fun getCurrentEntity() = fromFields(RuleEditFields(name, rule1, rule2), rule)
     fun getCurrentEntity() = fromFields(RuleEditFields(name, rule1, rule2), rule)