Skip to content

Commit

Permalink
οΏ½[MERGE] #250 -> dev
Browse files Browse the repository at this point in the history
[FIX/#250] 탐색 λ·° / QA μˆ˜μ •μ‚¬ν•­ 반영
  • Loading branch information
arinming authored Sep 19, 2024
2 parents 6c2bf2d + edf7c63 commit 54e6bd8
Show file tree
Hide file tree
Showing 14 changed files with 287 additions and 192 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,8 @@ import androidx.compose.material3.Text
import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
Expand All @@ -36,10 +33,10 @@ fun SortingBottomSheet(
currentSortBy: Int,
modifier: Modifier = Modifier,
newSortBy: MutableState<Int> = mutableStateOf(currentSortBy),
onSortChange: (Int) -> Unit = {},
) {
val scope = rememberCoroutineScope()
val sheetState = rememberModalBottomSheetState()
var currentSortBy by remember { mutableStateOf(currentSortBy) }

TerningBasicBottomSheet(
content = {
Expand Down Expand Up @@ -75,6 +72,7 @@ fun SortingBottomSheet(
.padding(vertical = 12.dp)
.noRippleClickable {
newSortBy.value = sortIndex
onSortChange(sortIndex)
scope
.launch { sheetState.hide() }
.invokeOnCompletion {
Expand All @@ -87,7 +85,7 @@ fun SortingBottomSheet(
}
}
},
onDismissRequest = { onDismiss() },
onDismissRequest = onDismiss,
sheetState = sheetState
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.platform.LocalFocusManager
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.input.ImeAction
import com.terning.core.designsystem.theme.Grey300
import com.terning.core.designsystem.theme.Grey400
Expand All @@ -27,6 +28,7 @@ import com.terning.core.designsystem.theme.TerningTheme
@Composable
fun SearchTextField(
text: String = "",
textStyle: TextStyle = TerningTheme.typography.body2,
onValueChange: (String) -> Unit = {},
modifier: Modifier,
hint: String,
Expand All @@ -42,7 +44,7 @@ fun SearchTextField(
value = text,
onValueChange = onValueChange,
modifier = modifier,
textStyle = TerningTheme.typography.button3,
textStyle = textStyle,
textColor = Grey400,
cursorBrush = SolidColor(Grey300),
drawLineColor = TerningMain,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import kotlinx.serialization.Serializable
data class SearchResultResponseDto(
@SerialName("totalPages")
val totalPages: Int,
@SerialName("totalCount")
val totalCount: Int,
@SerialName("hasNext")
val hasNext: Boolean,
@SerialName("announcements")
Expand All @@ -16,21 +18,21 @@ data class SearchResultResponseDto(
data class SearchAnnouncementDto(
@SerialName("internshipAnnouncementId")
val internshipAnnouncementId: Long,
@SerialName("scrapId")
val scrapId: Long?,
@SerialName("dDay")
val dDay: String,
@SerialName("companyImage")
val companyImage: String,
@SerialName("title")
val title: String,
@SerialName("dDay")
val dDay: String,
@SerialName("workingPeriod")
val workingPeriod: String,
@SerialName("companyImage")
val companyImage: String,
@SerialName("isScrapped")
val isScrapped: Boolean,
@SerialName("deadline")
val deadline: String,
@SerialName("startYearMonth")
val startYearMonth: String,
@SerialName("color")
val color: String?,
@SerialName("deadline")
val deadline: String,
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ fun SearchResultResponseDto.toSearchResultList(): List<SearchResult> {
dDay = it.dDay,
workingPeriod = it.workingPeriod,
companyImage = it.companyImage,
scrapId = it.scrapId,
isScrapped = it.isScrapped,
deadline = it.deadline,
startYearMonth = it.startYearMonth,
color = it.color
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ data class SearchResult(
val dDay: String,
val workingPeriod: String,
val companyImage: String,
val scrapId: Long?,
val isScrapped: Boolean,
val deadline: String,
val startYearMonth: String,
val color: String?,
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ fun CalendarListRoute(
modifier: Modifier = Modifier,
navigateUp: () -> Unit,
navigateToAnnouncement: (Long) -> Unit,
viewModel: CalendarListViewModel = hiltViewModel()
viewModel: CalendarListViewModel = hiltViewModel(),
) {
val pagerState = LocalPagerState.current
val lifecycleOwner = LocalLifecycleOwner.current
Expand Down Expand Up @@ -130,7 +130,7 @@ private fun CalendarListScreen(
uiState: CalendarListUiState,
onClickInternship: (CalendarScrapDetail) -> Unit,
onClickScrapButton: (Long) -> Unit,
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
) {
HorizontalPager(
state = pagerState,
Expand Down Expand Up @@ -195,7 +195,7 @@ private fun CalendarListScreen(

@Composable
private fun CalendarListEmpty(
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
) {
Image(
painter = painterResource(
Expand All @@ -218,7 +218,7 @@ private fun CalendarListEmpty(
private fun CalendarListScrapCancelDialog(
scrapVisibility: Boolean,
internshipAnnouncementId: Long?,
onDismissCancelDialog: (Boolean) -> Unit
onDismissCancelDialog: (Boolean) -> Unit,
) {
if (scrapVisibility) {
internshipAnnouncementId?.run {
Expand All @@ -236,7 +236,7 @@ private fun CalendarListScrapPatchDialog(
dialogVisibility: Boolean,
internshipModel: CalendarScrapDetail?,
navigateToAnnouncement: (Long) -> Unit,
onDismissInternDialog: () -> Unit,
onDismissInternDialog: (Boolean) -> Unit,
onClickChangeColor: () -> Unit,
) {
if (dialogVisibility) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ fun CalendarWeekRoute(
updateSelectedDate: (LocalDate) -> Unit,
navigateUp: () -> Unit,
modifier: Modifier = Modifier,
viewModel: CalendarWeekViewModel = hiltViewModel()
viewModel: CalendarWeekViewModel = hiltViewModel(),
) {
val pagerState = LocalPagerState.current
val lifecycleOwner = LocalLifecycleOwner.current
Expand Down Expand Up @@ -138,7 +138,7 @@ private fun CalendarWeekScreen(
updateSelectedDate: (LocalDate) -> Unit,
onClickInternship: (CalendarScrapDetail) -> Unit,
onClickScrapButton: (Long) -> Unit,
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
) {
var swiped by remember { mutableStateOf(false) }

Expand Down Expand Up @@ -216,7 +216,7 @@ private fun CalendarWeekScreen(

@Composable
private fun CalendarWeekEmpty(
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
) {
Image(
painter = painterResource(
Expand All @@ -241,7 +241,7 @@ private fun CalendarWeekSuccess(
scrapList: List<CalendarScrapDetail>,
onScrapButtonClicked: (Long) -> Unit,
onInternshipClicked: (CalendarScrapDetail) -> Unit,
selectedDate: LocalDate
selectedDate: LocalDate,
) {
CalendarScrapList(
selectedDate = selectedDate,
Expand All @@ -257,7 +257,7 @@ private fun CalendarWeekSuccess(
private fun CalendarWeekScrapCancelDialog(
scrapVisibility: Boolean,
internshipAnnouncementId: Long?,
onDismissCancelDialog: (Boolean) -> Unit
onDismissCancelDialog: (Boolean) -> Unit,
) {
if (scrapVisibility) {
internshipAnnouncementId?.run {
Expand All @@ -275,7 +275,7 @@ private fun CalendarWeekScrapPatchDialog(
dialogVisibility: Boolean,
internshipModel: CalendarScrapDetail?,
navigateToAnnouncement: (Long) -> Unit,
onDismissInternDialog: () -> Unit,
onDismissInternDialog: (Boolean) -> Unit,
onClickChangeColor: () -> Unit,
) {
if (dialogVisibility) {
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 @@ -109,7 +109,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 @@ -117,6 +117,7 @@ fun SearchScreen(
}
) {
SearchTextField(
textStyle = TerningTheme.typography.detail2,
hint = stringResource(R.string.search_text_field_hint),
leftIcon = R.drawable.ic_nav_search,
modifier = Modifier.fillMaxWidth(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
Expand All @@ -25,14 +26,20 @@ fun ImageSlider(
images: List<Int>,
) {
val pagerState = rememberPagerState(pageCount = { images.size })
val autoScroll = remember { mutableStateOf(true) }

LaunchedEffect(Unit) {
while (true) {
delay(3000)
val nextPage = (pagerState.currentPage + 1) % pagerState.pageCount
pagerState.scrollToPage(nextPage)
LaunchedEffect(autoScroll.value) {
if (autoScroll.value) {
while (true) {
delay(2000)
if (!pagerState.isScrollInProgress) {
val nextPage = (pagerState.currentPage + 1) % pagerState.pageCount
pagerState.animateScrollToPage(nextPage)
}
}
}
}

Column(
modifier
.fillMaxWidth()
Expand Down
Loading

0 comments on commit 54e6bd8

Please sign in to comment.