1
1
package com.stackknowledge.shop.component
2
2
3
+ import android.util.Log
3
4
import androidx.compose.foundation.background
4
5
import androidx.compose.foundation.layout.Box
5
6
import androidx.compose.foundation.layout.Column
@@ -13,15 +14,18 @@ import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
13
14
import androidx.compose.foundation.lazy.grid.items
14
15
import androidx.compose.material3.Text
15
16
import androidx.compose.runtime.Composable
17
+ import androidx.compose.runtime.LaunchedEffect
16
18
import androidx.compose.runtime.mutableStateOf
17
19
import androidx.compose.runtime.remember
18
20
import androidx.compose.ui.Alignment
19
21
import androidx.compose.ui.Modifier
22
+ import androidx.compose.ui.platform.LocalContext
20
23
import androidx.compose.ui.res.stringResource
21
24
import androidx.compose.ui.tooling.preview.Preview
22
25
import androidx.compose.ui.unit.dp
23
26
import com.stackknowledge.design_system.R
24
27
import com.stackknowledge.design_system.component.button.StackKnowledgeButton
28
+ import com.stackknowledge.design_system.component.button.enumclass.ButtonState
25
29
import com.stackknowledge.design_system.theme.StackKnowledgeAndroidTheme
26
30
import com.stackknowledge.shop.data.SelectedItemData
27
31
import com.stackknowledge.shop.viewmodel.uistate.GetItemUiState
@@ -37,6 +41,7 @@ fun GoodsList(
37
41
) {
38
42
val selectedDisplayItemList = remember { mutableListOf<GetItemResponseModel >() }
39
43
val isBottomSheetVisible = remember { mutableStateOf(false ) }
44
+ val isButtonState = remember { mutableStateOf(ButtonState .DISABLED ) }
40
45
41
46
StackKnowledgeAndroidTheme { colors, typography ->
42
47
Column (
@@ -71,11 +76,21 @@ fun GoodsList(
71
76
itemData = item,
72
77
onItemCheckButtonClick = { selectedItem ->
73
78
selectedDisplayItemList.add(selectedItem)
79
+ isButtonState.value = if (selectedDisplayItemList.isEmpty()) {
80
+ ButtonState .DISABLED
81
+ } else {
82
+ ButtonState .ACTIVATE
83
+ }
74
84
},
75
85
onItemUnCheckButtonClick = { unselectedItem ->
76
86
selectedDisplayItemList.removeIf { selectedItemListElement ->
77
87
selectedItemListElement.id == unselectedItem.id
78
88
}
89
+ isButtonState.value = if (selectedDisplayItemList.isEmpty()) {
90
+ ButtonState .DISABLED
91
+ } else {
92
+ ButtonState .ACTIVATE
93
+ }
79
94
}
80
95
)
81
96
}
@@ -106,24 +121,24 @@ fun GoodsList(
106
121
}
107
122
}
108
123
109
- Spacer (modifier = modifier.height(32 .dp))
124
+ Spacer (modifier = modifier.height(80 .dp))
110
125
111
126
Box (
112
127
modifier = modifier
113
128
.padding(horizontal = 16 .dp),
114
129
) {
115
130
StackKnowledgeButton (
116
- text = stringResource(id = R .string.select ),
131
+ text = stringResource(id = R .string.purchase ),
117
132
modifier = modifier
118
133
.height(60 .dp),
119
- onClick = {
120
- onSelectButtonClick(selectedDisplayItemList)
121
- isBottomSheetVisible.value = true
122
- }
123
- )
134
+ enable = isButtonState.value
135
+ ) {
136
+ onSelectButtonClick(selectedDisplayItemList)
137
+ isBottomSheetVisible.value = true
138
+ }
124
139
}
125
140
126
- Spacer (modifier = modifier.height(100 .dp))
141
+ Spacer (modifier = modifier.height(28 .dp))
127
142
}
128
143
129
144
if (isBottomSheetVisible.value) {
0 commit comments