Skip to content

Comments

feat/#50 Month Plan 컴포넌트 추가#51

Merged
soseoyo12 merged 5 commits intodevelopfrom
feat/#50-monthPlan
Jan 14, 2026
Merged

feat/#50 Month Plan 컴포넌트 추가#51
soseoyo12 merged 5 commits intodevelopfrom
feat/#50-monthPlan

Conversation

@soseoyo12
Copy link
Contributor

@soseoyo12 soseoyo12 commented Jan 13, 2026

🔗 연결된 이슈

📄 작업 내용

  • Month Plan 컴포넌트 추가
구현 내용 IPhone 16 pro IPhone 13 mini
GIF

사용법

ForEach(procedures) { procedure in
    MonthPlan(
        interaction: procedure.name,
        dDay: procedure.recoveryDay,
        tag: procedure.status
    )
}

@soseoyo12 soseoyo12 requested a review from a team January 13, 2026 05:53
@soseoyo12 soseoyo12 self-assigned this Jan 13, 2026
@soseoyo12 soseoyo12 requested review from sum130, wotjs020708 and y-eonee and removed request for a team January 13, 2026 05:53
@soseoyo12 soseoyo12 added the Feature 새로운 기능 구현 및 API 연결 label Jan 13, 2026
@soseoyo12 soseoyo12 linked an issue Jan 13, 2026 that may be closed by this pull request
1 task
@coderabbitai
Copy link

coderabbitai bot commented Jan 13, 2026

📝 Walkthrough

Walkthrough

새로운 SwiftUI 컴포넌트 MonthPlan을 추가해 상호작용 텍스트, 구분 기호(" • "), 로컬라이즈된 "회복 {dDay}일차" 레이블 및 우측 캡슐형 태그를 가로 행으로 렌더링하고 내부 스타일 상수를 사용해 색상·간격·패딩·모서리·테두리를 구성합니다.

Changes

Cohort / File(s) 변경 요약
새 컴포넌트 추가
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift
struct MonthPlan: View 신규 추가. HStack으로 상호작용 텍스트, 구분자(" • "), 로컬라이즈된 회복 {dDay}일차 텍스트와 우측 태그 캡슐(rounded rectangle, 고정 크기, 테두리)을 렌더링. 프리뷰 추가 및 정적 스타일 상수 포함.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

Style

Suggested reviewers

  • y-eonee
  • wotjs020708
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed 제목은 PR의 주요 변경사항인 Month Plan 컴포넌트 추가를 명확하게 설명하고 있습니다.
Description check ✅ Passed 설명은 Month Plan 컴포넌트 추가와 관련된 작업 내용, 구현 화면, 사용법 예시를 포함하고 있습니다.
Linked Issues check ✅ Passed PR의 코드 변경사항이 연결된 이슈 #50의 요구사항인 Month Plan 컴포넌트 제작을 완전히 충족합니다.
Out of Scope Changes check ✅ Passed 모든 변경사항은 Month Plan 컴포넌트 추가라는 정의된 범위 내에 있으며, 범위를 벗어난 변경이 없습니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/#50-monthPlan


📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8dbb92c and 6f96af7.

📒 Files selected for processing (1)
  • Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift
🧰 Additional context used
🧬 Code graph analysis (1)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift (3)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/CherrishButton.swift (1)
  • textColor (89-98)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Extension/View+Color.swift (4)
  • gray900 (45-47)
  • gray700 (37-39)
  • gray400 (25-27)
  • gray0 (9-11)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Extension/View+Shadow.swift (1)
  • body (9-17)
🔇 Additional comments (3)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift (3)

10-14: LGTM!

구조체 정의와 속성 선언이 깔끔합니다. textColor를 정적 상수로 분리한 것이 좋습니다.


36-43: 컨테이너 스타일링이 잘 적용되었습니다.

리뷰어 피드백에 따라 .horizontal 패딩이 적용되었고, 기기 대응을 위한 .adjustedW/.adjustedH가 일관되게 사용되었습니다. clipShapeoverlay를 통한 둥근 모서리 테두리 처리도 적절합니다.


47-50: Preview가 추가되어 좋습니다.

과거 리뷰에서 요청된 Preview가 적절하게 추가되었습니다. 개발 및 디자인 검토에 유용합니다.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@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: 4

