2022-08-06 클론 코딩 개발 일지

2022. 8. 7. 00:31클론 코딩 일지

1. 문제 :

팔로잉중인 사람을 SearchScreen에서 검색해서 들어갔을때 UserScreen 안에 button text는 팔로잉, color 는 LightGray 로 나와야함.

이 상태에서 버튼을 누르면 -> 다이얼로그가 나오고 팔로우를 취소하시겠습니까? 나와야 함.

확인 누르면 팔로우 취소하고 취소 누르면 다이얼로그 끄고.

 

확인 누른 상태에서 다시 팔로우 버튼을 누르면 요청중으로 바꿔야함 -> 상대방에게 팔로우 요청을 보내고 나는 기다려야함. 

 

해결 :

1) following 중인지 먼저 판단

2) follow boolean 의 상태에따라 button text , color 나눔

3) viewmodel 에서 openDialog Boolean  state를 만들고, 버튼을 눌렀을때 viewmodel 에서 상태를 판단함.

4) state가 following true 일때 -> openDialog state를 true 로 변경

5) 다이얼로그가 나오고 확인 누르면 -> viewmodel에 onDialogConfirmClicked(person: String) 실행 취소는 openDialog false로 변경 

2. 문제:

위에 팔로잉 버튼을 눌러 팔로우를 취소하면 상대방 팔로워 숫자를 줄이고 , 내 팔로잉 숫자를 줄여야함.

 

해결 

updateFollowNum , updateFollowingNum 넣어서 viewmodel 에 버튼 입력 이벤트 함수에 넣었다.

 

의문 

Firebase storage 에서 자체적으로 userInfo 에 있는 follower , following 숫자를 follower List 안에있는 사람의 숫자 개수로 연결 시켜놓을수가 없다. DB 에서 자체적으로 참조하게 하면 굳이 viewmodel 에서 내가 숫자를 늘리고 줄일 필요가 없을텐데..