Skip to content

Commit

Permalink
♻️ :: Refactor Main Module Component(Use "by" Keyword, Destructuring …
Browse files Browse the repository at this point in the history
…Declaration)
  • Loading branch information
audgns10 committed Aug 14, 2024
1 parent ac1474a commit d5add96
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 17 deletions.
20 changes: 11 additions & 9 deletions feature/main/src/main/java/com/msg/main/component/AddFaqItem.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@ import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
Expand All @@ -34,9 +36,9 @@ internal fun AddFaqItem(
onAnswerValueChanged: (String) -> Unit,
onAddClicked: () -> Unit
) {
val isSelected = remember { mutableStateOf(false) }
val questionHintVisible = remember { derivedStateOf { questionValue.isEmpty() } }
val answerHintVisible = remember { derivedStateOf { answerValue.isEmpty() } }
val (isSelected, setIsSelected) = rememberSaveable { mutableStateOf(false) }
val questionHintVisible by remember { derivedStateOf { questionValue.isEmpty() } }
val answerHintVisible by remember { derivedStateOf { answerValue.isEmpty() } }
val interactionSource = remember { MutableInteractionSource() }

BitgoeulAndroidTheme { colors, typography ->
Expand All @@ -56,14 +58,14 @@ internal fun AddFaqItem(
)
) {
Spacer(modifier = modifier.height(16.dp))
if (!isSelected.value) {
if (!isSelected) {
Text(
modifier = modifier
.clickable(
indication = null,
interactionSource = interactionSource
) {
isSelected.value = true
setIsSelected(true)
}
.padding(horizontal = 20.dp),
text = "+ 자주 묻는 질문 추가하기",
Expand All @@ -82,7 +84,7 @@ internal fun AddFaqItem(
style = typography.bodySmall,
color = colors.P5
)
if (questionHintVisible.value) Text(
if (questionHintVisible) Text(
text = "질문 작성하기",
style = typography.bodySmall,
color = colors.G1
Expand Down Expand Up @@ -110,7 +112,7 @@ internal fun AddFaqItem(
style = typography.bodySmall,
color = colors.P5
)
if (answerHintVisible.value) Text(
if (answerHintVisible) Text(
text = "답변 작성하기",
style = typography.bodySmall,
color = colors.G1
Expand All @@ -136,7 +138,7 @@ internal fun AddFaqItem(
indication = null,
interactionSource = interactionSource
) {
isSelected.value = false
setIsSelected(false)
},
text = "취소",
style = typography.bodySmall,
Expand All @@ -150,7 +152,7 @@ internal fun AddFaqItem(
interactionSource = interactionSource
) {
onAddClicked()
isSelected.value = false
setIsSelected(false)
},
text = "작성",
style = typography.bodySmall,
Expand Down
10 changes: 6 additions & 4 deletions feature/main/src/main/java/com/msg/main/component/FaqItem.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ import androidx.compose.material3.ElevatedCard
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.buildAnnotatedString
Expand All @@ -30,7 +32,7 @@ internal fun FaqItem(
modifier: Modifier = Modifier,
data: GetFrequentlyAskedQuestionDetailEntity
) {
val isSelected = remember { mutableStateOf(false) }
var isSelected by rememberSaveable { mutableStateOf(false) }

BitgoeulAndroidTheme { colors, _ ->
ElevatedCard(
Expand All @@ -46,7 +48,7 @@ internal fun FaqItem(
shape = RoundedCornerShape(12.dp)
)
.clickable {
isSelected.value = !isSelected.value
isSelected = !isSelected
}
) {
Spacer(modifier = modifier.height(16.dp))
Expand Down Expand Up @@ -75,7 +77,7 @@ internal fun FaqItem(
}
}
)
if (isSelected.value) {
if (isSelected) {
Spacer(modifier = modifier.height(12.dp))
HorizontalDivider(
modifier = modifier.padding(horizontal = 13.dp),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ internal fun AutoSchoolClubGridView(
}
}
}

}
}

Expand Down Expand Up @@ -102,9 +101,10 @@ private fun List<String>.getActualList(): List<List<String>> {
@Composable
private fun String.getClubChipWidth(): Dp {
val width = remember { mutableStateOf(0.dp) }
val shouldShowCompose = remember { mutableStateOf(true) }
val (shouldShowCompose, setShouldShowCompose) = remember { mutableStateOf(true) }
val density = LocalDensity.current
if (shouldShowCompose.value) {

if (shouldShowCompose) {
ClubChipView(
clubName = this,
modifier = Modifier.onGloballyPositioned {
Expand All @@ -113,7 +113,7 @@ private fun String.getClubChipWidth(): Dp {
}
)
}
shouldShowCompose.value = false
setShouldShowCompose(false)
return width.value
}

Expand Down

0 comments on commit d5add96

Please sign in to comment.