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

[feat] 위니 업로드 / 과소비 플로우 추가 #240

Merged
merged 27 commits into from
Feb 12, 2024

Conversation

leeeha
Copy link
Member

@leeeha leeeha commented Jan 27, 2024

📝 Work Description

  • 절약, 과소비 타입에 따라 업로드 단계에서 텍스트가 다르도록 구현
  • 서버에 이미지 업로드 시, feedType 포함도 시키기

📣 To Reviewers

  • 바인딩 어댑터로 텍스트를 변경하는 함수가 6개 추가되었는데, 더 효율적인 방법 생각나면 코멘트로 알려주세요!
  • 변경 사항이 크지 않아서 다음 주 위클리 회의 전에 확인 부탁드립니다!
  • 피드 타입에 따라 위니피드 뷰가 바뀌도록 하는 건 별도 브랜치에서 구현 예정입니다.

leeeha added 23 commits January 24, 2024 19:41
@leeeha leeeha added feat ✨ 새로운 기능 구현 하은 🐰 labels Jan 27, 2024
@leeeha leeeha requested review from sxunea and Sangwook123 January 27, 2024 14:09
@leeeha leeeha self-assigned this Jan 27, 2024
@leeeha leeeha changed the title [feat] 위니 업로드 / 과소비 플로우 추가에 따른 디자인 변경 [feat] 위니 업로드 / 과소비 플로우 추가 Jan 27, 2024

private val feedType by lazy {
intent.extras?.getCompatibleSerializable(WineyFeedFragment.KEY_FEED_TYPE)
?: WineyFeedType.SAVE
Copy link
Contributor

Choose a reason for hiding this comment

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

SAVE 로 두는 이유가 있나요 ?

Copy link
Member Author

Choose a reason for hiding this comment

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

nullable 타입에 대한 처리가 애매해서 디폴트 값으로 SAVE를 지정했습니다!

private val amountString by lazy { intent.extras?.getString(KEY_SAVE_AMOUNT, "") }
private val amount by lazy { intent.extras?.getString(KEY_SAVE_AMOUNT, "") }
Copy link
Contributor

Choose a reason for hiding this comment

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

👍

Comment on lines +55 to +70
@BindingAdapter("switchUploadImageTitle")
fun TextView.switchUploadImageTitle(feedType: WineyFeedType) {
text = when (feedType) {
WineyFeedType.SAVE -> context.getString(R.string.upload_photo_title, "절약을 실천한")
WineyFeedType.CONSUME -> context.getString(R.string.upload_photo_title, "과소비한")
}
}

@BindingAdapter("switchUploadImageButtonText")
fun TextView.switchUploadImageButtonText(feedType: WineyFeedType) {
text = when (feedType) {
WineyFeedType.SAVE -> context.getString(R.string.upload_plus_text, "절약을")
WineyFeedType.CONSUME -> context.getString(R.string.upload_plus_text, "과소비를")
}
}

Copy link
Contributor

Choose a reason for hiding this comment

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

타입에 따라 바뀌는 6가지 요소를 data class로 묶으면 하나의 bindingAdapter로 관리할 수는 있을 것 같아요 ~! 다만 그러면 뷰의 id에 따라 바인딩 해줘야 해서 ... 결과적으로는 지금 방향이 더 낫지 않을까 생각합니다

Copy link
Member Author

Choose a reason for hiding this comment

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

오.. 어떤 방식인지 더 구체적으로 알 수 있을까요?! 뷰의 id에 따라 바인딩 한다는 게 어떤 건지 감이 잘 안 와서요!

Copy link
Contributor

@sxunea sxunea Feb 7, 2024

Choose a reason for hiding this comment

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

data class ViewTexts(
    val title: String,
    val description: ~~~ 
)

이렇게 만들고

when (id) {
     R.id.uploadImageTitle -> text = viewTexts.title
}

이런 바인딩 어댑터 만들면 관리는 가능할 것 같은데, 위에 적은 것처럼 아이디를 직접참조하는 방식은 변동+증가에 따라 일일이 반영해줘야해서 결국 기존 방식이 좋을 것 같다는 말이었습니다 😄

Copy link
Member Author

Choose a reason for hiding this comment

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

아하 그러네요 id가 바뀌면 일일이 다 바꿔줘야 하니까 번거롭겠네요! 그럼 우선은 지금 방식대로 머지할게요!

…o feature/feat-overcomsumption-upload

# Conflicts:
#	app/src/main/java/org/go/sopt/winey/presentation/main/MainActivity.kt
#	app/src/main/java/org/go/sopt/winey/presentation/main/feed/upload/AmountFragment.kt
@leeeha leeeha merged commit 0e37f23 into develop Feb 12, 2024
1 check passed
@leeeha leeeha deleted the feature/feat-overcomsumption-upload branch March 9, 2024 06:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat ✨ 새로운 기능 구현 하은 🐰
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[feat] 위니 업로드 / 과소비 플로우 추가
2 participants