🤖 Fix all issues with AI agents
In @Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift:
- Line 62: Add a SwiftUI preview provider for the MonthPlan view to aid
development and design verification: create a #Preview block (or PreviewProvider
for older Swift versions) that instantiates MonthPlan with multiple sample
states (e.g., short and long interaction strings, different dDay values and
tags) inside a VStack with padding so designers can see layout variations;
reference the MonthPlan initializer to seed realistic props and place this
preview at the bottom of the MonthPlan.swift file.
- Around line 31-61: Add an accessibility label to the MonthPlan view by making
the outer HStack a single accessibility element and providing a descriptive
label that combines the existing pieces (interaction, dDay, tag); update the
body view’s HStack (where TypographyText(interaction), the "회복 \(dDay)일차" text,
and TypographyText(tag) live) to include .accessibilityElement(children:
.combine) and .accessibilityLabel(...) that composes a clear, localized string
from interaction, dDay and tag so screen readers announce the whole item
succinctly.
- Around line 42-49: The tag view uses a fixed .frame(width: 32, height: 18)
which can truncate longer tag text; update the layout in MonthPlan's tag
rendering (the TypographyText(tag...) block) to remove the fixed width and allow
flexible sizing—either use a minimum width (.frame(minWidth: 32, height: 18)) or
omit width entirely and rely on padding (Self.tagPaddingHorizontal /
Self.tagPaddingVertical) so the label grows with content, keeping the existing
background (RoundedRectangle with Self.tagCornerRadius, Self.tagBorderColor,
Self.tagBorderWidth) and ensure you preserve TypographyText, tag, and the Self.*
sizing constants when making the change.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ee800b4 and 63babd1.

📒 Files selected for processing (1)
  • Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift
🧰 Additional context used
🧬 Code graph analysis (1)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift (3)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/CherrishButton.swift (1)
  • textColor (89-98)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Extension/View+Color.swift (4)
  • gray900 (45-47)
  • gray700 (37-39)
  • gray400 (25-27)
  • gray0 (9-11)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Extension/View+Shadow.swift (1)
  • body (9-17)
🔇 Additional comments (1)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift (1)

15-29: 스타일링 상수 정리가 잘 되어 있습니다.

색상, 간격, 패딩 등의 값을 private static 상수로 분리하여 관리한 점이 좋습니다. 유지보수성과 가독성이 향상됩니다.

Comment on lines 31 to 61
var body: some View {
HStack(spacing: 0) {

TypographyText(interaction, style: .body1_m_14, color: Self.textColor)

TypographyText(" • ", style: .body1_m_14, color: Self.textColor)

TypographyText("회복 \(dDay)일차", style: .body1_r_14, color: Self.textColor)

Spacer().frame(width: Self.tagSpacing)

TypographyText(tag, style: .body3_r_12, color: Self.tagTextColor)
.frame(width: 32, height: 18)
.padding(.horizontal, Self.tagPaddingHorizontal)
.padding(.vertical, Self.tagPaddingVertical)
.background(
RoundedRectangle(cornerRadius: Self.tagCornerRadius)
.strokeBorder(Self.tagBorderColor, lineWidth: Self.tagBorderWidth)
)

Spacer()
}
.padding(.vertical, Self.containerPaddingVertical)
.padding(.leading, Self.containerPaddingLeading)
.background(Self.containerBackgroundColor)
.clipShape(RoundedRectangle(cornerRadius: Self.cornerRadius))
.overlay(
RoundedRectangle(cornerRadius: Self.cornerRadius)
.strokeBorder(Self.containerBorderColor, lineWidth: Self.containerBorderWidth)
)
}
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

컨테이너 구조가 잘 구현되어 있습니다.

HStack 레이아웃과 컨테이너 스타일링이 적절합니다. 다만 접근성 향상을 위해 accessibilityLabel을 추가하는 것을 고려해 주세요.

♿ 접근성 레이블 추가 제안
     .overlay(
         RoundedRectangle(cornerRadius: Self.cornerRadius)
             .strokeBorder(Self.containerBorderColor, lineWidth: Self.containerBorderWidth)
     )
+    .accessibilityElement(children: .combine)
+    .accessibilityLabel("\(interaction), 회복 \(dDay)일차, \(tag)")
 }
