Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UI/#37] 캘린더뷰 / 스크랩 목록 뷰 #54

Merged
merged 25 commits into from
Jul 11, 2024

Conversation

boiledEgg-s
Copy link
Member

⛳️ Work Description

  • 리스트 버튼 클릭 시 스크랩 목록 표시
  • 주간 캘린더 변환 시 해당 일자의 스크랩 목록 표시
  • 월간-주간-리스트 전환 로직 구현

📸 Screenshot

화면 구현 및 전환

2.mp4

공통 공고 컴포넌트 구현

image

📢 To Reviewers

복잡한 커밋과 PR을 날리게 된 점 굉장히 죄송합니다🙇

캘린더 구현 관련

  • 화면간 전환 시 부자연스러운 로직들이 발견되어 수정하였습니다.
  • 이상으로 캘린더 화면 구현은 완료되었음을 알립니다🔉
  • 기타 리팩은 이뤄질 수 있음을 알립니다!

공고 컴포넌트 관련

  • 홈화면, 검색화면, 스크랩 화면에서 표시되는 간략한 공고 정보가 동일하여 컴포넌트를 구성하게 되었습니다.
  • 사용법은 노션과 해당 파일의 프리뷰를 보며 숙지하시면 될 것 같습니다!

@boiledEgg-s boiledEgg-s added FEAT ✨ 새로운 기능 구현 UI 💐 UI 작업 석준💜 석준 labels Jul 11, 2024
@boiledEgg-s boiledEgg-s requested a review from leeeyubin July 11, 2024 18:41
@boiledEgg-s boiledEgg-s self-assigned this Jul 11, 2024
Copy link
Member

@leeeyubin leeeyubin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

캘린더를 완벽하게 구현해낸 갓석준을 위한 개큰 박수 보내립니다
모두 박수!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Comment on lines +52 to +62
AsyncImage(
model = ImageRequest.Builder(LocalContext.current)
.data(imageUrl)
.build(),
contentDescription = title,
Modifier
.fillMaxHeight()
.aspectRatio(1f)
.clip(RoundedCornerShape(5.dp))
.background(color = Grey300)
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

메모: 추후에 컴포넌트 빼놓기

Comment on lines +82 to +85
Row(
modifier = Modifier.fillMaxHeight(),
verticalAlignment = Alignment.Bottom
) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

단순 궁금증인데,, 여기선 modifier 변수 안 써주는 이유가 있나용?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

전 최상위 컴포저블에만 modifier를 적용하는 편입니다!!

Comment on lines +54 to +55
val selectedDate by viewModel.selectedDate.collectAsStateWithLifecycle()
val state by remember { mutableStateOf(CalendarState()) }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 굿!!!

Comment on lines 60 to 62
//To be erased in future
val mockScrapList: List<List<Scrap>>
get() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

future가 오는 순간까지 숨참을게요

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저 지금 숨 참는 중..!

Comment on lines +52 to +56
isFromList = true,
noScrapScreen = {})


if (scrapList[day].isNotEmpty()) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

줄바꿈 하나 삭제해주세용

Copy link
Member

@Hyobeen-Park Hyobeen-Park left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

와 캘린더 구현한거 진짜 대박이네요 역시 최고야,,,⭐ 아이템도 감사해요 야무지게 써보겠습니다😎

.data(imageUrl)
.build(),
contentDescription = title,
Modifier
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

위에 있는 modifier 변수 사용해줘도 될 것 같아요!!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

전 최상위 컴포저블에만 modifier를 적용하는 편입니다!!

Comment on lines +10 to +11
fun LocalDate.getDateStringInKorean(): String =
"${monthValue}월 ${dayOfMonth}일 ${dayOfWeek.getDisplayName(TextStyle.FULL, Locale.KOREAN)}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

와 한글로 바꿔주는 센스 미쳤네요

Comment on lines +67 to +68
snapshotFlow { listState.firstVisibleItemIndex }
.distinctUntilChanged()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

와우 새로운거 알아갑니다..!!

val selectedDate by viewModel.selectedDate.collectAsStateWithLifecycle()
val state by remember { mutableStateOf(CalendarState()) }

val listState = rememberLazyListState(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오!! 새로운거 알아갑니다!!

Comment on lines +77 to +81
BackHandler {
if (selectedDate.isEnabled) {
viewModel.updateSelectedDate(selectedDate.selectedDate)
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

새로운거 알아갑니다..!!

Comment on lines 136 to 141
Spacer(
modifier = Modifier
.fillMaxWidth()
.height(1.dp)
.background(color = Grey200)
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

divider을 사용하지 않고 spacer를 사용한 이유가 궁금해요!!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 새로운 정보 감사합니당~!!

Comment on lines 60 to 62
//To be erased in future
val mockScrapList: List<List<Scrap>>
get() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저 지금 숨 참는 중..!

modifier = Modifier
.padding(top = 42.dp)
.fillMaxWidth(),
text = "선택하신 날짜에 지원 마감인 스크랩 공고가 없어요.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

마침표 빼주세요.... string 분리해주세요....

)
}
val topModifier = if(!isFromList) {
Modifier.fillMaxWidth().padding(horizontal = 24.dp).verticalScroll(scrollState)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

줄바꿈 해주면 더 보기 좋을 것 같아요!!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넹~

Copy link
Contributor

@arinming arinming left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

캘린더찐완성너무잘하네용.!!!!!!!!!!

sizeTransform = SizeTransform(clip = true)
)
},
label = "List Transition"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요 라벨은 상수로 안빼는건가여?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

실수임다ㅎ

@boiledEgg-s boiledEgg-s merged commit 3b3a723 into develop Jul 11, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FEAT ✨ 새로운 기능 구현 UI 💐 UI 작업 석준💜 석준
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[UI] 캘린더뷰 / 스크랩 목록 뷰 구현
4 participants