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

[Base] #25 app navigation 구현 #30

Merged
merged 3 commits into from
Aug 3, 2024
Merged

[Base] #25 app navigation 구현 #30

merged 3 commits into from
Aug 3, 2024

Conversation

l5x5l
Copy link
Contributor

@l5x5l l5x5l commented Aug 1, 2024

Key Changes

app 모듈에 root Navigation 로직 구현 및 일부 화면에 화면 이동 로직 적용
(링크 추가/수정, 포킷 상세, 검색)
Resolves: #25

PR 유형

어떤 변경 사항이 있나요?

  • 새로운 기능 추가
  • 버그 수정
  • CSS 등 사용자 UI 디자인 변경
  • 코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경)
  • 코드 리팩토링
  • 주석 추가 및 수정
  • 문서 수정
  • 테스트 추가, 테스트 리팩토링
  • 빌드 부분 혹은 패키지 매니저 수정
  • 파일 혹은 폴더명 수정
  • 파일 혹은 폴더 삭제

To Reviewers

  • 늘 그렇듯, 이해가 안되거나 개선점을 발견한 경우 피드백 부탁드립니다!
  • 앱의 Root Navigation Host를 생성하였고 현재까지 제가 구현한 화면에 한해 화면 이동 로직을 적용했습니다.
  • 앞으로 화면을 구현할 때, Screen Composable에 화면 이동 로직을 인자로 넣을 수 있게끔 작성해주세요!
// 예시
@Composable
fun MainScreen(
    linkId: String?,
    viewModel: AddLinkViewModel,
    onBackPressed: () -> Unit, // 뒤로가기 이벤트
    onNavigateToAddPokit: () -> Unit, // 포킷 추가 화면으로 이동하는 이벤트,
    onNavigateToPokitDetail: (String) -> Unit, // 포킷 상세 화면으로 이동하는 이벤트, String은 pokit의 id라고 가정
    // 그 외 추가적인 화면 이동 로직~
)

PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • 커밋 메시지 컨벤션에 맞게 작성했습니다.
  • 정해진 코딩 컨벤션에 맞게 작성했습니다.
  • 변경 사항에 대한 테스트를 했습니다.(버그 수정/기능에 대한 테스트)

Etc.

  • 위에도 적혀있다시피, 지금까지 구현한 화면에 한해 Navigation을 구현했으며, 모든 화면 구현이 완료된 경우 navigation관련 추가 작업읈 수행할 예정입니다!

@l5x5l l5x5l requested a review from jiwon2724 August 1, 2024 14:28
@l5x5l l5x5l changed the title Base/#25 app navigation [Base] #25 app navigation 구현 Aug 1, 2024
Copy link
Member

@jiwon2724 jiwon2724 left a comment

Choose a reason for hiding this comment

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

bbb 로그인 프로세스 -> 홈 화면까지 연결 편하게 할 수 있겠당👍
코멘트 답변해주면 확인할겝 바로 머지 고고

