@@ -41,6 +41,7 @@ import androidx.compose.ui.platform.LocalContext
41
41
import androidx.compose.ui.res.stringResource
42
42
import androidx.compose.ui.unit.dp
43
43
import com.yogeshpaliyal.deepr.DeeprQueries
44
+ import com.yogeshpaliyal.deepr.GetLinksAndTags
44
45
import com.yogeshpaliyal.deepr.R
45
46
import com.yogeshpaliyal.deepr.Tags
46
47
import com.yogeshpaliyal.deepr.util.isValidDeeplink
@@ -59,14 +60,14 @@ import kotlin.text.clear
59
60
@Composable
60
61
fun HomeBottomContent (
61
62
deeprQueries : DeeprQueries ,
62
- saveDialogInfo : SaveDialogInfo ,
63
+ selectedLink : GetLinksAndTags ,
63
64
modifier : Modifier = Modifier ,
64
65
viewModel : AccountViewModel = koinInject(),
65
66
onSaveDialogInfoChange : ((SaveDialogInfo ? ) -> Unit ) = {},
66
67
) {
67
- var deeprInfo by remember(saveDialogInfo ) {
68
+ var deeprInfo by remember(selectedLink ) {
68
69
mutableStateOf(
69
- saveDialogInfo.deepr ,
70
+ selectedLink ,
70
71
)
71
72
}
72
73
var isError by remember { mutableStateOf(false ) }
@@ -76,16 +77,16 @@ fun HomeBottomContent(
76
77
val allTags by viewModel.allTags.collectAsState()
77
78
val selectedTags = remember { mutableStateListOf<Tags >() }
78
79
val initialSelectedTags = remember { mutableStateListOf<Tags >() }
79
- val isCreate = saveDialogInfo.deepr .id == 0L
80
+ val isCreate = selectedLink .id == 0L
80
81
81
82
// Initialize selected tags if in edit mode
82
83
LaunchedEffect (isCreate) {
83
84
if (isCreate.not ()) {
84
85
val existingTags =
85
- saveDialogInfo.deepr .tagsIds?.split(" ," )?.mapIndexed { index, tagId ->
86
+ selectedLink .tagsIds?.split(" ," )?.mapIndexed { index, tagId ->
86
87
Tags (
87
88
tagId.trim().toLong(),
88
- saveDialogInfo.deepr .tagsNames
89
+ selectedLink .tagsNames
89
90
?.split(" ," )
90
91
?.getOrNull(index)
91
92
?.trim()
@@ -101,7 +102,7 @@ fun HomeBottomContent(
101
102
}
102
103
}
103
104
104
- val save = {
105
+ val save: (executeAfterSave : Boolean ) -> Unit = { executeAfterSave ->
105
106
// Remove unselected tags
106
107
val initialTagIds = initialSelectedTags.map { it.id }.toSet()
107
108
val currentTagIds = selectedTags.map { it.id }.toSet()
@@ -123,12 +124,12 @@ fun HomeBottomContent(
123
124
124
125
if (deeprInfo.id == 0L ) {
125
126
// New Account
126
- viewModel.insertAccount(deeprInfo.link, deeprInfo.name, saveDialogInfo. executeAfterSave)
127
+ viewModel.insertAccount(deeprInfo.link, deeprInfo.name, executeAfterSave)
127
128
} else {
128
129
// Edit
129
130
viewModel.updateDeeplink(deeprInfo.id, deeprInfo.link, deeprInfo.name)
130
131
}
131
- onSaveDialogInfoChange(SaveDialogInfo (deeprInfo, saveDialogInfo. executeAfterSave))
132
+ onSaveDialogInfoChange(SaveDialogInfo (deeprInfo, executeAfterSave))
132
133
}
133
134
134
135
val context = LocalContext .current
@@ -315,7 +316,7 @@ fun HomeBottomContent(
315
316
Toast .LENGTH_SHORT ,
316
317
).show()
317
318
} else {
318
- save()
319
+ save(false )
319
320
}
320
321
} else {
321
322
isError = true
@@ -347,7 +348,7 @@ fun HomeBottomContent(
347
348
Toast .LENGTH_SHORT ,
348
349
).show()
349
350
} else {
350
- save()
351
+ save(true )
351
352
}
352
353
} else {
353
354
isError = true
0 commit comments