Skip to content

Commit c17c997

Browse files
committed
ui: 요일 라벨 제거
1 parent d694500 commit c17c997

3 files changed

Lines changed: 11 additions & 115 deletions

File tree

DevLogWidget/Heatmap/WidgetHeatmapGrid.swift

Lines changed: 9 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,15 @@ struct WidgetHeatmapGrid: View {
2222
showsMonthTitles: showsMonthTitles
2323
)
2424

25-
HStack(alignment: .top, spacing: layout.weekdayLabelSpacing) {
26-
WidgetHeatmapWeekdayLabels(layout: layout)
27-
28-
HStack(alignment: .top, spacing: layout.monthSpacing) {
29-
ForEach(months, id: \.monthStart) { month in
30-
WidgetHeatmapMonthGrid(
31-
month: month,
32-
layout: layout,
33-
selectedActivityKindRawValues: selectedActivityKindRawValues,
34-
maxCount: maxCount,
35-
showsMonthTitle: showsMonthTitles
36-
)
37-
}
25+
HStack(alignment: .top, spacing: layout.monthSpacing) {
26+
ForEach(months, id: \.monthStart) { month in
27+
WidgetHeatmapMonthGrid(
28+
month: month,
29+
layout: layout,
30+
selectedActivityKindRawValues: selectedActivityKindRawValues,
31+
maxCount: maxCount,
32+
showsMonthTitle: showsMonthTitles
33+
)
3834
}
3935
}
4036
.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading)
@@ -71,45 +67,6 @@ struct WidgetHeatmapPlaceholderGrid: View {
7167
}
7268
}
7369

74-
private struct WidgetHeatmapWeekdayLabels: View {
75-
let layout: WidgetHeatmapLayout
76-
private let orderedWeekdays = Array(1...7)
77-
private let weekdayLocalizedStringKeys: [Int: LocalizedStringKey] = [
78-
2: "widget_heatmap_weekday_monday",
79-
4: "widget_heatmap_weekday_wednesday",
80-
6: "widget_heatmap_weekday_friday"
81-
]
82-
83-
var body: some View {
84-
VStack(alignment: .leading, spacing: layout.cellSpacing) {
85-
ForEach(orderedWeekdays, id: \.self) { weekday in
86-
weekdayLabel(for: weekday)
87-
}
88-
}
89-
.padding(.top, layout.weekdayTopPadding)
90-
}
91-
92-
@ViewBuilder
93-
private func weekdayLabel(for weekday: Int) -> some View {
94-
if let localizedStringKey = weekdayLocalizedStringKeys[weekday] {
95-
Text(localizedStringKey)
96-
.font(.caption2)
97-
.foregroundStyle(.secondary)
98-
.frame(
99-
width: layout.weekdayLabelWidth,
100-
height: layout.cellSize,
101-
alignment: .leading
102-
)
103-
} else {
104-
Color.clear
105-
.frame(
106-
width: layout.weekdayLabelWidth,
107-
height: layout.cellSize
108-
)
109-
}
110-
}
111-
}
112-
11370
private struct WidgetHeatmapMonthGrid: View {
11471
let month: WidgetHeatmapMonthSnapshot
11572
let layout: WidgetHeatmapLayout

DevLogWidget/Heatmap/WidgetHeatmapLayout.swift

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ struct WidgetHeatmapLayout {
1212
let cellSpacing: CGFloat
1313
let monthSpacing: CGFloat
1414
let monthTitleSpacing: CGFloat
15-
let weekdayLabelSpacing: CGFloat = Self.baseWeekdayLabelSpacing
16-
let weekdayLabelWidth: CGFloat = Self.baseWeekdayLabelWidth
1715
let showsMonthTitles: Bool
1816

1917
init(
@@ -37,10 +35,6 @@ struct WidgetHeatmapLayout {
3735
)
3836
}
3937

40-
var weekdayTopPadding: CGFloat {
41-
showsMonthTitles ? cellSize + monthTitleSpacing : 0
42-
}
43-
4438
var cellCornerRadius: CGFloat {
4539
max(2, cellSize * 0.2)
4640
}
@@ -49,8 +43,6 @@ struct WidgetHeatmapLayout {
4943
private static let baseMonthSpacing: CGFloat = 10
5044
private static let maxMonthSpacing: CGFloat = 26
5145
private static let baseMonthTitleSpacing: CGFloat = 4
52-
private static let baseWeekdayLabelSpacing: CGFloat = 5
53-
private static let baseWeekdayLabelWidth: CGFloat = 14
5446

5547
private static func resolvedMonthTitleSpacing(showsMonthTitles: Bool) -> CGFloat {
5648
// 월 제목을 표시하는 Medium에서만 제목과 셀 사이 간격을 확보한다.
@@ -99,10 +91,8 @@ struct WidgetHeatmapLayout {
9991
) -> CGFloat {
10092
// 셀 크기는 높이 기준으로 고정하고, 남는 가로폭만 월 간격 계산에 사용한다.
10193
let sanitizedWeekCounts = sanitizedWeekCounts(weekCounts)
102-
// 요일 라벨 영역, 전체 셀 컬럼, 월 내부 주차 spacing을 더해 기본 너비를 구한다.
103-
let contentWidth = baseWeekdayLabelWidth
104-
+ baseWeekdayLabelSpacing
105-
+ cellSize * CGFloat(totalColumns(in: sanitizedWeekCounts))
94+
// 전체 셀 컬럼과 월 내부 주차 spacing을 더해 기본 너비를 구한다.
95+
let contentWidth = cellSize * CGFloat(totalColumns(in: sanitizedWeekCounts))
10696
+ baseCellSpacing * CGFloat(totalColumnSpacings(in: sanitizedWeekCounts))
10797
// 기본 너비보다 위젯이 넓을 때만 월 간격에 분배할 여유 폭이 생긴다.
10898
return max(0, availableWidth - contentWidth)

DevLogWidget/Resource/Localizable.xcstrings

Lines changed: 0 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -47,57 +47,6 @@
4747
}
4848
}
4949
},
50-
"widget_heatmap_weekday_friday" : {
51-
"extractionState" : "manual",
52-
"localizations" : {
53-
"en" : {
54-
"stringUnit" : {
55-
"state" : "translated",
56-
"value" : "Fri"
57-
}
58-
},
59-
"ko" : {
60-
"stringUnit" : {
61-
"state" : "translated",
62-
"value" : "금"
63-
}
64-
}
65-
}
66-
},
67-
"widget_heatmap_weekday_monday" : {
68-
"extractionState" : "manual",
69-
"localizations" : {
70-
"en" : {
71-
"stringUnit" : {
72-
"state" : "translated",
73-
"value" : "Mon"
74-
}
75-
},
76-
"ko" : {
77-
"stringUnit" : {
78-
"state" : "translated",
79-
"value" : "월"
80-
}
81-
}
82-
}
83-
},
84-
"widget_heatmap_weekday_wednesday" : {
85-
"extractionState" : "manual",
86-
"localizations" : {
87-
"en" : {
88-
"stringUnit" : {
89-
"state" : "translated",
90-
"value" : "Wed"
91-
}
92-
},
93-
"ko" : {
94-
"stringUnit" : {
95-
"state" : "translated",
96-
"value" : "수"
97-
}
98-
}
99-
}
100-
},
10150
"widget_heatmap_description" : {
10251
"extractionState" : "manual",
10352
"localizations" : {

0 commit comments

Comments
 (0)