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

[Feature/#9] : 약속 생성 UI 구현 #33

Merged
merged 25 commits into from
Jan 24, 2025
Merged

[Feature/#9] : 약속 생성 UI 구현 #33

merged 25 commits into from
Jan 24, 2025

Conversation

twogarlic
Copy link
Contributor

✅ 𝗖𝗵𝗲𝗰𝗸-𝗟𝗶𝘀𝘁

  • merge할 브랜치의 위치를 확인해 주세요.(main❌/develop⭕)
  • 리뷰가 필요한 경우 리뷰어를 지정해 주세요.
  • 리뷰는 PR이 올라오면 최대한 빠르게 진행합니다.
  • P1 단계의 리뷰는 빠르게 확인 후 반영합니다.
  • Approve된 PR은 assigner가 머지하고, 수정 요청이 온 경우 수정 후 다시 push를 합니다.

📌 𝗜𝘀𝘀𝘂𝗲𝘀

📎 𝗪𝗼𝗿𝗸 𝗗𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻

  • 약속 생성으로 이사시켯슴니다
  • 타임피커, 캘린더 수정햇슴니다
  • 코리 반영햇슴니다

📷 𝗦𝗰𝗿𝗲𝗲𝗻𝘀𝗵𝗼𝘁

Screen_recording_20250119_012825.mp4

💬 𝗧𝗼 𝗥𝗲𝘃𝗶𝗲𝘄𝗲𝗿𝘀

소재고갈이슈

@twogarlic twogarlic added 🔨 [FIX] 버그 및 오류 발생 및 해결 ✅ [MOD] 코드 수정 및 내부 파일 수정 ♻️ [REFACTOR] 코드 리팩토링 💟 [UI] UI 작업 ☁️ 하늘 마늘 labels Jan 18, 2025
@twogarlic twogarlic self-assigned this Jan 18, 2025
@twogarlic twogarlic requested a review from a team as a code owner January 18, 2025 16:29
Copy link
Contributor

@gaeulzzang gaeulzzang left a comment

Choose a reason for hiding this comment

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

  1. AppointmentCreateInfo 에서 텍스트 필드 입력값과 "시간" 텍스트 사이의 간격 다름
  2. AppointmentCreateInfo 에서 약속 이름 텍스트 필드 활성/비활성 컬러값 다름
  3. AppointmentCreatePeriod 에서 "하루씩 설정하기"를 off 했을 때 하루만 선택하더라도 버튼이 활성화되어야 하는데 비활성화 되고 있음
  4. AppointmentCreateTimePicker에서 duration 로직 이슈

해당 이슈 꼭 해결해주시고 까먹지 말고 ./gradlew ktlintCheck 돌려주세요

Comment on lines 175 to 187
TimeTextField(
onValueChange = { newDuration ->
appointmentDuration = newDuration
}
)
Text(
text = stringResource(R.string.text_calendar_appointment_duration),
style = typography.b1SemiBold,
color = colors.gray700,
modifier = Modifier
.align(Alignment.TopEnd)
.padding(end = 12.dp, top = 15.dp, bottom = 15.dp)
)
Copy link
Contributor

Choose a reason for hiding this comment

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

P1: 텍스트 필드랑 "시간" 텍스트 사이 간격 3.dp여야되는데 지금 너무 멀어요!! TimeTextField 안에서 horizontaldivider 관리하지 말구 밖으로 빼내고 focus 상태 TimeTextField로 전달하는 형식으로 바꿔야될 것 같아요

Copy link
Contributor Author

Choose a reason for hiding this comment

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

간격 조절햇서요 horizontaldivider 밖으로 빼면 거리가 또 달라져서 ㅠ.. 안에 냅둬도 댈까요 .. ?ㅠ

Comment on lines 234 to 239
if (selectedStartHour == selectedEndHour) {
scope.launch {
snackbarHostState.showSnackbar("24시간 이하로 선택해주세요")
}
return@NoostakBottomButton
}
Copy link
Contributor

Choose a reason for hiding this comment

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

P3: 시작시간과 종료 시간이 같은 경우 토스트 메시지 아직 안나온거죠? ㅠㅠ

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ㄴㅖ . . .. . . .. . .. .. .........

Comment on lines 62 to 82
fun NavController.navigateCalendarCheck(
appointmentName: String,
appointmentCategory: String,
appointmentTime: Int,
isSingleDateMode: Boolean,
appointmentDate: List<String>?,
appointmentDuration: String,
navOptions: NavOptions? = null
) {
navigate(
route = CalendarCheck(
appointmentName = appointmentName,
appointmentCategory = appointmentCategory,
appointmentTime = appointmentTime,
isSingleDateMode = isSingleDateMode,
appointmentDate = appointmentDate,
appointmentDuration = appointmentDuration
),
navOptions = navOptions
)
}
Copy link
Contributor

Choose a reason for hiding this comment

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

P3: 약속 등록 화면으로 넘어가는 로직인걸까요??

Copy link
Contributor Author

Choose a reason for hiding this comment

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

네!!! 마자요 !!!!

Copy link
Contributor

@youjin09222 youjin09222 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 62 to 82
fun NavController.navigateCalendarCheck(
appointmentName: String,
appointmentCategory: String,
appointmentTime: Int,
isSingleDateMode: Boolean,
appointmentDate: List<String>?,
appointmentDuration: String,
navOptions: NavOptions? = null
) {
navigate(
route = CalendarCheck(
appointmentName = appointmentName,
appointmentCategory = appointmentCategory,
appointmentTime = appointmentTime,
isSingleDateMode = isSingleDateMode,
appointmentDate = appointmentDate,
appointmentDuration = appointmentDuration
),
navOptions = navOptions
)
}
Copy link
Contributor

@youjin09222 youjin09222 Jan 20, 2025

Choose a reason for hiding this comment

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

P1: composable<"CalendarCheck">가 누락되었습니다! 꼭 추가해주세요!

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
Contributor

@gaeulzzang gaeulzzang left a comment

Choose a reason for hiding this comment

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

까먹을까봐 코멘트 달아둘게요 😪 정보 입력 받는 부분이랑 타임피커 플로우는 더이상 문제 없는 것 같슈...

  1. NoostakCalendar 안에 있는 스낵바 분리하기
    스낵바 무조건 bottom(96.dp) 위치에 떠야 하고, 스낵바 컴포넌트화하기
  2. SnackBar는 SideEffect로 두기 -> GroupCreateSuccessRoute 참고
  3. AppointmentCreatePeriod에서 버튼 비활성화 안되는 이슈 해결

Copy link
Member

@Eonji-sw Eonji-sw left a comment

Choose a reason for hiding this comment

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

전.. 하늘언니 pr이 제일 무서워요 ^^
코리 다는데 오백년 걸리거등요 ㅎ.ㅎ
정말 복잡한 로직 수고하셨어요 저라면 탈주했을듯

.padding(vertical = 11.dp)
.noRippleClickable {
if (isSingleDate) {
if (dateValue in selectedDates) {
Copy link
Member

Choose a reason for hiding this comment

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

P3 : 나중에 더 잘.. 분기처리 리팩할 수 있을 것 같아요 꼭

Copy link
Member

Choose a reason for hiding this comment

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

P3 : 라디오 버튼도 아니고.. 체크박스인 것이.... 잘 커스텀했네용

Copy link
Member

Choose a reason for hiding this comment

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

P2 : toggle 말고 switch로 네이밍 통일하는게 좋을 것 같아요

Copy link
Contributor Author

Choose a reason for hiding this comment

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

하면 안된다고 떠서 일단 토글이라고 해놓긴 햇는데 ㅠㅠㅠㅠ 다른 이름 추천해주세여

Comment on lines +18 to +19
val backgroundColor = if (checked) NoostakTheme.colors.mint else NoostakTheme.colors.gray200
val thumbColor = NoostakTheme.colors.white
Copy link
Member

Choose a reason for hiding this comment

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

P2 : 굳이 변수 선언할 필요가 있을까요? 저는 불필요한 메모리 할당이 싫어서 변수는 꼭 필요한 경우에만 선언하는 편이거든요!

Copy link
Contributor

@gaeulzzang gaeulzzang left a comment

Choose a reason for hiding this comment

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

지이이이인짜 리팩하느라 고생많았다 하늘언니 ㅠㅠㅠㅠㅠㅠ 요청한대로 다 반영해온게 너무 대단한 것 같아... skrrrr
다들 어푸 때리고 얼른 머지하쟈 ❤️😗

@twogarlic twogarlic merged commit a77f64b into develop Jan 24, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
☁️ 하늘 마늘 🔨 [FIX] 버그 및 오류 발생 및 해결 ✅ [MOD] 코드 수정 및 내부 파일 수정 ♻️ [REFACTOR] 코드 리팩토링 💟 [UI] UI 작업
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[UI] : 약속 생성 UI
4 participants