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

πŸ”— :: (#382) μ•Œλ¦Ό μ—†μŒ ν™”λ©΄ μΆ”κ°€ #383

Conversation

parkuiery
Copy link
Member

@parkuiery parkuiery commented Oct 10, 2024

κ°œμš”

μ•Œλ¦Ό 및 곡지 μ—†λŠ” 화면을 μΆ”κ°€ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

μ•Œλ¦Ό 곡지 λͺ¨μ§‘μ˜λ’°μ„œ νšŒμ‚¬
image image image image

μž‘μ—… λ‚΄μš©

  • μ•Œλ¦Ό μ—†λŠ” ν™”λ©΄ μΆ”κ°€
  • 곡지 μ—†λŠ” ν™”λ©΄ μΆ”κ°€

ν•  말

μ—†μŒ

Summary by CodeRabbit

Summary by CodeRabbit

  • μƒˆλ‘œμš΄ κΈ°λŠ₯

    • JobisIcon에 μƒˆλ‘œμš΄ μ•„μ΄μ½˜ λ¦¬μ†ŒμŠ€ Empty μΆ”κ°€.
    • μ—¬λŸ¬ ν™”λ©΄μ—μ„œ λΉ„μ–΄ μžˆλŠ” μƒνƒœλ₯Ό ν‘œμ‹œν•˜κΈ° μœ„ν•œ μƒˆλ‘œμš΄ 컴포저블 ν•¨μˆ˜ EmptyContent μΆ”κ°€.
  • 버그 μˆ˜μ •

    • λΉ„μ–΄ μžˆλŠ” λͺ©λ‘μ— λŒ€ν•œ μ μ ˆν•œ ν”Όλ“œλ°± μ œκ³΅μ„ μœ„ν•œ 쑰건뢀 체크 μΆ”κ°€.
  • λ¬Έμ„œν™”

    • μƒˆλ‘œμš΄ λ¬Έμžμ—΄ λ¦¬μ†ŒμŠ€ μΆ”κ°€: "아직 곡지사항이 μ—†μ–΄μš”", "아직 μ•Œλ¦Όμ΄ μ—†μ–΄μš”".

@parkuiery parkuiery added the κΈ°λŠ₯ κ΅¬ν˜„ λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ μž‘μ„±ν•©λ‹ˆλ‹€. label Oct 10, 2024
@parkuiery parkuiery self-assigned this Oct 10, 2024
@parkuiery parkuiery requested a review from a team as a code owner October 10, 2024 06:37
@parkuiery parkuiery linked an issue Oct 10, 2024 that may be closed by this pull request
1 task
Copy link
Contributor

coderabbitai bot commented Oct 10, 2024

Walkthrough

이 λ³€κ²½ 사항은 JobisIcon 객체에 μƒˆλ‘œμš΄ μ•„μ΄μ½˜ λ¦¬μ†ŒμŠ€μΈ Emptyλ₯Ό μΆ”κ°€ν•˜μ—¬ λ””μžμΈ μ‹œμŠ€ν…œμ˜ μ•„μ΄μ½˜ μ„ΈνŠΈλ₯Ό ν™•μž₯ν•©λ‹ˆλ‹€. λ˜ν•œ, μ—¬λŸ¬ ν™”λ©΄μ—μ„œ 빈 μƒνƒœλ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ μƒˆλ‘œμš΄ 컴포저블 ν•¨μˆ˜λ“€μ΄ μΆ”κ°€λ˜κ³ , 기쑴의 이미지 λ¦¬μ†ŒμŠ€κ°€ μƒˆλ‘œμš΄ μ•„μ΄μ½˜ λ¦¬μ†ŒμŠ€λ‘œ μ—…λ°μ΄νŠΈλ©λ‹ˆλ‹€. μΆ”κ°€μ μœΌλ‘œ, 곡지사항 및 μ•Œλ¦Όμ΄ 없을 λ•Œ ν‘œμ‹œν•  λ¬Έμžμ—΄ λ¦¬μ†ŒμŠ€κ°€ μƒˆλ‘œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Changes

파일 경둜 λ³€κ²½ μš”μ•½
core/design-system/src/main/java/team/retum/jobisdesignsystemv2/foundation/JobisIcon.kt μƒˆλ‘œμš΄ μ•„μ΄μ½˜ λ¦¬μ†ŒμŠ€ Empty μΆ”κ°€: val Empty = R.drawable.ic_empty
core/design-system/src/main/java/team/retum/jobisdesignsystemv2/empty/EmptyContent.kt μƒˆλ‘œμš΄ 컴포저블 ν•¨μˆ˜ EmptyContent μΆ”κ°€: 빈 μ½˜ν…μΈ λ₯Ό ν‘œμ‹œν•˜λŠ” UI μš”μ†Œ 생성
feature/company/src/main/java/team/retum/company/ui/SearchCompaniesScreen.kt EmptySearchContent 제거 및 EmptyContent둜 λŒ€μ²΄, 빈 μƒνƒœ 처리 둜직 μ—…λ°μ΄νŠΈ
feature/notice/src/main/java/team/retum/notice/ui/NoticesScreen.kt 빈 곡지사항 처리 둜직 μΆ”κ°€, EmptyContent μ‚¬μš©
feature/notification/src/main/java/team/retum/notification/ui/NotificationsScreen.kt 빈 μ•Œλ¦Ό 처리 둜직 μΆ”κ°€, EmptyContent μ‚¬μš©
feature/recruitment/src/main/java/team/retum/jobis/recruitment/ui/SearchRecruitmentScreen.kt EmptyRecruitmentContent 제거 및 EmptyContent둜 λŒ€μ²΄, 빈 μƒνƒœ 처리 둜직 μ—…λ°μ΄νŠΈ

Suggested labels

λ¦¬νŒ©ν† λ§

Suggested reviewers

  • rladmsdh
  • Tmdhoon2

Poem

🐰 빈 곡간에 μ•„μ΄μ½˜ ν•˜λ‚˜,
λ””μžμΈμ— 생기λ₯Ό μ£Όλ„€,
곡지와 μ•Œλ¦Όλ„ ν•¨κ»˜,
μƒˆλ‘œμš΄ λ©”μ‹œμ§€ μ „ν•΄μ£Όλ„€.
기쁜 마음으둜 λ³€ν™”λ₯Ό λ§žμ΄ν•΄,
우리 μ‹œμŠ€ν…œμ΄ λ”μš± λΉ›λ‚˜λ¦¬! 🌟


πŸ“œ Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL

πŸ“₯ Commits

Files that changed from the base of the PR and between 93d21ac and c341342.

πŸ“’ Files selected for processing (2)
  • feature/company/src/main/java/team/retum/company/ui/SearchCompaniesScreen.kt (2 hunks)
  • feature/recruitment/src/main/java/team/retum/jobis/recruitment/ui/SearchRecruitmentScreen.kt (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • feature/company/src/main/java/team/retum/company/ui/SearchCompaniesScreen.kt
  • feature/recruitment/src/main/java/team/retum/jobis/recruitment/ui/SearchRecruitmentScreen.kt

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❀️ Share
πŸͺ§ Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (6)
feature/notice/src/main/res/values/string.xml (1)

9-9: μƒˆλ‘œμš΄ λ¬Έμžμ—΄ λ¦¬μ†ŒμŠ€κ°€ 잘 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μƒˆλ‘œμš΄ "no_notice" λ¬Έμžμ—΄ λ¦¬μ†ŒμŠ€κ°€ PR의 λͺ©μ μ— 맞게 잘 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” 곡지사항이 없을 λ•Œ μ‚¬μš©μžμ—κ²Œ μ μ ˆν•œ ν”Όλ“œλ°±μ„ μ œκ³΅ν•  κ²ƒμž…λ‹ˆλ‹€.

일관성을 μœ„ν•΄ λ‹€μŒκ³Ό 같이 λ¬Έμž₯ 끝에 λ§ˆμΉ¨ν‘œλ₯Ό μΆ”κ°€ν•˜λŠ” 것이 μ–΄λ–¨κΉŒμš”?

-    <string name="no_notice">아직 곡지사항이 μ—†μ–΄μš”</string>
+    <string name="no_notice">아직 곡지사항이 μ—†μ–΄μš”.</string>

μ΄λ ‡κ²Œ ν•˜λ©΄ λ‹€λ₯Έ λ¬Έμžμ—΄ λ¦¬μ†ŒμŠ€λ“€κ³Ό μΌκ΄€λœ μŠ€νƒ€μΌμ„ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

feature/notification/src/main/res/values/strings.xml (1)

17-17: μƒˆλ‘œμš΄ λ¬Έμžμ—΄ λ¦¬μ†ŒμŠ€κ°€ 적절히 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μƒˆλ‘œμš΄ "no_notification" λ¬Έμžμ—΄ λ¦¬μ†ŒμŠ€κ°€ PR의 λͺ©μ μ— 맞게 잘 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ•Œλ¦Όμ΄ μ—†λŠ” 경우λ₯Ό μ²˜λ¦¬ν•˜λŠ” 데 μœ μš©ν•  κ²ƒμž…λ‹ˆλ‹€.

일관성을 μœ„ν•΄ λ‹€λ₯Έ λ¬Έμžμ—΄ λ¦¬μ†ŒμŠ€λ“€κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ λ¬Έμž₯ 끝에 λ§ˆμΉ¨ν‘œλ₯Ό μΆ”κ°€ν•˜λŠ” 것이 μ–΄λ–¨κΉŒμš”? 예λ₯Ό λ“€λ©΄:

-    <string name="no_notification">아직 μ•Œλ¦Όμ΄ μ—†μ–΄μš”</string>
+    <string name="no_notification">아직 μ•Œλ¦Όμ΄ μ—†μ–΄μš”.</string>
core/design-system/src/main/java/team/retum/jobisdesignsystemv2/foundation/JobisIcon.kt (1)

38-38: μƒˆλ‘œμš΄ Empty μ•„μ΄μ½˜μ΄ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μƒˆλ‘œμš΄ Empty μ•„μ΄μ½˜μ˜ μΆ”κ°€λŠ” μ μ ˆν•΄ λ³΄μž…λ‹ˆλ‹€. μ΄λŠ” PR의 λͺ©μ μΈ 'μ•Œλ¦Ό μ—†μŒ' 및 '곡지사항 μ—†μŒ' ν™”λ©΄ κ΅¬ν˜„μ— μ‚¬μš©λ  κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€.

κ°€λŠ₯ν•˜λ‹€λ©΄, 이 μƒˆλ‘œμš΄ μ•„μ΄μ½˜μ˜ μš©λ„λ‚˜ μ‚¬μš© 사둀에 λŒ€ν•œ κ°„λ‹¨ν•œ 주석을 μΆ”κ°€ν•˜λŠ” 것이 쒋을 것 κ°™μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

// 빈 μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ•„μ΄μ½˜ (예: μ•Œλ¦Όμ΄λ‚˜ 곡지사항이 μ—†λŠ” 경우)
val Empty = R.drawable.ic_empty
feature/notice/src/main/java/team/retum/jobis/notice/ui/NoticesScreen.kt (2)

100-102: κ°œμ„ μ‚¬ν•­: 빈 곡지사항 μ²˜λ¦¬κ°€ 잘 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

곡지사항이 없을 λ•Œ EmptyNoticeContentλ₯Ό ν‘œμ‹œν•˜λŠ” 둜직이 잘 κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž κ²½ν—˜μ„ ν–₯μƒμ‹œν‚€λŠ” 쒋은 μΆ”κ°€μ‚¬ν•­μž…λ‹ˆλ‹€.

κ°œμ„ μ„ μœ„ν•œ μ œμ•ˆ:

  • if λ¬Έ μ•žλ’€λ‘œ 곡백을 μΆ”κ°€ν•˜μ—¬ 가독성을 λ†’μ΄λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

λ‹€μŒκ³Ό 같이 μˆ˜μ •ν•˜λŠ” 것을 κ³ λ €ν•΄λ³΄μ„Έμš”:

-        if(notices.isEmpty()) {
+        if (notices.isEmpty()) {
             EmptyNoticeContent()
         }

146-164: LGTM: EmptyNoticeContent ν•¨μˆ˜κ°€ 잘 κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μƒˆλ‘œ μΆ”κ°€λœ EmptyNoticeContent ν•¨μˆ˜λŠ” 곡지사항이 없을 λ•Œ μ μ ˆν•œ UIλ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€. Jetpack Compose μ»΄ν¬λ„ŒνŠΈλ“€μ„ 잘 ν™œμš©ν•˜κ³  있으며, λ””μžμΈ μ‹œμŠ€ν…œμ„ λ”°λ₯΄κ³  μžˆμŠ΅λ‹ˆλ‹€.

κ°œμ„ μ„ μœ„ν•œ μ œμ•ˆ:

  • 일관성을 μœ„ν•΄ JobisTheme.colorsλ₯Ό μ‚¬μš©ν•˜μ—¬ ν…μŠ€νŠΈ 색상을 μ§€μ •ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

λ‹€μŒκ³Ό 같이 μˆ˜μ •ν•˜λŠ” 것을 κ³ λ €ν•΄λ³΄μ„Έμš”:

         JobisText(
             text = stringResource(id = R.string.no_notice),
             style = JobisTypography.SubHeadLine,
+            color = JobisTheme.colors.onSurface,
         )
feature/notification/src/main/java/team/retum/notification/ui/NotificationsScreen.kt (1)

208-226: EmptyNotificationContent ν•¨μˆ˜κ°€ 잘 κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μƒˆλ‘œμš΄ EmptyNotificationContent ν•¨μˆ˜λŠ” λ‹€μŒκ³Ό 같은 μž₯점이 μžˆμŠ΅λ‹ˆλ‹€:

  1. Compose λͺ¨λ²” 사둀λ₯Ό λ”°λ₯΄λŠ” 잘 κ΅¬μ‘°ν™”λœ ν•¨μˆ˜μž…λ‹ˆλ‹€.
  2. 쀑앙 μ •λ ¬ λ ˆμ΄μ•„μ›ƒμ„ μœ„ν•΄ μ μ ˆν•œ 간격과 정렬을 μ‚¬μš©ν•©λ‹ˆλ‹€.
  3. ν…μŠ€νŠΈ λ‚΄μš©μ— stringResourceλ₯Ό μ‚¬μš©ν•˜μ—¬ μ‰¬μš΄ ν˜„μ§€ν™”κ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.
  4. 이 파일 λ‚΄μ—μ„œλ§Œ μ‚¬μš©λ˜λ―€λ‘œ private으둜 μ μ ˆν•˜κ²Œ μ„ μ–Έλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ ‘κ·Όμ„± κ°œμ„ μ„ μœ„ν•΄ Image μ»΄ν¬μ €λΈ”μ˜ contentDescription을 μ’€ 더 ꡬ체적으둜 λ³€κ²½ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

-            contentDescription = "empty notification",
+            contentDescription = stringResource(id = R.string.empty_notification_description),

그리고 strings.xml νŒŒμΌμ— λ‹€μŒκ³Ό 같은 λ¦¬μ†ŒμŠ€λ₯Ό μΆ”κ°€ν•˜μ„Έμš”:

<string name="empty_notification_description">μ•Œλ¦Όμ΄ μ—†μŒμ„ λ‚˜νƒ€λ‚΄λŠ” 이미지</string>

μ΄λ ‡κ²Œ ν•˜λ©΄ ν™”λ©΄ 읽기 ν”„λ‘œκ·Έλž¨ μ‚¬μš©μžμ—κ²Œ 더 λͺ…ν™•ν•œ 정보λ₯Ό μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“œ Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

πŸ“₯ Commits

Files that changed from the base of the PR and between 39c10a4 and 823ce55.

β›” Files ignored due to path filters (1)
  • core/design-system/src/main/res/drawable/ic_empty.png is excluded by !**/*.png
πŸ“’ Files selected for processing (7)
  • core/design-system/src/main/java/team/retum/jobisdesignsystemv2/foundation/JobisIcon.kt (1 hunks)
  • feature/company/src/main/java/team/retum/company/ui/SearchCompaniesScreen.kt (2 hunks)
  • feature/notice/src/main/java/team/retum/jobis/notice/ui/NoticesScreen.kt (3 hunks)
  • feature/notice/src/main/res/values/string.xml (1 hunks)
  • feature/notification/src/main/java/team/retum/notification/ui/NotificationsScreen.kt (6 hunks)
  • feature/notification/src/main/res/values/strings.xml (1 hunks)
  • feature/recruitment/src/main/java/team/retum/jobis/recruitment/ui/SearchRecruitmentScreen.kt (1 hunks)
🧰 Additional context used
πŸ”‡ Additional comments (8)
feature/company/src/main/java/team/retum/company/ui/SearchCompaniesScreen.kt (3)

28-28: JobisIcon μž„ν¬νŠΈ μΆ”κ°€ 승인

JobisIcon 클래슀λ₯Ό μž„ν¬νŠΈν•˜λŠ” 것은 쀑앙 집쀑식 μ•„μ΄μ½˜ 관리 μ‹œμŠ€ν…œμœΌλ‘œμ˜ μ „ν™˜μ„ λ‚˜νƒ€λ‚΄λ©°, μ΄λŠ” μ½”λ“œμ˜ 일관성과 μœ μ§€λ³΄μˆ˜μ„±μ„ ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.


98-98: JobisIcon.Empty λ¦¬μ†ŒμŠ€ μ‚¬μš© 승인 및 μ‹œκ°μ  확인 μ œμ•ˆ

JobisIcon.Empty λ¦¬μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” 것은 쀑앙 집쀑식 μ•„μ΄μ½˜ μ‹œμŠ€ν…œκ³Ό μΌμΉ˜ν•˜λ©° μŠΉμΈλ©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μƒˆ μ•„μ΄μ½˜μ΄ 빈 μƒνƒœλ₯Ό 적절히 λ‚˜νƒ€λ‚΄λŠ”μ§€ μ‹œκ°μ μœΌλ‘œ ν™•μΈν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

λ””μžμ΄λ„ˆ λ˜λŠ” UI/UX νŒ€κ³Ό ν˜‘λ ₯ν•˜μ—¬ μƒˆλ‘œμš΄ JobisIcon.Empty μ•„μ΄μ½˜μ΄ 이 μ»¨ν…μŠ€νŠΈμ— μ ν•©ν•œμ§€ ν™•μΈν•΄μ£Όμ„Έμš”.


Line range hint 1-114: 전체 λ³€κ²½ 사항 μš”μ•½ 및 영ν–₯ 평가

이 PR의 λ³€κ²½ 사항은 쀑앙 집쀑식 μ•„μ΄μ½˜ 관리 μ‹œμŠ€ν…œμœΌλ‘œμ˜ μ „ν™˜μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ΄λŠ” μ½”λ“œλ² μ΄μŠ€μ˜ 일관성을 ν–₯μƒμ‹œν‚€κ³  ν–₯ν›„ μ•„μ΄μ½˜ κ΄€λ ¨ 변경을 더 μ‰½κ²Œ λ§Œλ“€ κ²ƒμž…λ‹ˆλ‹€. 파일의 μ „λ°˜μ μΈ ꡬ쑰와 κΈ°λŠ₯은 κ·ΈλŒ€λ‘œ μœ μ§€λ˜μ—ˆμœΌλ©°, λ³€κ²½ 사항은 μ΅œμ†Œν™”λ˜μ–΄ 잘 κ΄€λ¦¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μΆ”κ°€ 쑰치 사항:

  1. μƒˆλ‘œμš΄ JobisIcon.Empty μ•„μ΄μ½˜μ˜ μ‹œκ°μ  적합성 확인
  2. λ‹€λ₯Έ νŒŒμΌλ“€μ—μ„œλ„ μœ μ‚¬ν•œ μ•„μ΄μ½˜ 변경이 ν•„μš”ν•œμ§€ κ²€ν† 
feature/recruitment/src/main/java/team/retum/jobis/recruitment/ui/SearchRecruitmentScreen.kt (2)

102-102: μ•„μ΄μ½˜ λ¦¬μ†ŒμŠ€ μ—…λ°μ΄νŠΈκ°€ 잘 μ΄λ£¨μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.

JobisIcon.Emptyλ₯Ό μ‚¬μš©ν•˜λ„λ‘ λ³€κ²½ν•œ 것은 쒋은 κ°œμ„ μž…λ‹ˆλ‹€. μ΄λŠ” λ‹€μŒκ³Ό 같은 이점을 μ œκ³΅ν•©λ‹ˆλ‹€:

  1. μ•„μ΄μ½˜ κ΄€λ¦¬μ˜ 일관성 ν–₯상
  2. ν–₯ν›„ μ•„μ΄μ½˜ λ³€κ²½ μ‹œ μœ μ§€λ³΄μˆ˜ μš©μ΄μ„± 증가
  3. 쀑앙 집쀑식 μ•„μ΄μ½˜ μ‹œμŠ€ν…œ ν™œμš©μœΌλ‘œ μΈν•œ μ½”λ“œ 가독성 κ°œμ„ 

Line range hint 1-124: μ „λ°˜μ μΈ μ½”λ“œ ν’ˆμ§ˆμ΄ μš°μˆ˜ν•©λ‹ˆλ‹€.

이 파일의 변경사항은 μž‘μ§€λ§Œ μ€‘μš”ν•œ κ°œμ„ μ„ μ΄λ£¨μ—ˆμŠ΅λ‹ˆλ‹€. EmptyRecruitmentContent μ»΄ν¬μ €λΈ”μ—μ„œ μ•„μ΄μ½˜ λ¦¬μ†ŒμŠ€λ₯Ό μ—…λ°μ΄νŠΈν•œ 것은 PR의 λͺ©μ μΈ "μ•Œλ¦Ό μ—†μŒ ν™”λ©΄ μΆ”κ°€"와 잘 λΆ€ν•©ν•©λ‹ˆλ‹€. λ˜ν•œ, 이 λ³€κ²½μœΌλ‘œ 인해 μ•„μ΄μ½˜ κ΄€λ¦¬μ˜ 일관성이 ν–₯μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ½”λ“œμ˜ λ‚˜λ¨Έμ§€ 뢀뢄은 잘 κ΅¬μ‘°ν™”λ˜μ–΄ 있으며, Jetpack Compose의 λͺ¨λ²” 사둀λ₯Ό λ”°λ₯΄κ³  μžˆμŠ΅λ‹ˆλ‹€. ν•¨μˆ˜λ“€μ΄ λͺ…ν™•ν•˜κ²Œ λΆ„λ¦¬λ˜μ–΄ 있고, μƒνƒœ 관리가 적절히 이루어지고 μžˆμŠ΅λ‹ˆλ‹€.

feature/notice/src/main/java/team/retum/jobis/notice/ui/NoticesScreen.kt (1)

3-14: LGTM: μƒˆλ‘œμš΄ import 문이 적절히 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μƒˆλ‘œ μΆ”κ°€λœ import 문듀은 EmptyNoticeContent ν•¨μˆ˜ κ΅¬ν˜„μ— ν•„μš”ν•œ μ»΄ν¬λ„ŒνŠΈλ“€μ„ κ°€μ Έμ˜€κ³  μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ½”λ“œμ˜ μƒˆλ‘œμš΄ κΈ°λŠ₯을 μ§€μ›ν•˜κΈ° μœ„ν•΄ μ μ ˆν•˜κ²Œ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

feature/notification/src/main/java/team/retum/notification/ui/NotificationsScreen.kt (2)

Line range hint 3-33: import λ¬Έ 변경이 μ μ ˆν•©λ‹ˆλ‹€.

μƒˆλ‘œμš΄ EmptyNotificationContent ν•¨μˆ˜ κ΅¬ν˜„μ— ν•„μš”ν•œ Image, painterResource, JobisIcon을 import ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 이 변경은 μ μ ˆν•˜λ©° μ½”λ“œμ˜ κΈ°λŠ₯을 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.


Line range hint 114-129: NotificationsScreen ν•¨μˆ˜μ˜ κ°œμ„ μ‚¬ν•­μ΄ ν›Œλ₯­ν•©λ‹ˆλ‹€.

  1. LazyColumn의 modifierλ₯Ό Modifier.fillMaxWidth()둜 λ³€κ²½ν•˜μ—¬ λ ˆμ΄μ•„μ›ƒ 일관성을 κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€.
  2. notificationListκ°€ λΉ„μ–΄μžˆμ„ λ•Œ EmptyNotificationContent()λ₯Ό ν˜ΈμΆœν•˜λŠ” 쑰건문을 μΆ”κ°€ν•˜μ—¬ μ‚¬μš©μž κ²½ν—˜μ„ ν–₯μƒμ‹œμΌ°μŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ λ³€κ²½μœΌλ‘œ μ•Œλ¦Όμ΄ 없을 λ•Œ μ μ ˆν•œ ν”Όλ“œλ°±μ„ μ œκ³΅ν•˜μ—¬ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€κ°€ λ”μš± 직관적이고 λ°˜μ‘μ μœΌλ‘œ κ°œμ„ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (4)
core/design-system/src/main/java/team/retum/jobisdesignsystemv2/empty/EmptyContent.kt (3)

21-26: LGTM: ν•¨μˆ˜ μ‹œκ·Έλ‹ˆμ²˜κ°€ μ μ ˆν•©λ‹ˆλ‹€. λ¬Έμ„œν™”λ₯Ό μœ„ν•œ μ œμ•ˆμ΄ μžˆμŠ΅λ‹ˆλ‹€.

ν•¨μˆ˜ μ‹œκ·Έλ‹ˆμ²˜κ°€ Compose λͺ¨λ²” 사둀λ₯Ό λ”°λ₯΄κ³  있으며, λ§€κ°œλ³€μˆ˜μ˜ κΈ°λ³Έκ°’κ³Ό 이름이 μ μ ˆν•©λ‹ˆλ‹€.

ν•¨μˆ˜μ— KDoc 주석을 μΆ”κ°€ν•˜μ—¬ 각 λ§€κ°œλ³€μˆ˜μ˜ λͺ©μ κ³Ό ν•¨μˆ˜μ˜ μ „λ°˜μ μΈ λ™μž‘μ„ μ„€λͺ…ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€λ©΄:

/**
 * 빈 μ½˜ν…μΈ  μƒνƒœλ₯Ό ν‘œμ‹œν•˜λŠ” 컴포저블 ν•¨μˆ˜μž…λ‹ˆλ‹€.
 *
 * @param modifier 이 컴포저블에 μ μš©ν•  μˆ˜μ •μž
 * @param title ν‘œμ‹œν•  제λͺ© ν…μŠ€νŠΈ
 * @param description ν‘œμ‹œν•  μ„€λͺ… ν…μŠ€νŠΈ (선택사항)
 */
@Composable
fun EmptyContent(
    modifier: Modifier = Modifier,
    title: String,
    description: String? = null,
) {
    // ...
}

27-37: LGTM: λ ˆμ΄μ•„μ›ƒ ꡬ쑰가 μ μ ˆν•©λ‹ˆλ‹€. μ ‘κ·Όμ„± κ°œμ„ μ„ μœ„ν•œ μ œμ•ˆμ΄ μžˆμŠ΅λ‹ˆλ‹€.

메인 Columnκ³Ό Image μ»΄ν¬μ €λΈ”μ˜ ꡬ쑰와 μ‚¬μš©μ΄ 빈 μƒνƒœ μ½˜ν…μΈ λ₯Ό ν‘œμ‹œν•˜κΈ°μ— μ ν•©ν•©λ‹ˆλ‹€. JobisIcon.Empty의 μ‚¬μš©μ€ λ””μžμΈ μ‹œμŠ€ν…œκ³Όμ˜ 일관성을 λ³΄μ—¬μ€λ‹ˆλ‹€.

접근성을 κ°œμ„ ν•˜κΈ° μœ„ν•΄ Image μ»΄ν¬μ €λΈ”μ˜ contentDescription을 더 ꡬ체적으둜 λ§Œλ“œλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. ν˜„μž¬μ˜ "empty content"λ³΄λ‹€λŠ” ν™”λ©΄μ˜ μ»¨ν…μŠ€νŠΈμ— λ§žλŠ” μ„€λͺ…을 μ œκ³΅ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

Image(
    modifier = Modifier.size(128.dp),
    painter = painterResource(JobisIcon.Empty),
    contentDescription = "빈 μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ•„μ΄μ½˜",
)

λ˜λŠ” contentDescription을 ν•¨μˆ˜μ˜ λ§€κ°œλ³€μˆ˜λ‘œ λ°›μ•„ ν˜ΈμΆœν•˜λŠ” μͺ½μ—μ„œ μ»¨ν…μŠ€νŠΈμ— λ§žλŠ” μ„€λͺ…을 μ œκ³΅ν•  수 있게 ν•˜λŠ” 것도 쒋은 λ°©λ²•μž…λ‹ˆλ‹€.


38-55: LGTM: ν…μŠ€νŠΈ μ½˜ν…μΈ  ꡬ쑰가 잘 κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν…μŠ€νŠΈ μŠ€νƒ€μΌμ— λŒ€ν•œ μ œμ•ˆμ΄ μžˆμŠ΅λ‹ˆλ‹€.

ν…μŠ€νŠΈ μ½˜ν…μΈ λ₯Ό μœ„ν•œ μ€‘μ²©λœ Column의 μ‚¬μš©κ³Ό JobisText μ»΄ν¬μ €λΈ”μ˜ ν™œμš©μ΄ μ μ ˆν•©λ‹ˆλ‹€. μ„€λͺ… ν…μŠ€νŠΈμ˜ 쑰건뢀 λ Œλ”λ§λ„ μ˜¬λ°”λ₯΄κ²Œ κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

ν…μŠ€νŠΈ μŠ€νƒ€μΌμ˜ 일관성과 μœ μ§€λ³΄μˆ˜μ„±μ„ 높이기 μœ„ν•΄, ν•˜λ“œμ½”λ”©λœ νƒ€μ΄ν¬κ·Έλž˜ν”Ό μŠ€νƒ€μΌ λŒ€μ‹  의미 μžˆλŠ” μ΄λ¦„μ˜ μƒμˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

object EmptyContentTypography {
    val Title = JobisTypography.SubHeadLine
    val Description = JobisTypography.Description
}

// μ‚¬μš© μ‹œ
JobisText(
    text = title,
    style = EmptyContentTypography.Title,
)

JobisText(
    text = it,
    style = EmptyContentTypography.Description,
    color = JobisTheme.colors.onSurfaceVariant,
)

μ΄λ ‡κ²Œ ν•˜λ©΄ λ‚˜μ€‘μ— μŠ€νƒ€μΌμ„ λ³€κ²½ν•΄μ•Ό ν•  λ•Œ ν•œ κ³³μ—μ„œλ§Œ μˆ˜μ •ν•˜λ©΄ λ˜λ―€λ‘œ μœ μ§€λ³΄μˆ˜κ°€ 더 μ‰¬μ›Œμ§‘λ‹ˆλ‹€.

feature/company/src/main/java/team/retum/company/ui/SearchCompaniesScreen.kt (1)

83-86: LGTM: EmptyContent μ»΄ν¬λ„ŒνŠΈλ‘œ ꡐ체

EmptySearchContent ν•¨μˆ˜λ₯Ό μ œκ±°ν•˜κ³  μž¬μ‚¬μš© κ°€λŠ₯ν•œ EmptyContent μ»΄ν¬λ„ŒνŠΈλ‘œ λŒ€μ²΄ν•œ 것은 쒋은 λ³€κ²½μž…λ‹ˆλ‹€. λ¬Έμžμ—΄ λ¦¬μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ 지역화λ₯Ό μš©μ΄ν•˜κ²Œ ν•œ 점도 ν›Œλ₯­ν•©λ‹ˆλ‹€.

ν•œ 가지 μ œμ•ˆμ‚¬ν•­:

가독성을 높이기 μœ„ν•΄ λ¬Έμžμ—΄ λ¦¬μ†ŒμŠ€ μ°Έμ‘°λ₯Ό λ³„λ„μ˜ λ³€μˆ˜λ‘œ μΆ”μΆœν•˜λŠ” 것을 κ³ λ €ν•΄ λ³΄μ„Έμš”. 예λ₯Ό λ“€λ©΄:

val notFoundTitle = stringResource(id = R.string.not_found_company)
val doubleCheckDescription = stringResource(id = R.string.double_check)

EmptyContent(
    title = notFoundTitle,
    description = doubleCheckDescription,
)

μ΄λ ‡κ²Œ ν•˜λ©΄ EmptyContent 호좜이 더 간결해지고 각 λ¬Έμžμ—΄μ˜ μ˜λ―Έκ°€ 더 λͺ…ν™•ν•΄μ§‘λ‹ˆλ‹€.

πŸ“œ Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

πŸ“₯ Commits

Files that changed from the base of the PR and between b2c4497 and 93d21ac.

πŸ“’ Files selected for processing (5)
  • core/design-system/src/main/java/team/retum/jobisdesignsystemv2/empty/EmptyContent.kt (1 hunks)
  • feature/company/src/main/java/team/retum/company/ui/SearchCompaniesScreen.kt (2 hunks)
  • feature/notice/src/main/java/team/retum/jobis/notice/ui/NoticesScreen.kt (2 hunks)
  • feature/notification/src/main/java/team/retum/notification/ui/NotificationsScreen.kt (3 hunks)
  • feature/recruitment/src/main/java/team/retum/jobis/recruitment/ui/SearchRecruitmentScreen.kt (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
  • feature/notice/src/main/java/team/retum/jobis/notice/ui/NoticesScreen.kt
  • feature/notification/src/main/java/team/retum/notification/ui/NotificationsScreen.kt
  • feature/recruitment/src/main/java/team/retum/jobis/recruitment/ui/SearchRecruitmentScreen.kt
🧰 Additional context used
πŸ”‡ Additional comments (2)
core/design-system/src/main/java/team/retum/jobisdesignsystemv2/empty/EmptyContent.kt (1)

1-20: LGTM: νŒ¨ν‚€μ§€ μ„ μ–Έ 및 μž„ν¬νŠΈκ°€ μ μ ˆν•©λ‹ˆλ‹€.

νŒ¨ν‚€μ§€ 선언이 μ •ν™•ν•˜κ³  ν•„μš”ν•œ λͺ¨λ“  Jetpack Compose 및 μ‚¬μš©μž μ •μ˜ λ””μžμΈ μ‹œμŠ€ν…œ μ»΄ν¬λ„ŒνŠΈμ— λŒ€ν•œ μž„ν¬νŠΈκ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€. μ‚¬μš©λ˜μ§€ μ•ŠλŠ” μž„ν¬νŠΈλ„ μ—†μŠ΅λ‹ˆλ‹€.

feature/company/src/main/java/team/retum/company/ui/SearchCompaniesScreen.kt (1)

28-28: LGTM: EmptyContent μ»΄ν¬λ„ŒνŠΈ import μΆ”κ°€

μƒˆλ‘œμš΄ EmptyContent μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•œ import 문이 적절히 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

@parkuiery parkuiery requested a review from Tmdhoon2 October 10, 2024 09:44
@parkuiery parkuiery merged commit 67f1742 into develop Oct 11, 2024
2 checks passed
@parkuiery parkuiery deleted the feature/382-μ•Œλ¦Ό-μ—†μŒ-ν™”λ©΄-μΆ”κ°€ branch October 11, 2024 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
κΈ°λŠ₯ κ΅¬ν˜„ λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ μž‘μ„±ν•©λ‹ˆλ‹€.
Projects
Development

Successfully merging this pull request may close these issues.

μ•Œλ¦Ό μ—†μŒ ν™”λ©΄ μΆ”κ°€
2 participants