🤖 Prompt for AI Agents
In @Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift
around lines 31 - 61, Add an accessibility label to the MonthPlan view by making
the outer HStack a single accessibility element and providing a descriptive
label that combines the existing pieces (interaction, dDay, tag); update the
body view’s HStack (where TypographyText(interaction), the "회복 \(dDay)일차" text,
and TypographyText(tag) live) to include .accessibilityElement(children:
.combine) and .accessibilityLabel(...) that composes a clear, localized string
from interaction, dDay and tag so screen readers announce the whole item
succinctly.

.strokeBorder(Self.containerBorderColor, lineWidth: Self.containerBorderWidth)
)
}
}
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

SwiftUI Preview 추가를 권장합니다.

개발 및 디자인 검증 편의를 위해 Preview를 추가하면 좋습니다.

👀 Preview 추가 예시
#Preview {
    VStack(spacing: 16) {
        MonthPlan(interaction: "시술명", dDay: 7, tag: "완료")
        MonthPlan(interaction: "긴 시술명 테스트", dDay: 14, tag: "진행중")
    }
    .padding()
}
🤖 Prompt for AI Agents
In @Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift at
line 62, Add a SwiftUI preview provider for the MonthPlan view to aid
development and design verification: create a #Preview block (or PreviewProvider
for older Swift versions) that instantiates MonthPlan with multiple sample
states (e.g., short and long interaction strings, different dDay values and
tags) inside a VStack with padding so designers can see layout variations;
reference the MonthPlan initializer to seed realistic props and place this
preview at the bottom of the MonthPlan.swift file.

Copy link
Contributor

@wotjs020708 wotjs020708 left a comment

Choose a reason for hiding this comment

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

크게 문제될거는 없은 거 같아욤 고생하셨습니담


TypographyText("회복 \(dDay)일차", style: .body1_r_14, color: Self.textColor)

Spacer().frame(width: Self.tagSpacing)
Copy link
Contributor

Choose a reason for hiding this comment

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

여기 엔터 한번만

Copy link

@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: 5

