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 ] : 누적 점수 페이지에 정렬 기준 추가 #302

Merged
merged 6 commits into from
Jul 24, 2023

Conversation

toastmeister1
Copy link
Member

Description

누적 점수 페이지 리빌딩

  • 멤버들을 점수에 따라 정렬합니다.
  • 이외 Team과 Postion별 정렬을 Management화면과 동일하게 구현합니다.
  • FoldableItem으로 Management화면과 AdminScore화면 두곳에서 재사용 할 수 있게끔 수정합니다.

전체 구현영상

변경 전 변경 후
before.mp4
after.mp4

Score실시간 업데이트 및 애니메이션 추가

  • 영상속에서 업데이트가 늦는 이유는 수동으로 출석을 변경하느라 그렇습니다.
�구현 영상
live_update.mp4

Check List

  • CI/CD 통과여부
  • Develop Mege 시 Squash and Merge 형태로 넣어주세요!
  • 1Approve 이상 Merge
  • Unit Test 작성
  • 연관된 이슈를 PR에 연결해주세요.

- 기존 Management화면에서 FoldableItem을 재사용하여 구현합니다.
   - Management / AdminTotalScore의 요구사항에 따라 FoldableItem을 수정합니다.
   - 이에따라 ViewModel의 로직또한 비슷한 형태를 갖추도록 구협합니다.
- 패딩이 들어간 기존 'icon_warning'을 패딩이 들어가지 않은 이미지로 교체합니다.
- 해당 컴포저블을 감싸고 있는 padding정책에 따르도록 수정합니다.
- ScoreType을 filter하도록 하여 이전의 State의 HeaderState를 올바르게 가져오도록 합니다.
Copy link
Collaborator

@EvergreenTree97 EvergreenTree97 left a comment

Choose a reason for hiding this comment

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

