@@ -3,7 +3,6 @@ package com.sakethh.linkora.ui.components
33import androidx.compose.animation.animateContentSize
44import androidx.compose.foundation.background
55import androidx.compose.foundation.layout.Arrangement
6- import androidx.compose.foundation.layout.Box
76import androidx.compose.foundation.layout.Column
87import androidx.compose.foundation.layout.PaddingValues
98import androidx.compose.foundation.layout.Row
@@ -13,16 +12,15 @@ import androidx.compose.foundation.layout.fillMaxWidth
1312import androidx.compose.foundation.layout.height
1413import androidx.compose.foundation.layout.imePadding
1514import androidx.compose.foundation.layout.padding
16- import androidx.compose.foundation.layout.width
1715import androidx.compose.foundation.layout.wrapContentSize
16+ import androidx.compose.foundation.rememberScrollState
1817import androidx.compose.foundation.shape.RoundedCornerShape
18+ import androidx.compose.foundation.verticalScroll
1919import androidx.compose.material.icons.Icons
2020import androidx.compose.material.icons.filled.Close
21- import androidx.compose.material.icons.filled.Tag
2221import androidx.compose.material3.AlertDialogDefaults
2322import androidx.compose.material3.BasicAlertDialog
2423import androidx.compose.material3.Button
25- import androidx.compose.material3.ButtonDefaults
2624import androidx.compose.material3.ExperimentalMaterial3Api
2725import androidx.compose.material3.Icon
2826import androidx.compose.material3.IconButton
@@ -60,8 +58,6 @@ import com.sakethh.linkora.ui.PageKey
6058import com.sakethh.linkora.ui.components.menu.MenuBtmSheetType
6159import com.sakethh.linkora.ui.components.menu.menuBtmSheetFolderEntries
6260import com.sakethh.linkora.ui.domain.PaginationState
63- import com.sakethh.linkora.ui.utils.UIEvent
64- import com.sakethh.linkora.ui.utils.UIEvent.pushUIEvent
6561import com.sakethh.linkora.ui.utils.pressScaleEffect
6662import com.sakethh.linkora.ui.utils.rememberDeserializableMutableObject
6763import com.sakethh.linkora.utils.rememberLocalizedString
@@ -88,7 +84,7 @@ data class RenameFolderOrLinkDialogParam @OptIn(ExperimentalMaterial3Api::class)
8884fun RenameFolderOrLinkDialog (
8985 renameFolderOrLinkDialogParam : RenameFolderOrLinkDialogParam
9086) {
91- val coroutineScope = rememberCoroutineScope()
87+ rememberCoroutineScope()
9288 if (renameFolderOrLinkDialogParam.showDialogBox) {
9389 var selectedTags by rememberDeserializableMutableObject {
9490 mutableStateOf(renameFolderOrLinkDialogParam.selectedTags)
@@ -108,6 +104,7 @@ fun RenameFolderOrLinkDialog(
108104 bottom = 15 .dp,
109105 top = if (platform() == Platform .Android .Mobile ) 0 .dp else 15 .dp
110106 )
107+ .fillMaxWidth().verticalScroll(rememberScrollState())
111108 ) {
112109 Row (
113110 verticalAlignment = Alignment .CenterVertically ,
@@ -195,60 +192,23 @@ fun RenameFolderOrLinkDialog(
195192 fontSize = 18 .sp,
196193 modifier = Modifier .padding(start = 15 .dp, top = 15 .dp, bottom = 10 .dp)
197194 )
198- Box (
199- modifier = Modifier .animateContentSize()
200- .height(345 .dp)
201- .fillMaxWidth()
202- ) {
203- Column (modifier = Modifier .align(Alignment .BottomCenter )) {
204- OutlinedButton (
205- shape = RoundedCornerShape (bottomStart = 25 .dp, bottomEnd = 25 .dp),
206- modifier = Modifier .pointerHoverIcon(icon = PointerIcon .Hand )
207- .padding(
208- end = 15 .dp,
209- start = 15 .dp,
210- ).height(ButtonDefaults .MinHeight + 30 .dp).fillMaxWidth(),
211- onClick = {
212- coroutineScope.pushUIEvent(UIEvent .Type .ShowCreateTagBtmSheet )
213- }
214- ) {
215- Box (
216- modifier = Modifier .fillMaxSize().padding(bottom = 5 .dp),
217- contentAlignment = Alignment .BottomCenter
218- ) {
219- Row (verticalAlignment = Alignment .CenterVertically ) {
220- Icon (
221- imageVector = Icons .Default .Tag ,
222- contentDescription = null
223- )
224- Spacer (Modifier .width(5 .dp))
225- Text (
226- text = Localization .Key .CreateANewTag .rememberLocalizedString(),
227- style = MaterialTheme .typography.titleSmall,
228- fontSize = 16 .sp
229- )
230- }
195+ TagSelectionComponent (
196+ paddingValues = PaddingValues (start = 15 .dp, end = 15 .dp),
197+ allTags = renameFolderOrLinkDialogParam.allTags.value,
198+ selectedTags = selectedTags,
199+ onTagClick = { currTag ->
200+ if (selectedTags.contains(currTag)) {
201+ selectedTags = selectedTags.filterNot {
202+ currTag == it
231203 }
204+ } else {
205+ selectedTags + = currTag
232206 }
233- }
234- TagSelectionComponent (
235- paddingValues = PaddingValues (start = 15 .dp, end = 15 .dp),
236- allTags = renameFolderOrLinkDialogParam.allTags.value,
237- selectedTags = selectedTags,
238- onTagClick = { currTag ->
239- if (selectedTags.contains(currTag)) {
240- selectedTags = selectedTags.filterNot {
241- currTag == it
242- }
243- } else {
244- selectedTags + = currTag
245- }
246- },
247- onRetrieveNextTagsPage = renameFolderOrLinkDialogParam.onRetrieveNextTagsPage,
248- onFirstVisibleIndexChange = {
249- renameFolderOrLinkDialogParam.onFirstVisibleIndexChange(it)
250- })
251- }
207+ },
208+ onRetrieveNextTagsPage = renameFolderOrLinkDialogParam.onRetrieveNextTagsPage,
209+ onFirstVisibleIndexChange = {
210+ renameFolderOrLinkDialogParam.onFirstVisibleIndexChange(it)
211+ })
252212 }
253213
254214 if (showProgressBar) {
@@ -264,7 +224,6 @@ fun RenameFolderOrLinkDialog(
264224
265225 return @Column
266226 }
267-
268227 Spacer (modifier = Modifier .height(10 .dp))
269228 Button (
270229 modifier = Modifier .padding(
0 commit comments