🤖 Fix all issues with AI agents
In @Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift:
- Around line 62-63: Add a SwiftUI preview for the MonthPlan view by
implementing either a #Preview block or a PreviewProvider that instantiates
MonthPlan with representative props (e.g., different interaction, dDay and tag
values) to cover typical layouts and long text; ensure the preview uses padding
and a VStack (or similar) to show multiple variants side-by-side and place it
after the MonthPlan struct declaration so the preview compiles and renders in
Xcode.
- Around line 52-55: The view applies .padding(.leading,
Self.containerPaddingLeading) but omits trailing padding, causing no space
between tags and the container's right edge; update the MonthPlan view to add
symmetric right-side padding by adding .padding(.trailing,
Self.containerPaddingLeading) (or define and use a new
Self.containerPaddingTrailing constant if design requires a different value)
alongside the existing .padding(.vertical and .padding(.leading) calls so the
layout has the intended right margin.
- Around line 43-50: The tag view currently forces a fixed width via
.frame(width: 32, height: 22) which can truncate longer tag text; update the tag
layout (the TypographyText usage) to remove the fixed width, keep the height
constraint if needed, and let the label size to its content by applying
.fixedSize() (or .fixedSize(horizontal: true, vertical: false)) plus existing
padding and the RoundedRectangle background (see TypographyText and the
surrounding modifiers using Self.tagPaddingHorizontal, Self.tagPaddingVertical,
Self.tagCornerRadius, Self.tagBorderColor, Self.tagBorderWidth) so the tag
expands with longer text instead of clipping.
- Line 38: Replace the hardcoded Korean label in the TypographyText initializer
so it uses a localized format string: do not concatenate "회복 \(dDay)일차"
directly; instead fetch a localized format (e.g., key "recovery_day_format") via
String(localized:) or NSLocalizedString and pass dDay into the formatted string
used by TypographyText; update usages of TypographyText("회복 \(dDay)일차", ...) to
TypographyText(formattedLocalizedString, style: .body1_r_14, color:
Self.textColor) and add the corresponding "recovery_day_format" entry to
Localizable.strings (e.g., "recovery_day_format" = "회복 %d일차";).
- Around line 40-41: Replace the fixed-width Spacer() usage with trailing
padding on the preceding view: remove Spacer().frame(width: Self.tagSpacing) and
instead add .padding(.trailing, Self.tagSpacing) to the view immediately before
it (the tag/text view that currently relies on the spacer); keep the
Self.tagSpacing constant and remove the Spacer symbol entirely so the layout
uses padding rather than a fixed Spacer.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 63babd1 and 8dbb92c.

📒 Files selected for processing (1)
  • Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift
🔇 Additional comments (2)
Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift (2)

10-14: 컴포넌트 구조 잘 구성되었습니다.

속성들이 명확하게 정의되어 있고, let을 사용하여 불변성을 보장하고 있습니다.


15-29: 스타일 상수 구성 좋습니다.

private static으로 스타일 상수를 분리하여 관리하는 방식이 유지보수성을 높여줍니다.


TypographyText(" • ", style: .body1_m_14, color: Self.textColor)

TypographyText("회복 \(dDay)일차", style: .body1_r_14, color: Self.textColor)
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

하드코딩된 한국어 문자열을 로컬라이제이션 처리하세요.

"회복 (dDay)일차" 문자열이 하드코딩되어 있어 다국어 지원 시 문제가 될 수 있습니다. String(localized:) 또는 NSLocalizedString을 사용하여 로컬라이제이션을 적용하는 것을 권장합니다.

♻️ 제안하는 수정
-            TypographyText("회복 \(dDay)일차", style: .body1_r_14, color: Self.textColor)
+            TypographyText(String(localized: "회복 \(dDay)일차"), style: .body1_r_14, color: Self.textColor)

또는 Localizable.strings 파일에 키를 정의하여 사용:

TypographyText(String(format: NSLocalizedString("recovery_day_format", comment: ""), dDay), style: .body1_r_14, color: Self.textColor)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
TypographyText("회복 \(dDay)일차", style: .body1_r_14, color: Self.textColor)
TypographyText(String(format: NSLocalizedString("recovery_day_format", comment: ""), dDay), style: .body1_r_14, color: Self.textColor)
🤖 Prompt for AI Agents
In @Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift at
line 38, Replace the hardcoded Korean label in the TypographyText initializer so
it uses a localized format string: do not concatenate "회복 \(dDay)일차" directly;
instead fetch a localized format (e.g., key "recovery_day_format") via
String(localized:) or NSLocalizedString and pass dDay into the formatted string
used by TypographyText; update usages of TypographyText("회복 \(dDay)일차", ...) to
TypographyText(formattedLocalizedString, style: .body1_r_14, color:
Self.textColor) and add the corresponding "recovery_day_format" entry to
Localizable.strings (e.g., "recovery_day_format" = "회복 %d일차";).

Comment on lines 40 to 41
Spacer()
.frame(width: Self.tagSpacing)
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Spacer 대신 padding 사용을 권장합니다.

고정 너비의 Spacer보다 .padding(.trailing, Self.tagSpacing)을 이전 요소에 적용하는 것이 더 관용적입니다.

♻️ 제안하는 수정
-            TypographyText("회복 \(dDay)일차", style: .body1_r_14, color: Self.textColor)
-            
-            Spacer()
-                .frame(width: Self.tagSpacing)
+            TypographyText("회복 \(dDay)일차", style: .body1_r_14, color: Self.textColor)
+                .padding(.trailing, Self.tagSpacing)
🤖 Prompt for AI Agents
In @Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift
around lines 40 - 41, Replace the fixed-width Spacer() usage with trailing
padding on the preceding view: remove Spacer().frame(width: Self.tagSpacing) and
instead add .padding(.trailing, Self.tagSpacing) to the view immediately before
it (the tag/text view that currently relies on the spacer); keep the
Self.tagSpacing constant and remove the Spacer symbol entirely so the layout
uses padding rather than a fixed Spacer.

Comment on lines 43 to 50
TypographyText(tag, style: .body3_r_12, color: Self.tagTextColor)
.frame(width: 32, height: 22)
.padding(.horizontal, Self.tagPaddingHorizontal)
.padding(.vertical, Self.tagPaddingVertical)
.background(
RoundedRectangle(cornerRadius: Self.tagCornerRadius)
.strokeBorder(Self.tagBorderColor, lineWidth: Self.tagBorderWidth)
)
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

태그 프레임 고정 크기가 텍스트 잘림을 유발할 수 있습니다.

width: 32로 고정된 프레임은 긴 태그 텍스트가 잘릴 수 있습니다. 태그 내용에 따라 동적으로 크기가 조정되도록 .fixedSize() 사용을 고려하세요.

🔧 제안하는 수정
             TypographyText(tag, style: .body3_r_12, color: Self.tagTextColor)
-                .frame(width: 32, height: 22)
                 .padding(.horizontal, Self.tagPaddingHorizontal)
                 .padding(.vertical, Self.tagPaddingVertical)
+                .fixedSize()
                 .background(
                     RoundedRectangle(cornerRadius: Self.tagCornerRadius)
                         .strokeBorder(Self.tagBorderColor, lineWidth: Self.tagBorderWidth)
                 )
🤖 Prompt for AI Agents
In @Cherrish-iOS/Cherrish-iOS/Presentation/Global/Components/MonthPlan.swift
around lines 43 - 50, The tag view currently forces a fixed width via
.frame(width: 32, height: 22) which can truncate longer tag text; update the tag
layout (the TypographyText usage) to remove the fixed width, keep the height
constraint if needed, and let the label size to its content by applying
.fixedSize() (or .fixedSize(horizontal: true, vertical: false)) plus existing
padding and the RoundedRectangle background (see TypographyText and the
surrounding modifiers using Self.tagPaddingHorizontal, Self.tagPaddingVertical,
Self.tagCornerRadius, Self.tagBorderColor, Self.tagBorderWidth) so the tag
expands with longer text instead of clipping.

Copy link
Contributor

@sum130 sum130 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 15 to 29
private static let textColor: Color = .gray900
private static let tagTextColor: Color = .gray700
private static let tagBorderColor: Color = .gray400
private static let containerBorderColor: Color = .gray400
private static let containerBackgroundColor: Color = .gray0

private static let tagSpacing: CGFloat = 6
private static let tagPaddingHorizontal: CGFloat = 8
private static let tagPaddingVertical: CGFloat = 2
private static let tagBorderWidth: CGFloat = 1
private static let tagCornerRadius: CGFloat = 20
private static let containerPaddingVertical: CGFloat = 12
private static let containerPaddingLeading: CGFloat = 14
private static let cornerRadius: CGFloat = 10
private static let containerBorderWidth: CGFloat = 1
Copy link
Contributor

Choose a reason for hiding this comment

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

고정값들은 변수로 뺴둘 필요가 있을까요?? padding값은 뺴도 될 것 같은데 한 번 고려해주세요!

Copy link
Contributor

Choose a reason for hiding this comment

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

이거한번만 리팩토링해주세요 !!

Copy link
Contributor

@y-eonee y-eonee 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 15 to 29
private static let textColor: Color = .gray900
private static let tagTextColor: Color = .gray700
private static let tagBorderColor: Color = .gray400
private static let containerBorderColor: Color = .gray400
private static let containerBackgroundColor: Color = .gray0

private static let tagSpacing: CGFloat = 6
private static let tagPaddingHorizontal: CGFloat = 8
private static let tagPaddingVertical: CGFloat = 2
private static let tagBorderWidth: CGFloat = 1
private static let tagCornerRadius: CGFloat = 20
private static let containerPaddingVertical: CGFloat = 12
private static let containerPaddingLeading: CGFloat = 14
private static let cornerRadius: CGFloat = 10
private static let containerBorderWidth: CGFloat = 1
Copy link
Contributor

Choose a reason for hiding this comment

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

이거한번만 리팩토링해주세요 !!

Comment on lines 34 to 38
TypographyText(interaction, style: .body1_m_14, color: Self.textColor)

TypographyText(" • ", style: .body1_m_14, color: Self.textColor)

TypographyText("회복 \(dDay)일차", style: .body1_r_14, color: Self.textColor)
Copy link
Contributor

Choose a reason for hiding this comment

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

이거 줄바꿈 없앨게요

.frame(width: Self.tagSpacing)

TypographyText(tag, style: .body3_r_12, color: Self.tagTextColor)
.frame(width: 32, height: 22)
Copy link
Contributor

Choose a reason for hiding this comment

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

기기대응 적용해주세요!!

@soseoyo12 soseoyo12 merged commit 46de244 into develop Jan 14, 2026
1 check was pending
@soseoyo12 soseoyo12 deleted the feat/#50-monthPlan branch January 15, 2026 14:39
@coderabbitai coderabbitai bot mentioned this pull request Jan 16, 2026
Kimgyuilli pushed a commit that referenced this pull request Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature 새로운 기능 구현 및 API 연결 성용👶

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feat] month plan 컴포넌트 제작

4 participants