대규모 작업 수고 많으셨씁니다~~

}
}
items = uiState.foldableItemStates.flatMap { it.flatten },
key = { _, itemState ->
Copy link
Collaborator

Choose a reason for hiding this comment

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

LazyColumn에서 items 내에 여러 디자인의 컴포저블을 사용할 경우 contentType 속성을 지정해 보는 것은 어떨까요?
recyclerview의 viewtype처럼, contentype의 람다에 각각의 state가 해당하는 식별자를 제공하면 각 식별자에 해당하는 컴포저블을 그리는 방식을 재사용 할 수 있어 효율적이라고 하네요!

참고: https://developer.android.com/jetpack/compose/lists?hl=ko 맨 하단

Copy link
Member Author

@toastmeister1 toastmeister1 Jul 22, 2023

Choose a reason for hiding this comment

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

오 이런게 나왔었군요! 안그래도 작업하면서 RecyclerView나 Type같은게 없나 싶었는데
딱 제가 원하는 내용이에요! 👍👍👍👍 바로 적용해서 올려보겠습니다!

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

@hoyahozz hoyahozz left a comment

Choose a reason for hiding this comment

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

코드가 굉장히 퀄리티가 높네요.. 특히 각종 컬렉션 함수들 자유자재로 사용하시는거 보고 영감많이 받았습니당! 솔직히 아직 제대로 이해 못한 코드도 있어서, 제대로 더 정독하고 추가 코멘트 남기도록 하겠습니다! 고생많으셨어요 👍👍👍👍👍

import androidx.compose.runtime.Stable
import com.yapp.presentation.ui.admin.management.components.attendanceTypeButton.AttendanceTypeButtonState
import com.yapp.presentation.ui.admin.management.components.foldableItem.FoldableItem


/**
* FoldableItem은 크게 2종류로 나위어 있는데, 그 중 Content를 나타내는 State
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* FoldableItem은 크게 2종류로 나위어 있는데, 그 중 Content를 나타내는 State
* FoldableItem은 크게 2종류로 나뉘어 있는데, 그 중 Content를 나타내는 State

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 = Modifier.animateItemPlacement(),
state = itemState,
onExpandClicked = { isExpanded, teamName, teamNumber ->
onEvent(AdminTotalScoreContract.AdminTotalScoreUiEvent.OnTeamTypeHeaderItemClicked(teamName, teamNumber))
Copy link
Member

Choose a reason for hiding this comment

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

Contractimport 하기로 저번에 얘기가 나왔어서 전달드려용~~

@Composable
fun AdminTotalScoreScreen(
fun AdminTotalScoreScreen2(
Copy link
Member

Choose a reason for hiding this comment

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

접미사 2 가 붙은건 테스트 중 수정하지 못한 사항일까용?

Copy link
Member Author

Choose a reason for hiding this comment

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

원본을 카피해서 2붙여 작성하다가 지우는걸 깜빡했네요! 수정하겠습니다

YDSButtonLarge(text = uiState.sectionType.name, state = YdsButtonState.ENABLED) {
toggle = !toggle
onClickTeamToggle(if (toggle) AdminTotalScoreUiState.SectionType.Team else AdminTotalScoreUiState.SectionType.Position)
stickyHeader {
Copy link
Member

Choose a reason for hiding this comment

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

stickyHeader 디테일 너무 좋네요 ㅎㅎ 👍👍👍👍👍

Comment on lines +46 to +54
private val members: StateFlow<List<Member>> = getAllMemberUseCase()
.catch { setState { this.copy(loadState = AdminTotalScoreUiState.LoadState.Error) } }
.stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(3000L),
initialValue = emptyList()
)

private val tabIndex: MutableStateFlow<Int> = MutableStateFlow(uiState.value.tabLayoutState.selectedIndex)
Copy link
Member

@hoyahozz hoyahozz Jul 22, 2023

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.

그렇게 말씀해주시니 감사할 따름입니다 🙇‍♂️
근래들어 가장 마음이 따듯해지는 리뷰네요 😄

@toastmeister1
Copy link
Member Author

ContentType은 머지 이후에 Management화면이랑 같이 수정하겠습니다!

@toastmeister1 toastmeister1 merged commit bfcdac2 into develop Jul 24, 2023
@toastmeister1 toastmeister1 deleted the feature/improment_total_score_ui branch July 24, 2023 13:01
toastmeister1 added a commit that referenced this pull request Jul 31, 2023
* [ Feature ] : 출석체크 fastlane cd 작업을 추가했어요 (#233)

* chore: Version Up (1.1.0 -> 1.2.0) 🔥🔥🔥 (#230)

* refactor: callbackFlow 구독 상황이 아니면 리스너를 null 처리하도록 수정 (#216)

* fix: 개인정보 처리방침 화면 앱바 다크모드 적용 (#217)

* Resolve #212 어드민 멤버출결점수 정렬 가능하도록 변경 (#218)

* feat: State를 생명주기에 맞게 수집하기 위한 Flow 확장함수 추가

* remove: 사용하지 않는 유닛테스트 제거

* chore: compose 안정성 지표를 나타내는 report option

* chore: List에 안정성 부여하기 위해 Immutable Collection 사용, common에 corouitne 및 lifecycle viewmodel 의존성 추가

* refactor: 직군 별 정렬이 가능하도록 변경(UI WIP)

* refactor: 상속받은 함수에서 state 사용 가능하도록 protected로 변경

* refactor: unstable 클래스 stable하도록 변경

* refactor: remove wildcard import

* refactor: Immutable List Compose Compiler에 의해 Stable로 변경되지 않아 제거

* 컴포즈 버전 업데이트 (1.1.0 -> 1.4.1) (#219)

* refactor: Compose 버전 업데이트

Compose를 최신버전 으로 업데이트 함에 따라 다음과 같은 라이브러리 업데이트 합니다.
(변경된 라이브러리들은 구동에 있어 필수적인 변경만 포함합니다)

컴포즈의 버전을 업데이트 하며 그에 대응하는 Kotlin 버전을 업데이트 합니다.
- Compose : 1.1.0 -> 1.4.1
- Kotlin : 1.6.1 -> 1.8.10

Kotlin 버전이 업데이트 됨에 따라 아래의 버전을 업데이트 합니다.
- Dagger : 2.40.1 ->  2.45

Compose를 업데이트 한 후 Lottie가 제대로 동작하지 않아 버전을 업데이트 합니다.
- Lottie : 5.0.1 -> 6.0.0

AGP, TargetSDK, GoogleService를 버전을 업데이트 합니다.
- AGP : 7.0.4 -> 7.3.0
- TargetSDK : 31 -> 33

* remove: warning 해결

* remove: optimize import

모든 모듈에 불필요한 import를 제거합니다.

* fix: CompileSDKVersion 업데이트 후 발생하는 warning 제거

* refactor: minSDK 24 -> 26 버전 업

* Revert "컴포즈 버전 업데이트 (1.1.0 -> 1.4.1) (#219)" (#221)

This reverts commit c4c1312.

* 컴포즈 버전 업데이트 (1.1.0 -> 1.4.1) (#222)

* refactor: Compose 버전 업데이트

Compose를 최신버전 으로 업데이트 함에 따라 다음과 같은 라이브러리 업데이트 합니다.
(변경된 라이브러리들은 구동에 있어 필수적인 변경만 포함합니다)

컴포즈의 버전을 업데이트 하며 그에 대응하는 Kotlin 버전을 업데이트 합니다.
- Compose : 1.1.0 -> 1.4.1
- Kotlin : 1.6.1 -> 1.8.10

Kotlin 버전이 업데이트 됨에 따라 아래의 버전을 업데이트 합니다.
- Dagger : 2.40.1 ->  2.45

Compose를 업데이트 한 후 Lottie가 제대로 동작하지 않아 버전을 업데이트 합니다.
- Lottie : 5.0.1 -> 6.0.0

AGP, TargetSDK, GoogleService를 버전을 업데이트 합니다.
- AGP : 7.0.4 -> 7.3.0
- TargetSDK : 31 -> 33

* remove: warning 해결

* remove: optimize import

모든 모듈에 불필요한 import를 제거합니다.

* fix: CompileSDKVersion 업데이트 후 발생하는 warning 제거

* refactor: minSDK 24 -> 26 버전 업

* fix: AGP 버전 수정

* fix: plugin 수정

* fix: AGP 버전 수정

* fix: firestore 설정 변경

FireStore 버전 업데이트 및 minSDK 명시

* fix: contentPadding을 입력하도록 수정

컴포즈 버전 업데이트에 따른 오류를 해결합니다.

* chore: immutable collection import

* refactor: Immutable collection 사용하도록 변경

---------

Co-authored-by: Yeongsang Jeon <[email protected]>
Co-authored-by: YeongSang Jeon <[email protected]>

* 파이어베이스 구조 수정에 따른 변경사항을 반영합니다 (#223)

* feat: 출석 상태 타입 변경(firebase 구조 수정)

* feat: 팀 미정 타입 추가 및 팀 구조 변경

* 팀 미정 타입 추가
* 올라운더 팀 삭제
* 베이스캠프 팀 추가

* fix: None -> NONE 팀 타입의 문자열 수정

* [ Feature ] : 변경된 파이어스토어 컬렉션 네이밍에 맞게 BuildConfig를 추가했어요 (#220)

* [ Feature ] : data 레이어에 build config 를 추가했어요

* [ Refactor ] : 변경된 build config를 파이어스토어 컬렉션에 적용했어요

* fix: innerPadding 수정 및 TeamEntity 매핑 이슈 해결 (#227)

* fix: TeamEntity를 매핑이슈 해결

valueOf가 아닌 커스텀하게 정의된 메서드인 from을 사용해야 한다

* fix: 잘못 입력된 scaffold의 inner Padding 수정

* 온보딩에서 팀 선택 스킵이 가능하도록 변경 (#225)

* feat: string resource 추가

* refactor: TeamType에 None 타입 추가

* refactor: 회원가입 usecase에서 team을 받지 않도록 수정

* refactor: Navigate flow 변경(position -> main, setting -> Team)

* feat: 팀 선택하기 버튼 및 position, team 닉네임 아래에 명시

* feat: 팀 선택하기 클릭 시 팀 선택 화면으로 이동하도록 추가

* feat: 포지션 선택 시, 메인으로 이동하도록 구현

* feat: 팀 선택 후 다시 설정 화면으로 돌아가도록 구현

* refactor: 리뷰 반영 @hoyahozz

* refactor: 리뷰 반영 @hoyahozz

* fix: 충돌 해결

* docs: Readme update (#228)

* fix: 화면이 깜빡이는 이슈 해결 (#226)

* feat : 다크 모드에 따른 액티비티 기본 배경색 수정

* fix : scaffold 의 배경색을 modifier 단에서 설정하지 않도록 수정

* refactor : 코드 컨벤션에 맞게 수정

* 파이어베이스 구조 변경사항 반영 PR에 달린 리뷰를 반영합니다 (#229)

* refactor: 불필요한 상수 제거

* refactor: 불변 리스를 remember로 관리하도록 수정

* chore: Version Up (1.1.0 -> 1.2.0)

---------

Co-authored-by: Jeongho <[email protected]>
Co-authored-by: Choi Sang Rok <[email protected]>
Co-authored-by: Jihee.Han <[email protected]>
Co-authored-by: TaeseongYun <[email protected]>

* [ Feature ] : google-service.json 파일수정

debug 정보를 추가했어요

* [ Feature ] : 디버그 subffix string 을 추가했어요

* [ Feature ] : fastlane json 키 값과 환경변수값을 ignore 에 추가했어요

* [ Feature ] : cd 구축을 완료했어요

* [ Feature ] : 디버그 스트링 값을 추가했어요

* [ Refactor ] : 출석체크 cd 시크릿 값을 추가했어요

* [ Feature ] : 패스트레인 정보 값을 추가했어요

---------

Co-authored-by: Yeongsang Jeon <[email protected]>
Co-authored-by: Jeongho <[email protected]>
Co-authored-by: Choi Sang Rok <[email protected]>
Co-authored-by: Jihee.Han <[email protected]>
Co-authored-by: YeongSang Jeon <[email protected]>

* Squashed commit of the following:

commit ed40d0b
Author: taeseongyun <[email protected]>
Date:   Wed May 10 23:32:35 2023 +0900

    [ Refactor ] : yaml 문법이 맞지 않던 이슈를 수정했어요

* [ Refactor ] : yaml 문법이 맞지 않던 이슈를 수정했어요 (#239)

* [ Feature ] : 파이어 베이스 cd 구문 로직을 수정했어요 (#240)

* [ Refactor ] : yaml 문법이 맞지 않던 이슈를 수정했어요

* [ Feature ] : pr이 머지가 되어있는지 체크 구문 추가

* [ Feature ] : 깃허브 액션 CI/CD 를 수정했어요 (#247)

* [ Refactor ] : cd 깃헙 액션 순서변경 (#246)

* [ Refactor ] : cd 깃헙 액션 순서변경

* [ Feature ] : if_merged step 섹션 추가

* [ Refactor ] : cd 워크플로 파일 수정

* [ Feature ] : step 섹션 리스트 항목 추가

run -> -name , run 추가

* [ Refactor ] : uses yaml 파일 네이밍 변경

* [ Feature ] : checkout runs-on 섹션 추가

* [ Feature ] : commit-message runs-on 섹션 추가

* [ Feature ] : 깃허브 액션 Output 변수명 수정

* [ Feature ] : 깃허브 액션 cd 로직 gem install fastlane 섹션 추가 (#248)

* [ Refactor ] : cd 깃헙 액션 순서변경 (#246)

* [ Refactor ] : cd 깃헙 액션 순서변경

* [ Feature ] : if_merged step 섹션 추가

* [ Refactor ] : cd 워크플로 파일 수정

* [ Feature ] : step 섹션 리스트 항목 추가

run -> -name , run 추가

* [ Refactor ] : uses yaml 파일 네이밍 변경

* [ Feature ] : checkout runs-on 섹션 추가

* [ Feature ] : commit-message runs-on 섹션 추가

* [ Feature ] : 깃허브 액션 Output 변수명 수정

* [ Feature ] : 깃허브 액션 cd 로직 gem install fastlane 섹션 추가

* [ Feature ] : 배포 테스트 (#249)

* [ Refactor ] : cd 깃헙 액션 순서변경 (#246)

* [ Refactor ] : cd 깃헙 액션 순서변경

* [ Feature ] : if_merged step 섹션 추가

* [ Refactor ] : cd 워크플로 파일 수정

* [ Feature ] : step 섹션 리스트 항목 추가

run -> -name , run 추가

* [ Refactor ] : uses yaml 파일 네이밍 변경

* [ Feature ] : checkout runs-on 섹션 추가

* [ Feature ] : commit-message runs-on 섹션 추가

* [ Feature ] : 깃허브 액션 Output 변수명 수정

* [ Feature ] : 깃허브 액션 cd 로직 gem install fastlane 섹션 추가

* [ Feature ] : 배포 테스트

* [ Feature ] : cd test (#255)

* [ Refactor ] : cd 깃헙 액션 순서변경 (#246)

* [ Refactor ] : cd 깃헙 액션 순서변경

* [ Feature ] : if_merged step 섹션 추가

* [ Refactor ] : cd 워크플로 파일 수정

* [ Feature ] : step 섹션 리스트 항목 추가

run -> -name , run 추가

* [ Refactor ] : uses yaml 파일 네이밍 변경

* [ Feature ] : checkout runs-on 섹션 추가

* [ Feature ] : commit-message runs-on 섹션 추가

* [ Feature ] : 깃허브 액션 Output 변수명 수정

* [ Feature ] : 깃허브 액션 cd 로직 gem install fastlane 섹션 추가

* [ Feature ] : 배포 테스트

* [ Feature ] : 루비 셋업 cd 추가

* Feature/cd test (#256)

* [ Feature ] : 깃허브 액션 cd 로직 gem install fastlane 섹션 추가

* [ Feature ] : 배포 테스트

* [ chore ] : 루비 버전 변경 (#257)

* [ Fix ] : gem 퍼미션 문제 수정 (#258)

* [ Fix ] : 루비 환경변수 세팅 깃헙 액션 수정 (#259)

* [ Fix ] : 루비 환경변수 export 추가 (#260)

* [ Feature ] : 패스트 레인 디렉토리 추가 (#261)

* [ Feature ] : 패스트레인 init 구문 추가 (#262)

* [ Feature ] : 디렉토리 추가 (#263)

* [ Refactor ] : 디렉토리 수정 (#264)

* [ Feature ] : 디렉토리 변경 (#265)

* [ Refactor ] : 패스트 레인 수정 (#266)

* [ Refactor ] : 패스트 레인 수정 (#267)

* [ Feature ] : gemfile 추가 (#268)

* [ Feature ] : gem 환경변수 세팅 (#269)

* [ Refactor ] : 명시적 바이너리 경로 설정 (#270)

* [ Feature ] 세션별 누적점수 화면 구현 (#250)

* fix: deploy preview시 Crashtics Id 에러가 발생하지 않도록 수정 

/**
The Crashlytics build ID is missing. This occurs when Crashlytics tooling is absent from your app's build configuration. Please review Crashlytics onboarding instructions and ensure you have a valid Crashlytics account.
*/
해당 이슈를 수정합니다.

* feat: Management화면 신규 컴포넌트 생성 및 컴포넌트 분리

- 신규 컴포넌트들을 생성합니다.
- 기존 컴포넌트에서 디자인이 변경된 부분들을 수정합니다.
- Management.kt파일에서 컴포넌트들을 모두 파일로 분리하고, 각자의 State를 가지도록 수정합니다.
- UiState에 큰 변화가 있음에 따라 ViewModel의 로직을 모두 삭제합니다.

* feat: Management화면 신규 컴포넌트 생성 및 컴포넌트 분리

- 신규 컴포넌트들을 생성합니다.
- 기존 컴포넌트에서 디자인이 변경된 부분들을 수정합니다.
- Management.kt파일에서 컴포넌트들을 모두 파일로 분리하고, 각자의 State를 가지도록 수정합니다.
- UiState에 큰 변화가 있음에 따라 ViewModel의 로직을 모두 삭제합니다.

* chore: 코드 정리

* fix: 잘못 정의된 타이포그라피 수정

* feat: 회원 아이템을 새롭게 개편된 디자인으로 수정

* feat: YDS TabLayout 구현

후..

* chore: 클래스 분리 및 코드정리

* feat: 만든 컴포넌트들 화면에 적용 (WIP)

- 만든 컴포넌트들을 화면에 적용합니다.
- ViewModel의 Init까지 함

# TODO
- 탭 눌렀을때 이벤트 처리
- 출석 변경 눌렀을때 처리
- 유저 삭제 기능 추가 (가능하면)
- 코드 정리

* feat: 팀별 / 직군별 탭 클릭 시 리스트가 보여지게 구현

- 팀 정렬 / AttendanceType별 정렬도 추가적으로 구현합니다.

* fix: ManagementState를 Stable하게 수정

* [ Feature ] : 출석인정 아이콘 추가

- 패턴이 들어간 svg파일은 IDE에서 표현이 불가능 하기 때문에 png파일로 아이콘 이미지를 추가합니다.

* [ Feature ] : 세션 별 멤버 출석현황 화면 구현

- 새롭게 바뀐 디자인대로 화면을 구현합니다.
- 화면에 존재하는 컴포넌트들을 파일들로 분리합니다.
- 멤버 제거 기능을 추가합니다. (임시)
    - 멤버를 꾹 누르면 다이얼로그가 띄워지고 확인을 누르면 해당 유저를 삭제합니다.

* [Feature]: Management의 전체적 구조 변경 & 애니메이션 개선

- Management를 Map<[헤더] - [멤버리스트]> 의 구조의 State에서 Flat한 형태로 변경합니다.
   - 헤더와 Content는 모두 공통의 FoldableItem으로 interface로 묶습니다.
   - 기존은 for문으로 멤버 컴포저블을 생성하는 방식을 Flat하게 변경하고 Type에 따라 LazyColumn에서 표현하게끔 수정합니다.

- 위의 flat한 구조 변경으로 각 아이템을을  Plcaement 애니메이션을 적용합니다 (for문으로 한번에 컴포저블 생성하면 Placement애니메이션 적용불가)
- LazyColumn의 아이템의 enter 애니메이션을 추가합니다.
- 탭의 Index가 바뀌지 않은이상 멤버의 출결현황이 바뀌어도 Header가 초기화(닫히지)지 않도록 수정합니다.

* [ Feature ]: Header 하단에 Divider추가

* [ Fix ]: InnerPadding으로 인해 잘못입력된 AppBar Padding 수정

* [ Fix ]: 불필요한 코드 제거 및 코드 개선

* [ Fix ]: FoldableItemState를 UI관점이 아닌 State의 관점으로서 메서드 수정

* [ Refactor ] : 깃허브 액션 수정 (#271)

* [ Refactor ] : 환경변수 수정으로 인한 user install 옵션 사용 (#272)

* [ Refactor ] : 디렉토리 수정 (#273)

* [ Refactor ] : 디렉토리 수정 (#274)

* [ Refactor ] : 깃허브 액션 수정 (#275)

* [ Feature ] : 환경변수 추가 (#276)

* [ Feature ] : YAPP 유저 식별을 위한 암호페이지 구현 (#301)

* feat: Remote Config에서 Password 가져오는 dataSource 구현

* feat: Password를 검증하여 성공 실패를 나누는 유스케이스 작성

* refactor: Keyboard Visiblity 상태를 compose State로 제공하도록 변경

* refactor: 이름 작성 화면도 rememberKeyboardVisibillity를 사용하도록 변경

* feat: strings, drawable 리소스 추가

* feat: 암호 화면 및 로직 구현

* feat: 로그인 후 Navigate하고, 회원가입 플로우로 들어가도록 구현

* fix : keyboardoptions, keboardactions 매개변수에 제공 @TaeseongYun

* fix: duplicate keyboard hide effect

* fix: Back Button 클릭 시 로그인 화면으로 돌아가도록 변경

* fix: wrong space

Co-authored-by: Jeongho <[email protected]>

* fix: wrong space

Co-authored-by: Jeongho <[email protected]>

* refactor : @hoyahozz 리뷰 반영

---------

Co-authored-by: Jeongho <[email protected]>

* [ Feature ] : 누적 점수 페이지에 정렬 기준 추가 (#302)

* [ Feature ] : Score Type의 Foldable Item 추가

* [ Feature ] : AdminTotalScore (점수현황) 화면 구현

- 기존 Management화면에서 FoldableItem을 재사용하여 구현합니다.
   - Management / AdminTotalScore의 요구사항에 따라 FoldableItem을 수정합니다.
   - 이에따라 ViewModel의 로직또한 비슷한 형태를 갖추도록 구협합니다.
- 패딩이 들어간 기존 'icon_warning'을 패딩이 들어가지 않은 이미지로 교체합니다.

* [ Feature ] : YDS Box의 가로 패딩 제거

- 해당 컴포저블을 감싸고 있는 padding정책에 따르도록 수정합니다.

* [ Fix ] : 점수 변경시 Header가 초기화(Collapse) 되는 문제 해결 

- ScoreType을 filter하도록 하여 이전의 State의 HeaderState를 올바르게 가져오도록 합니다.

* [ Fix ] : Contract를 import하여 코드 가독성 개선

* [ Fix ] : 오탈자 수정

* [ Feature ] : 버전 업데이트 다이얼로그 구현 (#303)

* feat: VersionEntity 생성

* feat: Remote Config 버전 정보 조회 로직 구현

* fix : 디버그 빌드일 때 1분마다 Remote Config 를 업데이트하도록 구현

* fix : VersionEntity 의 필드 어노테이션을 SerialName 으로 변경

* refactor : VersionType 네이밍 수정

* fix : Version 코드를 Long 형태로 저장하도록 수정

* feat: 플레이스토어 이동 함수 구현

* feat: ResourceProvider 에서 현재 버전 코드를 가져올 수 있도록 구현

* feat: YDSPopupDialog 의 'Negative' 버튼을 Nullable 하게 수정

* Negative 버튼이 NULL일 경우 Postiive 버튼만 보여지게 됩니다.

* feat: 로그인 화면 버전 검증 로직 구현

* feat: 오늘의 세션 화면 버전 검증 로직 구현

* feat: 앱 실행 후 업데이트 요청을 단 한 번만 진행하도록 구현

* fix: Repository 캐싱을 통해 버전 업데이트 요청 여부를 저장하도록 구현

* refactor: 확장 함수 및 스코프 함수를 이용해 코드 리팩터링 @EvergreenTree97

Co-authored-by: Choi Sang Rok <[email protected]>

* fix: 컨플릭트 해결

* feat : 버전 정보 조회 실패 시 안내 다이얼로그 출력 구현

---------

* [ Feature ] : 팀 선택이 되지 않은 유저인경우 팀 선택하라는 팝업 노출 (#300)

* [ Fix ] : 중복된 when 절 체크 제거

* [ Fix ] : BaseViewModel 접근제한자 추가

* [ Feature ] : 멤버 메인 mvi 구조 변경 및 추가

* [ Feature ] : 메인 멤버 mvi 구조 변경으로 인한 추가 로직 수정

* [ Feature ] : 팀 선택이 되지 않은 유저인경우 팀 선택하라는 팝업 노출 로직 추가

* [ chore ] : 스트링 리소스 추가

* [ Refactor ] : 코드리뷰 반영 ( operator 함수 )

navigateToTeam invoke 문구 제거

* [ Fix ] : Dialog onDismiss 가 발현되지 않던 문제 수정 (#312)

* fix: dialog 사이즈가 최대로 측정되어, dimm 영역이 무시되고 있는 상황 수정

* feat: dialog ondismiss에 취소 적용

---------

Co-authored-by: Choi Sang Rok <[email protected]>

* [ Fix ] : 액션 사용 시 ViewModel의 setEvent 메서드를 사용하도록 수정 (#313)

* [ Fix ] : 어드민 로그인 Dialog가 뜨지 않는 이슈 수정 (#314)

- 기존 조건에 부합할 경우 'DialogState.NONE' 상태를 'DialogState.INSERT_CODE_NUMBER' 로 수정합니다

* [ Feature ] : 버전 업데이트 (#315)

- 1.2.0 -> 1.3.0

---------

Co-authored-by: TaeseongYun <[email protected]>
Co-authored-by: Jeongho <[email protected]>
Co-authored-by: Choi Sang Rok <[email protected]>
Co-authored-by: Jihee.Han <[email protected]>
Co-authored-by: taeseongyun <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔨 만듭시다 새로운 기능 구현 (만들기로 합의가 된 것만)
Projects
None yet
3 participants