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

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

Merged
merged 9 commits into from
Jul 19, 2024
Merged

Conversation

l5x5l
Copy link
Contributor

@l5x5l l5x5l commented Jul 17, 2024

Key Changes

포킷 상세 화면 UI를 구현했습니다.
Resolves: #16

PR 유형

어떤 변경 사항이 있나요?

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

To Reviewers

  • composable의 인자값으로 함수를 받을 때 인자명을 어떻게 설정하시는지 궁금합니다!
    예를 들어, composable내 버튼을 누르면 bottomSheet를 발생시킨다고 했을 때
    • composable내 이벤트 발생 조건을 기준으로 하시는지 (예를 들어, onClickButton)
    • 해당 메서드의 기능을 중심으로 하시는지 (예를 들어, showBottomSheet)
    • 그 외 의견
      굳이 composable이 아니더라도 custom view에서 사용하는 함수인 경우에도 괜찮으니, 어떤 방식으로 명명하고 계시는지 여줘봅니다...!

PR Checklist

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

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

Etc.

  • 페이징을 포함하여 세부적인 로직은 아직 구현되지 않은 상황입니다, 해당 부분은 다른 화면 UI작업 후 api나오는대로 구현 예정입니다!

@l5x5l l5x5l requested a review from jiwon2724 July 17, 2024 11:55
@l5x5l l5x5l linked an issue Jul 17, 2024 that may be closed by this pull request
1 task
@jiwon2724
Copy link
Member

composable의 인자값으로 함수를 받을 때 인자명을 어떻게 설정하시는지 궁금합니다!

으음.. 저는 해당 메서드의 기능을 중심으로 보통 사용하는데, 더 읽기 쉬운 느낌이 있어서 선호하고있어요ㅎㅎ
ex ) showFailureDialog

근데, 컴포즈는 컴포저블 함수에 이벤트 발생조건으로 명시 하는게 더 좋아보이는데요!?
ex)

Button(onClickButton = { PokitBottomSheet(...) }) // 버튼을 클릭하면 바텀시트가 렌더링된다.
Button(showBottomSheet = { PokitBottomSheet(...) }) // 버튼을 ? 하면 showBottomSheet가 나온다?

세환님이 질문하신 부분에 제대로 답변했는지 모르겠네요ㅎㅎ 아니라면 카톡 부탁드리구 맞다면 세환님 의견도 궁금합니답ㅎ

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.

ㅎㅎ 이번 작업도 고생 많으셨습니다!
간단하게 코멘트 남겨봤어용 세환님 의견도 알려주세요😀

Comment on lines +86 to +87
linkList: List<Link> = emptyList(),
pokitList: List<Pokit> = emptyList(),
Copy link
Member

Choose a reason for hiding this comment

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

links, pokits 변수 네이밍은 어떠신지요?.?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

links, pokits보다는 뒤에 list가 붙는게 더 파악하기 쉬워서 저는 list를 붙이는 것을 선호하는 편입니다!
이것도 의견 나눠본 다음 변수명 관련해서 컨벤션 지정하면 좋을 것 같아요!

Comment on lines 151 to 154
PokitList(
item = it,
title = it.title,
sub = stringResource(id = R.string.link_count_format, it.count),
Copy link
Member

Choose a reason for hiding this comment

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

람다의 it보단 의미있는 네이밍은 어떠신가요~ㅎ,ㅎ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

좋습니다! 반영할께요 👍

import pokitmons.pokit.core.ui.components.atom.button.attributes.PokitButtonShape
import pokitmons.pokit.core.ui.components.atom.button.attributes.PokitButtonSize
import pokitmons.pokit.core.ui.theme.PokitTheme
import pokitmons.pokit.core.ui.R.drawable as coreDrawable
Copy link
Member

Choose a reason for hiding this comment

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

오 이렇게 명명 지으니 너무 좋은데요?
저는 as Login 이후 Login.string << 이런식으로 참조했는데
단일 리소스를 사용하는 경우에 좋아보입니다ㅎㅎ

해당 부분도 컨벤션으로 지정해볼까요?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

좋습니다! coreDrawable, coreString, loginString 이런 식으로
[모듈명][리소스명] 이런 식으로 컨벤션 지정하면 좋을 것 같아요

data class Link(
val id: String,
val title: String,
val imageUrl: String?,
Copy link
Member

Choose a reason for hiding this comment

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

나중에 default argument 추가 부탁드립니답ㅎㅎ

Copy link
Contributor Author

Choose a reason for hiding this comment

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

default argument를 지정하는 이유가 있을까요?
제가 모르는 이점이 있을 것 같아 여쭤봅니다!

Copy link
Member

@jiwon2724 jiwon2724 Jul 18, 2024

Choose a reason for hiding this comment

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

라인을 잘못 설정해서ㅎㅎ imageUrl만 해당됩니당

imageUrl이 null인 경우가 있나? << 해당 주제에 먼저 초점을 맞추면 어떨까 싶습니당
썸네일이 없는 링크 or 정보가 있겠죠 default argument 지정한다면, null처리 로직은 없어도 되지 않을까요?.?

id = "1",
title = "자연 친화적인 라이프스타일을 위한 환경 보호 방법",
imageUrl = null,
dateString = "2024.04.12",
Copy link
Member

Choose a reason for hiding this comment

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

pokitList, linkList와 마찬가지로, 변수명에 자료형을 사용하지 않아도 타입을 통해 충분히 어떤 변수인지 파악이 가능할 것 같습니답ㅎㅎ

Copy link
Contributor Author

@l5x5l l5x5l Jul 18, 2024

Choose a reason for hiding this comment

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

sampleList로 지정하면 해당 list가 Pokit으로 구성된 샘플 list인지, link로 구성된 샘플 list인지 파악하기 어려울 수도 있을 거라 생각했습니다!
아니면 Pokit/Link의 companion object내 sampleList로 작성하는 것도 괜찮을 것 같은데 이건 어떠실까요?!

Copy link
Member

Choose a reason for hiding this comment

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

네이밍에 자료형이 들어가는건 지양하는 편입니다아ㅎㅎ
컬렉션 프레임워크에서 List -> Set으로 바뀐다면 해당 변수 네이밍은 어떻게 바뀌어야 할까요?.?

List 자체가 복수의 성질을 가지고 있어서 변수명에 자료형을 명시하지 않아도 된다는 생각이에요!

: lambda 내에서 it대신 명시적인 변수명 사용
: nullable한 변수에 null 기본값 설정
@l5x5l l5x5l merged commit ba6b1d7 into develop Jul 19, 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 <[email protected]>

* [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 <[email protected]>

* [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 <[email protected]>

* [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: 정지원 <[email protected]>
Co-authored-by: jiwon2724 <[email protected]>
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.

[UI] 포킷 상세 화면 구현
2 participants