Comment on lines +26 to +29
LaunchedEffect(currentDestination) {
currentDestination?.route?.let { route ->
// 믹스패널/파베 애널리틱스 화면 이동 로깅용
}
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 +14 to +36
object AddLink {
val route: String = "addLink"
val linkIdArg = "link_id"
val routeWithArgs = "$route?$linkIdArg={$linkIdArg}"
var arguments = listOf(
navArgument(linkIdArg) {
nullable = true
type = NavType.StringType
}
)
}

object AddPokit {
val route: String = "addPokit"
val pokitIdArg = "pokit_id"
val routeWithArgs = "$route?$pokitIdArg={$pokitIdArg}"
var arguments = listOf(
navArgument(pokitIdArg) {
nullable = true
type = NavType.StringType
}
)
}
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
Contributor Author

Choose a reason for hiding this comment

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

일반적으로 navigation 호출할 때, 인자를 넘겨줄 필요가 없다면 형이 login쪽 구현했던 방식처럼

sealed class LoginRoute(val name: String) {
    data object LoginScreen : LoginRoute("LoginScreen")
    // ~~
}

이렇게 구현하면 되는데, 만약 인자가 필요한 경우에는 그 인자 정보까지 route 경로에 포함을 시켜줘야 돼
위 경우에는 linkIdArg가 있으면 링크 수정/없으면 링크 추가 화면으로 사용되기 때문에 linkIdArg가 선택인자이고, 그렇기 때문에 해당 인자를 nullable하게 설정하고, 그 인자 정보까지 반영된 routeWithArgs를 사용하는 거야

Comment on lines +38 to +43
object PokitDetail {
val route: String = "pokitDetail"
val pokitIdArg = "pokit_id"
val routeWithArgs = "$route/{$pokitIdArg}"
var arguments = listOf(navArgument(pokitIdArg) { defaultValue = "-" })
}
Copy link
Member

Choose a reason for hiding this comment

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

요 부분 이해안가는데 설명 부탁드립니답 22

Copy link
Contributor Author

Choose a reason for hiding this comment

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

여기서는 pokitIdArg가 반드시 필요한 정보기 때문데 ?가 아닌 일반 세부 경로 선언하듯 /를 사용해서 인자 정보를 반영한 routeWithArgs를 선언한 거야

다 적고 보니까 설명을 잘 못한 거 같아서 이와 관련된 공식 문서 링크 달아둘께!

@l5x5l l5x5l merged commit 8b16632 into develop Aug 3, 2024
1 check passed
l5x5l added a commit that referenced this pull request Sep 22, 2024
* [BASE] #1 프로젝트 기본 작업 세팅 (#2)

* commit test

* [base] 버전 카탈로그 설정

* [base] issue, pr 템플릿 생성

* [base] ktlint 적용

* [base] ktlint 적용으로 인한 컨벤션 수정

* [base] 멀티모듈 설정

* [base] ktlint 적용으로 인한 컨벤션 수정

* [base] 코틀린 버전 수정

* [BASE] #3 디자인 시스템 모듈 생성

* [BASE] #3 폰트 파일 추가

* [FEAT] #3 색상, 글꼴 디자인 시스템 적용한 PokitTheme 구현

* [BASE] #3 figma에 존재하는 아이콘 svg파일 추가

* [FEAT] #3 디자인 시스템 버튼 구현

* [FEAT] #3 디자인 시스템 Input 구현

* [FEAT] #3 디자인 시스템 LinkCard 구현

* [FEAT] #3 디자인 시스템 CategoryCard 구현

* [FEAT] #3 디자인 시스템 textInput 구현 - 네이밍을 LabeledInput으로 변경

* [FEAT] #3 디자인 시스템 textArea 구현 - 네이밍을 PokitInputArea로 변경

* [FEAT] #3 누락된 inputAreaState enum class 추가

* [FEAT] #3 디자인 시스템 select 구현

* [FEAT] #3 디자인 시스템 아이콘 리소스 추가

* [FEAT] #3 디자인 시스템 chip 구현

* [FEAT] #3 디자인 시스템 chip 구현 (누락된 attributes 추가)

* [FEAT] #3 디자인 시스템 checkbox 구현

* [FEAT] #3 디자인 시스템 radioSwitch 구현

* [FEAT] #3 디자인 시스템 input 관련 component 리펙토링

* [REFACTOR] #3 디자인 시스템 button component 리펙토링

* [REFACTOR] #3 디자인 시스템 component preview를 별도의 파일로 분리

* [FEAT] #3 디자인 시스템 tap 구현

* [CHORE] #3 ktlink 규칙에 맞게 코드 수정

* [CHORE] #3 디자인 시스템 BottomSheet 구현

* [CHORE] #3 ./gradlew ktlintFormat 적용

* [REFACTOR] #3 디자인 시스템 select component 리펙토링

* [CHORE] #3 when문이 하나의 값을 기준으로 케이스를 구분하고 있으면서, 코드블록에 로직이 없는 경우 한 라인으로 작성하도록 수정

* [CHORE] #3 pokitButtonContainerModifier의 padding 설정 메서드 중 중복되는 부분 분리 및 버튼 preview 수정

* [FEATURE] #4 SNS 로그인 구현 (#6)

* [base] firebase 라이브러리 추가 및 적용

* [base] google-services.json 추가

* [base] gitignore 업데이트

* [chore] 구글 로그인 의존성 마이그레이션

* [chore] 인터넷 권한 추가

* [chore] 미사용 리소스 제거

* [chore] target api 수정

* [chore] credentials proguard 추가

* [chore] login 모듈 manifest 제거

* [chore] 미사용 리소스 제거

* [chore] theme 디자인 시스템 반영 및 로그인 화면 등록

* [feature] 구글 로그인 구현

* [chore] 미사용 리소스 제거 및 즁요 정보 은닉화

* [chore] 트레일링 콤마 추가

* [chore] properties.getProperty elvis 연산 추가

* [chore] properties.getProperty("web_client_id") null인 경우 추가

* [chore] google client id ktlint ci 조건 추가

* [Base] #10 �디자인 시스템 수정 및 추가구현 (#11)

* [UI] #10 text 간격 조절

* [UI] #10 icon만 존재하는 PokitButton의 좌우 패딩값이 상하 패딩값과 동일해지도록 수정

* [UI] #10 컴포넌트 이름 변경 CategoryCard -> PokitList

* [FEATURE] #10 PokitCard 컴포넌트 구현

* [UI] #10 LinkCard 컴포넌트에서 즐겨찾기 제거 및 안읽음 표시 UI 수정

* [UI] #10 LabeledInput에서 글자수 표시 부분을 선택 가능하도록 수정

* [UI] #10 PokitButton Large 사이즈의 높이 조정

* [UI] #10 typography의 글자 크기를 sp에서 dp로 수정

* [UI] #10 PokitBottomSheet가 시스템 navigation bar영역에 겹쳐보이는 문제 수정

* [UI] #10 ktlintFormat 적용

* [UI] #10 PokitInput Default, Input 상태일 시 디자인 수정 및 Round Shape일 때 높이 수정

* [UI] #10 PushCard 컴포넌트 구현

* [FEATURE] #9 링크 추가하기 화면 구현 (#12)

* [BASE] #9 링크 추가 화면 모듈 생성

* [BASE] #9 링크 추가 화면 UI 구현

* [FEAT] #9 링크 추가 화면 ViewModel 구현 및 세부 UI 수정

* [FEAT] #9 링크 수정 화면 구현

* [CHORE] #9 접근 제한자 설정

* [FIX] #9 textField에 텍스트 입력시 cursor가 밀려 비정상적으로 입력되는 현상 수정

* [CHORE] #9 ktlink 형식 맞춤

* [Feature] #13 포킷 추가 화면 구현 (#15)

* [BASE] #13 feature:addpokit 모듈 생성

* [BASE] #13 이미지 선택부분을 제외한 포킷 추가 화면 구현

* [FEATURE] #13 포킷 프로필 선택부분 구현

* [CHORE] #13 ktlint 적용

* [CHORE] #13 포킷 이름 최대 글자수 상수로 분리

* [CHORE] #13 core 모듈 resource를 사용하는 부분을 alias import로 변경

* [CHORE] #13 settings.gradle에 feature:addpokit 모듈 추가

* [Base] #14 디자인 시스템 수정 및 추가구현  (#17)

* [FEATURE] #14 아이템 수정 bottomSheet, 아이템 삭제 bottomSheet 구현

* [UI] #14 PokitList에서 state기본값을 Disable에서 Default로 수정 및 케밥 버튼 제거

* [CHORE] #14 PokitList 케밥 버튼 제거로 인한 인자 변경내용 반영 (AddLinkScreen, AddPokitScreen)

* [CHORE] #14 ModifyBottomSheet, RemoveItemBottomSheet를 PokitBottomSheet 를 포함하지 않는 방식으로 수정

* [FIX] #14 ModifyBottomSheetContent 에서 공유 버튼 클릭 이벤트가 연결되지 않던 문제 수정

* [UI] #8 회원가입, 로그인 프로세스 화면 구현 (#18)

* [UI] #10 text 간격 조절

* [UI] #10 icon만 존재하는 PokitButton의 좌우 패딩값이 상하 패딩값과 동일해지도록 수정

* [UI] #10 컴포넌트 이름 변경 CategoryCard -> PokitList

* [FEATURE] #10 PokitCard 컴포넌트 구현

* [UI] #10 LinkCard 컴포넌트에서 즐겨찾기 제거 및 안읽음 표시 UI 수정

* [UI] #10 LabeledInput에서 글자수 표시 부분을 선택 가능하도록 수정

* [UI] #10 PokitButton Large 사이즈의 높이 조정

* [UI] #10 typography의 글자 크기를 sp에서 dp로 수정

* [UI] #10 PokitBottomSheet가 시스템 navigation bar영역에 겹쳐보이는 문제 수정

* [UI] #10 ktlintFormat 적용

* [UI] #10 PokitInput Default, Input 상태일 시 디자인 수정 및 Round Shape일 때 높이 수정

* [UI] #10 PushCard 컴포넌트 구현

* [chore] core:ui 모듈 추가

* [ui] 로그인 화면 UI 구현

* [chore] ci 코드 컨벤션 반영

* [chore] 로그인 프로세스 string resouce 추가

* [ui] 디자인 시스템 수정

- checkbox iconOnly 대응

* [chore] string resource 추가

* [chore] 디자인 시스템 반영 및 리소스 적용

* [ui] 약관화면 구현

* [chore] string id 수정

* [chore] adjustResize 속성 추가

* [feature] LoginNavHost 구현

* [ui] LoginScreen 구현

* [chore] string resource 수정

* [feature] 약관동의 화면 구현

* [ui] 체크박스 디자인시스템 로직 수정

* [chore] string resource 추가

* [ui] 카테고리, 회원가입 완료 화면 추가

* [chore] 코딩 컨벤션 반영

* [chore] loginbutton 패키지 추가 및 파일 이동

* [chore] string 및 디자인 resource casting

* [chore] 컨벤션 반영

* [chore] 컨벤션 반영

* [chore] Preview 수정

* [chore] 로그인 버튼 속성 수정

* [chore] 미사용 리소스 제거

* [chore] padding 속성 수정

---------

Co-authored-by: yunsehwan <sh10302@naver.com>

* [UI] #16 포킷 상세 화면 구현 (#20)

* [BASE] #16 feature:pokitdetail 모듈 생성

* [UI] #16 LinkCard에서 타이틀 이름이 길어지는 경우 우상단의 케밥 버튼이 밀려나는 현상 수정

* [FEATURE] #16 포킷 상세 화면 UI 구현

* [FEATURE] #16 링크 상세 bottomSheet UI 구현

* [FEATURE] #16 포킷 상세 화면 관련 bottomSheet UI 구현 맟 화면과 연결

* [CHORE] #16 ktlink 적용

* [CHORE] #16 코드 리뷰내용 반영
: lambda 내에서 it대신 명시적인 변수명 사용
: nullable한 변수에 null 기본값 설정

* [Feature] #21 검색 화면 구현 (#23)

* [BASE] #21 검색 화면 모듈 생성

* [FEATURE] #21 필터 영역 제외한 검색 화면 UI 구현 및 PokitInput에서 아이콘 클릭 이벤트를 수신할 수 있도록 변경

* [FEATURE] #21 필터 영역 및 달력 제외한 filter bottomsheet ui 구현

* [FEATURE] #21 달력 ui 구현

* [FEATURE] #21 달력 ui 수정

* [FEATURE] #21 검색 화면에 달력 UI 연결 및 viewModel 구현

* [UI] #21 PokitInput의 singleline 속성 추가 및 KeyboardAction와 focusRequester를 인자 추가 (기본값 존재)

* [CHORE] #21 세부 사항 수정
- 아래 문제점 수정
: "모아보기", "안읽음" 필터 클릭시 포킷 선택으로 bottomSheet가 호출되던 문제
: bottomSheet에서 저장하기 클릭시 필터가 전부 취소되어 있을 때 필터 버튼만 표시되던 문제
- 아래 기능 구현
: 키보드 엔터 클릭시 검색 결과 화면으로 이동
: 검색어 제거 클릭시 검색창 활성화
: 정렬 기준 변경 로직 추가

* [CHORE] #21 ktlint 적용

* [chore] ktlint rule 추가

* [BASE] #22 Hilt 모듈 구현 (#24)

* [chore] hilt 의존성 추가

* [feature] PokitApplication 구현 및 등록

* [feature] NetworkModule 모듈 구현

* [chore] 타임아웃 설정

* [chore] auth request, response 데이터 추가

* [chore] auth api 추가

* [chore] auth api 수정

* [chore] 버전 카탈로그 라이브러리 추가

- domain 모듈 inject
- logging-interceptor

* [feature] hilt + 네트워크 모듈 구현

* [chore] @androidentrypoint 애노테이션 추가

* [chore] kotest 의존성 추가

* [feature] sns로그인 api연동

* [feature] 테스트 토큰 인터셉터 구현

* [feature] 닉네임 입력 화면 설계

* [chore] 뷰모델 주입

* [chore] 미사용 리소스 제거

* [chore] 코딩 컨벤션 적용

* [chore] 코딩 컨벤션 적용

* [chore] orbit 제거

* [chore] LoginScreen 로직 수정

* [feature] 애플 로그인 구현

* [feature] 네트워크 통신 모듈 구현

* [chore] 클래스명 수정

* [chore] 주석 제거

* [feature] parseErrorResult 함수 구현

* [chore] 닉네임 중복 처리 api 세팅

* [chore] parseErrorResult 분리 및 적용

* [chore] 중복 닉네임 api 세팅

* [chore] 코딩 컨벤션 반영

* [chore] ktlint rule 추가

* [chore] ktlint_standard_function-name 제거

* [chore] 파일 이름 수정

* [Base] #26 디자인 시스템-BottomSheet 추가 및 수정 (#27)

* [FIX] #26 기존 bottomSheet에서 close animation이 제대로 동작하지 않던 문제 수정

* [FEATURE+FIX] #26 단일 버튼 BottomSheet 구현 및 기존 RemoveItemBottomSheet를 TwoButtonBottomSheet로 변경

* [CHORE] #26 ktlint 적용

* [CHORE] #26 코드 리뷰 피드백 반영

* [Base] #25 app navigation 구현 (#30)

* [BASE] #25 hilt 미적용 feature 모듈에 대해 hilt 라이브러리 설정 및 hiltViewModel 적용

* [BASE] #25 루트 네비게이션 로직 초기 구현
- 아직 각 화면간 이동 로직은 구현되지 않고 navHost내 화면들만 구성한 상태

* [BASE] #25 optional한 인자 전달 관련 코드 수정 및 아래 구현된 Screen에 화면 이동 로직 적용
- 링크 추가/수정
- 포킷 상세
- 검색

* [FEATURE] #29 로그인 프로세스 api 연동 (#31)

* [chore] 주석 제거

* [feature] 닉네임 중복체크 API 연동

* [chore] string resource 추가

* [feature] 회원가입 UseCase 구현

* [chore] 회원가입 api 추가

* [chore] 디폴트 아규먼트 수정

* [feature] 회원가입 API 연동 및 구현

* [chore] 코드 컨벤션 적용

* [chore] 코드리뷰 반영

* [chore] 가시성 제한자 수정

* [chore] 코드 컨벤션 수정

* [FEATURE] #7 설정화면 구현 (#33)

* [base] settings 모듈 추가

* [base] string resource 추가

* [chore] 컴포즈 의존성 추가

* [chore] settings 모듈 의존성 추가

* [chore] compose 옵션 추가

* [ui] 설정화면 UI 구현

* [ui] 바텀시트 추가

* [ui] 닉네임 수정 화면 구현

* [feature] 닉네임 수정 구현

* [chore] 코딩 컨벤션 반영

* [chore] 코딩 컨벤션 반영

* [chore] 코딩 컨벤션 반영

* [chore] 코드리뷰 반영

* [chore] 코딩 컨벤션 반영

* [Feature] #32 포킷 상세 및 포킷 추가/수정화면 API 연결 (#35)

* [FEATURE] #32 포킷 목록 조회 API 구현 (useCase, repository, datasource, api)

* [FIX] 포킷 상세 화면에서 포킷 수정과 링크 수정의 이벤트 호출부가 서로 바뀌어 있던 현상 수정

* [BASE] #32 RemotePokitDataSource, PokitRepositoryImpl 관련 테스트코드 작성

* [BASE] #32 pokitDetail 모듈에 domain의존성 추가 및 매핑 함수 구현

* [BASE] #32 포킷 상세 화면 포킷 목록 조회 useCase 연결 및 포킷 목록 페이지네이션 구현

* [FEATURE] #32 포킷 상세 화면 포킷 목록 조회 useCase 연결 및 포킷 목록 페이지네이션 구현

* [FEATURE] #32 포킷 수정/포킷 추가 API, repository, useCase 구현

* [UI] #32 포킷 상세 화면에서 링크 아이템의 날짜+도메인을 표시하는 텍스트의 최대 라인을 1로 변경 및 해당 케이스 preview 추가

* [FEATURE] #32 카테고리 내 링크 목록 조회 API, repository, useCase 구현

* [UI] #32 카테고리 상세 화면에서 필터의 정렬 기준값 2개가 모두 "최신순"으로 되어있던 부분 수정

* [FEATURE] #32 카테고리 상세 화면에서 링크 페이지네이션 적용 및 기존 카테고리 내 링크 목록 조회에서 필터 옵션 적용가능하도록 수정 + 테스트코드 추가

* [FIX] #32 포킷 목록 페이징에서 새로고침시 기존 데이터를 지우지 않던 문제 수정

* [FIX] #32 포킷 내 링크 목록 조회의 response 변경내역 적용 및 포킷 상세 화면에 진입할 때마다 새로고침되는 현상 수정

* [FEATURE] #32 포킷 상세조회, 포킷 이미지 목록 조회 API, Datasource, Repository, UseCase 구현

* [FEATURE] #32 포킷 상세 화면에 포킷 상세조회 UseCase연결

* [FEATURE] #32 포킷 추가/수정 화면에 API 연결 및 포킷 목록 리스트 페이지네이션 적용

* [FIX] #32 포킷 추가 모듈에 누락된 coil 라이브러리 의존성 추가

* [FEATURE] #32 포킷 추가 화면에 추가/수정 API 연결 및 포킷 도메인과 관련된 에러 코드 매핑 로직 구현

* [FEATURE] #32 포킷 삭제, 포킷 개수 조회 API, datasource, repository, useCase 구현

* [FEATURE] #32 포킷 상세 화면에 포킷 삭제 API 연결

* [FEATURE] #32 포킷 수정 후 포킷 상세 화면에서 포킷 명 변경 반영

* [CHORE] #32 ktlint 적용, 오타 수정

* [CHORE] #32 코드리뷰 반영

* [Feature]#36 링크 관련 API 구현 및 링크 추가/수정 화면, 검색 화면에 연결 (#37)

* [FEATURE] #36 링크 삭제, 링크 수정, 검색 링크 목록, 링크 상세 조회 API, Datasource, UseCase 구현

* [FEATURE] #36 검색화면 검색 API 연동

* [FEATURE] #36 검색화면 bottomSheet 내 포킷 목록 조회 API 연결

* [FEATURE] #36 검색화면의 link상세 bottomSheet 구현 및 기존 bottomSheet에 공유 제외 클릭 이벤트 연결

* [BASE] #36 data 모듈에 room, sharedPreferences 관련 세팅 및 데이터베이스 구성

* [FEATURE] #36 최근 검색어 관련 기능 구현

* [FEATURE] #36 즐겨찾기 등록/취소 API, datasource, useCase 구현

* [FEATURE] #36 검색 화면에 즐겨찾기 등록/취소 API 연결

* [FIX] #36 페이징 클래스에서 아이템 수정이 반영되지 않는 문제 수정

* [FEATURE] #36 링크 추가, open graph 링크 메타 정보 조회 api, datasource, repository, usecase 구현

* [FEATURE] #36 링크 추가 화면에 링크 추가, 링크 수정, 링크 메타 정보 조회 useCase 연결

* [FIX] #36 링크 추가 화면에서 링크 입력 도중 1초 이상 시간 소요시 키보드를 강제 종료시키는 문제 수정

* [CHORE] #36 ktlint 적용

* [FEATURE] #36 미분류 카테고리 컨텐츠 조회 API, datasource, api 구현

* [FIX] #36 rootNavHost에 링크 추가/삭제 화면 인자 변경 반영

* [FEATURE] #19 Home화면 UI 구현 및 API 연동 (#38)

* [base] 모듈 생성

* [chore] 프로가드 파일 추가

* [ui] HomeHeader UI 구현

* [ui] PokitScreen subBar UI 구현

* [chore] 이름 수정

* [ui] PokitItem 구현

* [ui] PokitItem 구현

* [chore] PokitItem 삭제

- 하 개뻘짓함;;;

* [ui] PokitScreen UI 구현

* [chore] 프리뷰 이름 수정

* [ui] 미분류 UI 구현

* [ui] 바텀네비 구현

* [ui] 헤더 수정

* [ui] mid 수정

* [ui] Pokit 화면 구현

* [ui] HomeScreen 포킷 화면 연동

* [chore] height 수정

* [chore] 아이콘 사이즈 수정

* [chore] 미사용 리소스 제거

* [ui] 미분류 화면 구현

* [ui] 리마인드 화면 구현

* [Feature] #32 포킷 상세 및 포킷 추가/수정화면 API 연결 (#35)

* [FEATURE] #32 포킷 목록 조회 API 구현 (useCase, repository, datasource, api)

* [FIX] 포킷 상세 화면에서 포킷 수정과 링크 수정의 이벤트 호출부가 서로 바뀌어 있던 현상 수정

* [BASE] #32 RemotePokitDataSource, PokitRepositoryImpl 관련 테스트코드 작성

* [BASE] #32 pokitDetail 모듈에 domain의존성 추가 및 매핑 함수 구현

* [BASE] #32 포킷 상세 화면 포킷 목록 조회 useCase 연결 및 포킷 목록 페이지네이션 구현

* [FEATURE] #32 포킷 상세 화면 포킷 목록 조회 useCase 연결 및 포킷 목록 페이지네이션 구현

* [FEATURE] #32 포킷 수정/포킷 추가 API, repository, useCase 구현

* [UI] #32 포킷 상세 화면에서 링크 아이템의 날짜+도메인을 표시하는 텍스트의 최대 라인을 1로 변경 및 해당 케이스 preview 추가

* [FEATURE] #32 카테고리 내 링크 목록 조회 API, repository, useCase 구현

* [UI] #32 카테고리 상세 화면에서 필터의 정렬 기준값 2개가 모두 "최신순"으로 되어있던 부분 수정

* [FEATURE] #32 카테고리 상세 화면에서 링크 페이지네이션 적용 및 기존 카테고리 내 링크 목록 조회에서 필터 옵션 적용가능하도록 수정 + 테스트코드 추가

* [FIX] #32 포킷 목록 페이징에서 새로고침시 기존 데이터를 지우지 않던 문제 수정

* [FIX] #32 포킷 내 링크 목록 조회의 response 변경내역 적용 및 포킷 상세 화면에 진입할 때마다 새로고침되는 현상 수정

* [FEATURE] #32 포킷 상세조회, 포킷 이미지 목록 조회 API, Datasource, Repository, UseCase 구현

* [FEATURE] #32 포킷 상세 화면에 포킷 상세조회 UseCase연결

* [FEATURE] #32 포킷 추가/수정 화면에 API 연결 및 포킷 목록 리스트 페이지네이션 적용

* [FIX] #32 포킷 추가 모듈에 누락된 coil 라이브러리 의존성 추가

* [FEATURE] #32 포킷 추가 화면에 추가/수정 API 연결 및 포킷 도메인과 관련된 에러 코드 매핑 로직 구현

* [FEATURE] #32 포킷 삭제, 포킷 개수 조회 API, datasource, repository, useCase 구현

* [FEATURE] #32 포킷 상세 화면에 포킷 삭제 API 연결

* [FEATURE] #32 포킷 수정 후 포킷 상세 화면에서 포킷 명 변경 반영

* [CHORE] #32 ktlint 적용, 오타 수정

* [CHORE] #32 코드리뷰 반영

* [chore] HomeViewModel 추가

* [feature] 카테고리 타입 화면 렌더링 구현

* [feature] 리마인드 화면 연결

* [feature] 정렬순서 로직 반영

* [Feature]#36 링크 관련 API 구현 및 링크 추가/수정 화면, 검색 화면에 연결 (#37)

* [FEATURE] #36 링크 삭제, 링크 수정, 검색 링크 목록, 링크 상세 조회 API, Datasource, UseCase 구현

* [FEATURE] #36 검색화면 검색 API 연동

* [FEATURE] #36 검색화면 bottomSheet 내 포킷 목록 조회 API 연결

* [FEATURE] #36 검색화면의 link상세 bottomSheet 구현 및 기존 bottomSheet에 공유 제외 클릭 이벤트 연결

* [BASE] #36 data 모듈에 room, sharedPreferences 관련 세팅 및 데이터베이스 구성

* [FEATURE] #36 최근 검색어 관련 기능 구현

* [FEATURE] #36 즐겨찾기 등록/취소 API, datasource, useCase 구현

* [FEATURE] #36 검색 화면에 즐겨찾기 등록/취소 API 연결

* [FIX] #36 페이징 클래스에서 아이템 수정이 반영되지 않는 문제 수정

* [FEATURE] #36 링크 추가, open graph 링크 메타 정보 조회 api, datasource, repository, usecase 구현

* [FEATURE] #36 링크 추가 화면에 링크 추가, 링크 수정, 링크 메타 정보 조회 useCase 연결

* [FIX] #36 링크 추가 화면에서 링크 입력 도중 1초 이상 시간 소요시 키보드를 강제 종료시키는 문제 수정

* [CHORE] #36 ktlint 적용

* [FEATURE] #36 미분류 카테고리 컨텐츠 조회 API, datasource, api 구현

* [FIX] #36 rootNavHost에 링크 추가/삭제 화면 인자 변경 반영

* [ui] TodayLinkCard 구현

* [feature] 미사용 리소스 제거 및 포킷 조회 api 연동

* [chore] createdAt 추가

* [chore] createdAt 추가

* [feature] 최신순, 이름순 정렬 구현

* [chore] coil 추가

* [chore] private 키워드 추가

* [chore] private 키워드 수정

* [feature] 미분류 구현

* [chore] 미사용 리소스 제거

* [feature] 리마인드 api 연동

* [chore] 컴포저블 이름 수정

* [ui] 바텀시트 구현

* [feature] 1차 QA

* [chore] ktlint test

* [chore] 주석제거

* [chore] , 추가

---------

Co-authored-by: Sehwan Yun <39579912+l5x5l@users.noreply.github.com>

* [Feature] #34 알림 화면 구현 (#40)

* [BASE] #34 feature:alarm 모듈 생성

* [FEATURE] #34 Alert관련 API, Datasource, Repository, UseCase 구현

* [FEATURE] #34 알림함 화면 구현 및 rootNavHost에 추가

* [FIX] #34 알림함 화면에서 페이지네이션이 정상적으로 수행되지 않던 문제 수정 및 알람 제거시 애니메이션 효과 추가

* [CHORE] #34 알림함 화면 Preview 문제 해결

* [UI] #41 8월 22일자 디자인 QA 적용 (#42)

* [UI] #41 메인 화면 하단 네비게이션 클릭 영역 조절

* [UI] #41 디자인 시스템 수정
- 브랜드 색상 변경
- body1SemiBold 폰트 스타일 추가
- PokitButton에 DEFAULT 스타일 추가
- PokitCard 이미지 크기 및 폰트 수정

* [UI] #41 홈 화면 포킷/미분류 버튼 사이즈 조절 및 PokitScreen Modifier 인자 미적용 수정

* [UI] #41 포킷 추가화면 수정사항 반영
- 포킷 목록 텍스트 색상 수정
- 배경색상 수정
- 상단 toolbar 간격 조정
- 포킷 이미지 내 배경색 제거
- 포킷 추가시 기본 포킷 이미지를 푸키로 설정
- 포킷 이미지 선택 UI 수정

* [UI] #41 링크 추가화면 수정사항 반영
- 배경화면 색상 수정
- 저장하기 버튼 하단 고정

* [UI] #41 검색화면 수정사항 반영
- 배경화면 색상 수정
- 필터 chip 순서 수정 및 텍스트 변경

* [UI] #41 status bar 색상을 흰색으로 수정

* [UI] #41 홈 화면에서 좌우 끝부분에 연보라색 영역 제거

* [UI[ #28 스플래쉬 및 로그인 UI 수정 (#43)

* [chore] datastore 의존성 추가

* [chore] datastore 의존성 수정

* [chore] preference 의존성 추가

* [feature] LocalDataSource 구현

* [feature] 스플래쉬 화면 구현

* [ui] 로그인 화면 로고 추가

* [chore] 브랜드 컬러 수정

* [ui] 회원가입 완료 화면 구현

- svg 이슈 확인할 것

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

- svg 이슈 확인할 것

* [chore] 코딩 컨벤션 적용

* [chore] 코딩 컨벤션 적용

* [chore] 메인화며 로직 수정

* [Fix] hackerton ysh (#45)

* [FIX] #41 링크 추가/삭제 UseCase, Repository의 Result 타입을 int에서 Link로 수정 (링크 업데이트 내용 반영 구현 관련)

* [BASE] #41 core:feature 모듈 추가

* [FIX] #41 RemindResult에 id값 추가

* [FEATURE] #41 링크 추가/수정, 포킷 추가/수정시 다른 화면에 반영되도록 구현

* [FIX] #41 포킷 수정화면에서 기존 포킷의 정보를 UI에 반영하지 못하는 문제 수정, 포킷 수정 호출시 memo가 emptyString일시 body request에서 제외되어 전송되는 문제 수정

* [FIX] #41 리마인드 화면 내 화면 이동 로직 누락 수정

* [FIX] #41 링크 리스트 조회의 isRead, favorites 변수값을 Nullable하게 수정

* [FEATURE] #41 포킷, 링크 삭제 발생시 관련 화면에서 이벤트 수신 가능하도록 구현

* [CHORE] #41 ktlint 적용

* [FIX] #41 포킷 상세 조회시 기본 필터값 중 북마크여부와 안읽음 여부를 false로 변경

* [FEATURE] #44 토큰 인터셉트, 리프레쉬 구현 (#46)

* [chore] NavHost 백그라운드 추가

* [feature] 토큰 인터셉트 구현

* [chore] 파일 이름 수정

* [feature] isRegistered에 따른 로직 분기 구현 (#49)

* [FEATURE] #48 hackerton (#51)

* [feature] isRegistered에 따른 로직 분기 구현

* [feature] 자동 로그인 구현

* [feature] 공지사항 등 url 링크 이동

* [feature] 회원탈퇴 구현

* [base] 아이콘 등록

* [chore] 코딩 컨벤션 수정

* [chore] 미사용 리소스 제거

* [feature] noRippleClickable 구현 및 적용

* [base] 로고 수정 및 앱 이름 수정 반영

* [chore] 코딩 컨벤션 반영

* [feature] 설정화면 기능 구현

* [chore] 코딩 컨벤션 반영

* [chore] 로그 제거

* [UI] #47 세부 UI 수정 (#50)

* [UI] #47-회원가입 성공화면 이미지 추가

* [FIX] #47-링크/포킷 추가시 관련 화면에서 이벤트 수신 및 처리부분 추가

* [FIX] #47-response가 없는 api의 경우 리턴값을 Response<Unit>으로 설정 및 이에 따른 dataSource 코드 수정

* [BASE] #47-로딩, 에러, 빈 리스트시 표시할 component 추가

* [FEATURE] #47-홈, 검색, 포킷 상세 화면에서 로딩/에러/빈 리스트 표시 UI 적용

* [BASE] #47-커스텀 토스트 UI component 추가

* [FIX] #47-홈 화면에 누락된 포킷 제거 이벤트 추가

* [CHORE] #47-ktlint 적용

* [FIX] #47-검색 API에서 isRead와 favorites를 Nullable하게 변경

* [FIX] #47-검색 화면에서 링크 이미지가 구글 로고로 표시되던 문제 수정

* [FIX] #47-LinkCard의 badgeText를 Nullable하게 수정 및 리마인드 화면에서 링크 url이 badgeText로 들어가는 문제 수정

* [FIX] #47-검색 화면에서 안읽은 표시가 정 반대로 표시되는 문제 수정

* [FEATURE] #47-홈 화면, 링크 추가 화면에 PokitToast 적용

* [CHORE] #47-ktlint 적용

* [FEATURE] #52 로그인 바텀시트 렌더링 (#53)

* [feature] 로그인 바텀시트 구현

* [chore] 코딩 컨벤션 적용

* [FIX] #54-링크 클릭시 웹 브라우저 호출 로직 구현 (#55)

* [feature] 설정화면 뒤로가기 구현

* [Fix] #56 세부사항 수정 (#57)

* [FIX] #56-홈 화면/포킷 미분류 목록 표시 문제 및 케밥 버튼 클릭 이벤트 누락 수정

* [FIX] #56-홈 화면/포킷 미분류 목록 클릭시 상세 bottomSheet가 표시되지 않던 문제 수정

* [FIX] #56-검색 화면에서 링크 삭제 이벤트 누락 수정

* [FIX] #56-포킷 상세 화면에서 링크 제거시 자동으로 뒤로가기 이벤트가 발생하던 현상 수정 및 링크 제거시 리스트에서 해당 링크가 제거되도록 수정

* [FIX] #56-링크 수정 화면 진입시 링크 썸네일 이미지를 가져오는 작업 추가

* [CHORE] #56-누락된 코드 추가

* [CHORE] #56-심사제출용 미동작 버튼 UI 숨김처리

* [FIX] #56-리마인드 화면에서 링크 상세 bottomSheet에서 이미지가 보이지 않는 문제 수정

* [CHORE] #56-ktlint 적용

* [Fix] #58 메인 화면 QA 진행 (#60)

* [REFACTOR] #58-링크 상세 bottomsheet를 core:ui 모듈로 이동 및 적용

* [CHORE] #58-미사용 component 제거

* [FIX] #58-링크 상세 bottomSheet에서 이미지가 Crop되어 보이지 않는 문제 수정

* [FIX] #58-링크 기본 썸네일 이미지가 표시되지 않는 문제 수정

* [FIX] #58-메인 포킷 화면에서 포킷 수정 클릭시 포킷 상세로 이동하던 문제 수정

* [FIX] #58-메인 포킷 화면에서 정렬기준 변경시 반영되지 않던 문제 수정

* [FIX] #58-메인 포킷 화면에서 미분류 링크 정렬 변경시 반영되지 않던 문제 수정

* [FIX] #58-메인 화면에서 알람 클릭시 알람 화면으로 이동하지 않는 문제 수정

* [FIX] #58-메인 화면 리마인드에서 "오늘 이 링크는 어때요?" 부분이 정상적으로 표시되지 않던 문제 수정

* [FIX] #58-메인 화면 리마인드의 링크 상세 bottomSheet에서 즐겨찾기 변경 기능 추가

* [CHORE] #58-ktlint 적용

* [FIX] #59 20240828 QA (#62)

* [chore] 알림 설정 텍스트 숨김 처리

* [chore] 회원가입 뒤로가기 버튼 숨김 처리

* [chore] 닉네임 중복 검사 딜레이 감소

* [chore] 닉네임 처리 진해중

* [chore] 닉네임 처리 진해중

* [Fix] #61 qa add pokit link (#63)

* [FIX] #61-미분류 링크 추가 후 메인 화면 포킷에 적용되지 않는 문제 수정

* [FIX] #61-포킷 추가 요청 에러 발생시 뒤로가기 및 다른 화면 이벤트가 반응하지 않는 문제 수정, 닉네임 중복 검사 에러시 toast 메세지가 표시되도록 변경

* [FIX] #61-링크 추가 화면에서 포킷 목록 조회시 미분류가 표시되지 않는 문제 수정

* [FIX] #61-링크 추가 화면에서 리마인드 기능 임시 비활성화, 링크 추가화면에서 포킷 추가시 해당 포킷으로 설정되도록 수정, 타이틀 글자제한 제거

* [FIX] #61-홈 화면 포킷에서 링크 수정 bottomSheet 호출시 pokit수정 bottomSheet가 같이 올라오는 문제 수정

* [FIX] #61-링크 추가 화면에서 타이틀 설정 안되는 문제 수정

* [FIX] #61-링크 추가 화면에서 url로드 성공시 타이틀을 url 타이틀로 수정

* [CHORE] #61-ktlint 적용

* [Fix] #64 qa link detail (#66)

* [FIX] #64-링크 상세 BottomSheet에서 알림 아이콘이 항상 활성화되어있는 문제와 포킷명이 항상 "텍스트"로 표시되는 문제 수정

* [FIX] #64-링크 즐겨찾기 취소가 정상적으로 작동하지 않던 문제 수정

* [FIX] #64-링크 상세 bottomSheet에 즐겨찾기 클릭이 작동하지 않던 문제 수정, 추가/수정/공유 bottomSheet에서 공유 버튼 제거

* [CHORE] #64-ktlint

* [FIX] #64-포킷 상세 화면에서 읽음 안읽음 여부가 반대로 표시되던 문제 수정, 북마크 변경이 정상적으로 동작하지 않던 문제 수정

* [FIX] #64-(임시수정) 즐겨찾기 링크에서 카테고리 이름 표시 부분에 링크 Url이 표시되는 현상 수정하기 위해 임의로 해당 UI 제거. 추후 Remind 데이터 형식에 포킷명이 포함되도록 수정할 때 다시 반영 필요

* [CHORE] #64-ktlint 적용

* [Fix] #67 qa bottom sheet (#68)

* [fix] 닉네임 로직 수정

- isError 확인

* [fix] 공유하기 토스트 추가

- 토스트 추가

* [fix] 공유, 수정, 삭제 버튼 노출

* [fix] 메모 입력 버그 수정

* [chore] 코딩 컨벤션 반영

* [FIX] #67-링크 추가 화면에서 포킷목록 조회 bottomSheet에서 포킷목록이 많을 경우 화면을 꽉 채우는 문제 수정

* [FIX] #67-bottomSheet의 구분을 위한 그림자 추가

* [FIX] #67-홈 화면에서 bottomSheet의 배경 색상 수정

* [FIX] #67-라미인드 화면 배경 색상 조정

* [FIX] #67-리마인드 화면에서 "오늘 이 링크는 어때요?"에 표시되는 link UI의 카테고리 표시 부분 임시 숨김처리 수행

* [FIX] #67-검색 화면에서 공유 기능 누락 추가

---------

Co-authored-by: jiwon2724 <stopone3119@naver.com>

* [Fix]#69 1차 배포 전 QA 사항 반영 (#70)

* [FIX] #69-포킷 수정 중 수정 전 포킷 이름도 닉네임 중복 검사에 포함되던 문제 수정

* [FIX] #69-미분류 링크 목록에서 링크 상세 조회시 읽은 처리가 안되는 문제

* [FIX] #69-포킷 상세 화면에 진입시 포킷 내 링크 개수가 0으로 표시되는 문제 수정

* [FIX] #69-포킷 상세, 닉네임 설정, 설정화면의 헤더 영역의 위치를 링크 추가 화면의 헤더 영역의 위치로 통일

* [UI] #69-알림함 화면에서 알림이 비었을 때 표시되는 UI 추가 및 적용

* [FIX] #69-bottomSheet 그림자 수정 및 포킷 상세에서 포킷 목록 bottomSheet 조회시 bottomSheet가 화면 전체를 채우는 문제 수정

* [FIX] #69-링크 상세 bottomSheet에 수정/삭제 클릭 이벤트 누락 추가

* [FIX] #69-검색 화면에서 링크 조회시 안읽음 처리가 변경되지 않는 문제 수정

* [FIX] #69-링크 수정시 간혹 링크 이미지가 안보이는 문제 수정

* [CHORE] #69-ktlint 적용

* [CHORE] #69-ktlint 적용

* [CHORE] #69-푸키 캐릭터 영문명 수정 (pokki -> pooki)

* [CHORE] #69-modifier에서 height, width가 동일한 경우 size를 사용하도록 수정

* [CHORE] 버젼 코드 수정

---------

Co-authored-by: 정지원 <stopone3119@gmail.com>
Co-authored-by: jiwon2724 <stopone3119@naver.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BASE] 앱 전체 네비게이션 구현
2 participants