Skip to content

Commit

Permalink
[FIX/#250] 스크랩 다이얼로그 로직 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
arinming committed Sep 15, 2024
1 parent 4b7abff commit daa9dbe
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ private fun CalendarListScreen(
uiState: CalendarListUiState,
navigateToAnnouncement: (Long) -> Unit,
onDismissCancelDialog: (Boolean) -> Unit,
onDismissInternDialog: () -> Unit,
onDismissInternDialog: (Boolean) -> Unit,
onClickChangeColor: () -> Unit,
onClickInternship: (CalendarScrapDetail) -> Unit,
onClickScrapButton: (Long) -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ private fun CalendarWeekScreen(
selectedDate: LocalDate,
updateSelectedDate: (LocalDate) -> Unit,
onDismissCancelDialog: (Boolean) -> Unit,
onDismissInternDialog: () -> Unit,
onDismissInternDialog: (Boolean) -> Unit,
onClickChangeColor: () -> Unit,
onClickInternship: (CalendarScrapDetail) -> Unit,
onClickScrapButton: (Long) -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ fun ScrapDialog(
internshipAnnouncementId: Long,
companyImage: String,
isScrapped: Boolean,
onDismissRequest: () -> Unit = {},
onDismissRequest: (Boolean) -> Unit = {},
onScrapAnnouncement: () -> Unit = {},
onClickChangeColor: () -> Unit = {},
onClickNavigateButton: (Long) -> Unit = {},
viewModel: ScrapDialogViewModel = hiltViewModel()
viewModel: ScrapDialogViewModel = hiltViewModel(),
) {
val context = LocalContext.current
val lifecycleOwner = LocalLifecycleOwner.current
Expand All @@ -83,12 +83,12 @@ fun ScrapDialog(

is ScrapDialogSideEffect.DismissDialog -> {
viewModel.initUiState()
onDismissRequest()
onDismissRequest(false)
}

is ScrapDialogSideEffect.PatchedScrap -> {
onClickChangeColor()
onDismissRequest()
onDismissRequest(false)
}

is ScrapDialogSideEffect.NavigateToDetail -> onClickNavigateButton(
Expand All @@ -97,7 +97,7 @@ fun ScrapDialog(

is ScrapDialogSideEffect.ScrappedAnnouncement -> {
onScrapAnnouncement()
onDismissRequest()
onDismissRequest(true)
}
}
}
Expand Down Expand Up @@ -150,7 +150,7 @@ private fun ScrapDialogScreen(
onClickColorButton: (ColorType) -> Unit,
onClickNavigateButton: () -> Unit,
onClickColorChangeButton: () -> Unit,
onClickScrapButton: () -> Unit
onClickScrapButton: () -> Unit,
) {
Box(
modifier = Modifier
Expand Down Expand Up @@ -277,7 +277,7 @@ private fun ScrapDialogScreen(
@Composable
private fun NewScrapButton(
onClickScrapButton: () -> Unit,
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
) {
RoundButton(
style = TerningTheme.typography.button3,
Expand All @@ -294,7 +294,7 @@ private fun DetailScrapButton(
isColorChanged: Boolean,
onClickNavigateButton: () -> Unit,
onClickColorChangeButton: () -> Unit,
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
) {
Row(
modifier = modifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ fun InternScreen(
internUiState: InternUiState,
internInfo: InternInfo,
onDismissCancelDialog: (Boolean) -> Unit,
onDismissScrapDialog: () -> Unit,
onDismissScrapDialog: (Boolean) -> Unit,
onClickCancelButton: (InternInfo) -> Unit,
onClickScrapButton: (InternInfo) -> Unit,
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ fun SearchProcessRoute(
viewModel.getSearchList(
keyword = state.text,
page = 0,
size = 100
size = 0
)
}

Expand Down Expand Up @@ -109,23 +109,19 @@ fun SearchProcessRoute(
onSortButtonClick = {
viewModel.updateSheetVisible(true)
},
onDismissCancelDialog = {
viewModel.getSearchList(
keyword = state.keyword,
sortBy = state.sortBy.ordinal,
page = state.page,
size = state.size
)
onDismissScrapDialog = { isScrapped, searchResult ->
viewModel.updateScrapDialogVisible(false)
},
onDismissScrapDialog = {
viewModel.getSearchList(
keyword = state.keyword,
sortBy = state.sortBy.ordinal,
page = state.page,
size = state.size
viewModel.updateSearchResultScrapStatus(
searchResult.internshipAnnouncementId,
isScrapped
)
},
onDismissCancelDialog = { isScrapped, searchResult ->
viewModel.updateScrapDialogVisible(false)
viewModel.updateSearchResultScrapStatus(
searchResult.internshipAnnouncementId,
!isScrapped
)
},
onDismissSheet = {
viewModel.updateSheetVisible(false)
Expand Down Expand Up @@ -160,8 +156,8 @@ fun SearchProcessScreen(
updateText: (String) -> Unit = {},
onSearchAction: () -> Unit = {},
onSortButtonClick: () -> Unit = {},
onDismissCancelDialog: (Boolean) -> Unit,
onDismissScrapDialog: () -> Unit,
onDismissCancelDialog: (Boolean, SearchResult) -> Unit,
onDismissScrapDialog: (Boolean, SearchResult) -> Unit,
onDismissSheet: () -> Unit = {},
onScrapButtonClicked: (SearchResult) -> Unit,
onSortChange: (Int) -> Unit = {},
Expand Down Expand Up @@ -223,8 +219,6 @@ fun SearchProcessScreen(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {


Row(
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically,
Expand Down Expand Up @@ -270,7 +264,9 @@ fun SearchProcessScreen(
intern = internSearchResultData[index],
navigateToIntern = navigateToIntern,
onScrapButtonClicked = {
onScrapButtonClicked(internSearchResultData[index])
with(internSearchResultData[index]) {
onScrapButtonClicked(this)
}
}
)
}
Expand Down Expand Up @@ -338,7 +334,9 @@ fun SearchProcessScreen(
if (searchResult.isScrapped) {
ScrapCancelDialog(
internshipAnnouncementId = searchResult.internshipAnnouncementId,
onDismissRequest = onDismissCancelDialog
onDismissRequest = { isScrapped ->
onDismissCancelDialog(isScrapped, searchResult)
}
)
} else {
ScrapDialog(
Expand All @@ -350,7 +348,9 @@ fun SearchProcessScreen(
internshipAnnouncementId = searchResult.internshipAnnouncementId,
companyImage = searchResult.companyImage,
isScrapped = false,
onDismissRequest = onDismissScrapDialog,
onDismissRequest = { isScrapped ->
onDismissScrapDialog(isScrapped, searchResult)
}
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,4 +111,14 @@ class SearchProcessViewModel @Inject constructor(
size = 100
)
}

fun updateSearchResultScrapStatus(internshipId: Long, isScrapped: Boolean) {
_internSearchResultData.value = _internSearchResultData.value.map { searchResult ->
if (searchResult.internshipAnnouncementId == internshipId) {
searchResult.copy(isScrapped = isScrapped)
} else {
searchResult
}
}
}
}

0 comments on commit daa9dbe

Please sign in to comment.