Skip to content

Conversation

@gdaegeun539
Copy link
Member

@gdaegeun539 gdaegeun539 commented Dec 28, 2025

Please check if the PR fulfills these requirements

  • The commit message follows our guidelines

What kind of change does this PR introduce?

Select your one and delete others

  • Implement design

What is the current behavior?

You can also link to an open issue here

SCRUM-255

What is the new behavior (if this is a feature change)?

Music 컴포넌트를 구현합니다.
해당 컴포넌트가 사용되는 5가지 형태를 모두 포함합니다.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

No breaking changes.
기존 컴포넌트에 신규 컴포넌트를 사용하는 방식으로 사용하지만, 이번에 제작한 신규 컴포넌트의 사용법과 동일합니다.

ScreenShots (If needed)

NoteComponent에 이 컴포넌트를 사용해도 형태가 변형되지 않습니다.

Other information:

마이페이지 요소를 단순히 표시하는 부분과는 약간 떨어진 컴포넌트인데, 구현한 부분은 넣는 게 맞는 듯 해 이 PR까지는 제출합니다.

- 기존 NoteComponent.kt에서 음악 부분만 컴포넌트 파일로 분리합니다.
- 작업이 더 필요한 상태입니다.
- Music 컴포넌트가 나타내야 하는 5가지의 상태를 sealed class로 추가
- MusicComponent의 Slot API 기반 레이아웃을 제작
  - 각 컴포넌트 별로 맞는 레이아웃 컨텐츠를 추가
@gdaegeun539 gdaegeun539 self-assigned this Dec 28, 2025
Copy link
Collaborator

@hyunjung-choi hyunjung-choi left a comment

Choose a reason for hiding this comment

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

다크모드는 구현 생략하신건가요 !?

@gdaegeun539
Copy link
Member Author

다크모드는 구현 생략하신건가요 !?

다크모드 프리뷰 추가해놓겠습니다. 내부에는 LocalFeelinColors.current로 접근해서 사용하고 있어서 대응되어 있어요.

@gdaegeun539 gdaegeun539 added the design 디자인 관련 수정 label Dec 29, 2025
@gdaegeun539
Copy link
Member Author

gdaegeun539 commented Dec 31, 2025

다크모드 프리뷰 추가했습니다. @hyunjung-choi 현정님 코테랑 면접 화이팅입니당

Copy link
Collaborator

@hyunjung-choi hyunjung-choi 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 +8 to +12
interface MusicData {
val imageUrl: String
val songName: String
val artistName: String
}
Copy link
Collaborator

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.

음 이 인터페이스의 역할은 아래 MusicComponentState에 공통된 세부 데이터가 들어갈 때 제약을 하는 역할 밖에 없어서 굳이 분리하기는 그래요.

이 인터페이스는 private으로 두는 건 어떨까요?
(이렇게 하면 뷰 데이터용 sealed 인터페이스의 이름을 detekt 규칙에 따라 MusicComponentData로 바꿀 거긴 해요.)

@gdaegeun539
Copy link
Member Author

코드가 너무 깔끔해요 . . 👍

잼민이였는지 클로드였는지는 기억이 안 나지만 공통된 구조를 깔끔하게 가져갈 수 있도록 같이 고민해봤습니당
그렇게 느끼셨다니 좋네요...

Replace Painter implementation with ImageVector for remaining vector icons in Icons.kt to ensure consistency and clarity.

- Convert CaretIcon, EmptyImageDarkIcon, etc. to ImageVector

- Remove unused Painter imports
Update Icons.kt to return ImageVector instead of Painter for vector assets.

Resolve type mismatch compilation errors in LoginScreen, MyPageScreen,

and UI components by replacing painter parameter with imageVector.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

design 디자인 관련 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants