From 27fae652f385f4aba21ada0ad390f7979bb6df09 Mon Sep 17 00:00:00 2001 From: jihun Date: Thu, 5 Mar 2026 13:34:47 +0900 Subject: [PATCH 01/15] =?UTF-8?q?fix:=20home-0012=20weekly=20calendar=20?= =?UTF-8?q?=EC=83=88=EB=A1=9C=EA=B3=A0=EC=B9=A8=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EB=85=B8=EC=B6=9C=20=EC=A1=B0=EA=B1=B4=20=EB=B3=80=EA=B2=BD=20?= =?UTF-8?q?=ED=95=84=EC=9A=94=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/Sources/Home/HomeReducer+Impl.swift | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/Projects/Feature/Home/Sources/Home/HomeReducer+Impl.swift b/Projects/Feature/Home/Sources/Home/HomeReducer+Impl.swift index 245f2633..3c28625e 100644 --- a/Projects/Feature/Home/Sources/Home/HomeReducer+Impl.swift +++ b/Projects/Feature/Home/Sources/Home/HomeReducer+Impl.swift @@ -218,10 +218,10 @@ extension HomeReducer { case let .myCardTapped(card): let verificationDate = TXCalendarUtil.apiDateString(for: state.calendarDate) return .send(.delegate(.goToGoalDetail(id: card.id, owner: .mySelf, verificationDate: verificationDate))) - + case let .headerTapped(card): return .send(.delegate(.goToStatsDetail(id: card.id))) - + case .floatingButtonTapped: state.isAddGoalPresented = true return .none @@ -267,24 +267,31 @@ extension HomeReducer { state.cards = items } return .none - + case .fetchGoalsFailed: state.isLoading = false return .send(.showToast(.warning(message: "목표 조회에 실패했어요"))) case let .setCalendarDate(date): - let now = state.nowDate - if date == state.calendarDate { - return .none - } + guard date != state.calendarDate else { return .none } + + let today = TXCalendarDate() + let calendar = Calendar(identifier: .gregorian) + state.calendarDate = date state.calendarMonthTitle = "\(date.month)월 \(date.year)" state.calendarWeeks = TXCalendarDataGenerator.generateWeekData(for: date) - state.isRefreshHidden = ( - date.year == now.year && - date.month == now.month && - date.day == now.day - ) + + if let selectedDate = date.date, + let todayDate = today.date { + let isThisWeek = calendar.isDate( + selectedDate, + equalTo: todayDate, + toGranularity: .weekOfYear + ) + state.isRefreshHidden = isThisWeek + } + state.isLoading = true return .send(.fetchGoals) From 4315e0a5b41bb59a7dd7e08e09f125d38cef9385 Mon Sep 17 00:00:00 2001 From: jihun Date: Thu, 5 Mar 2026 20:23:23 +0900 Subject: [PATCH 02/15] =?UTF-8?q?chore:=20logo=20Image=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Illustration/logo.imageset/Contents.json | 15 ++++++++++++ .../Illustration/logo.imageset/logo.svg | 10 ++++++++ .../logo.imageset/Contents.json | 23 ------------------ .../logo.imageset/logo.png | Bin 1316 -> 0 bytes .../logo.imageset/logo@2x.png | Bin 2257 -> 0 bytes .../logo.imageset/logo@3x.png | Bin 3034 -> 0 bytes .../Sources/Resources/Image/Images.swift | 2 +- 7 files changed, 26 insertions(+), 24 deletions(-) create mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/Contents.json create mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/logo.svg delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/Contents.json delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/logo.png delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/logo@2x.png delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/logo@3x.png diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/Contents.json new file mode 100644 index 00000000..151248e9 --- /dev/null +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "logo.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/logo.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/logo.svg new file mode 100644 index 00000000..db4aa369 --- /dev/null +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/Contents.json deleted file mode 100644 index b54d4d9a..00000000 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "logo.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "logo@2x.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "logo@3x.png", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/logo.png b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/logo.png deleted file mode 100644 index 6d502cf109cc100875f9ae7a87d836acebefddfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1316 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 diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/logo@3x.png b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/logo.imageset/logo@3x.png deleted file mode 100644 index 189247ac81ecbf1db0767caadf36e06033e5034c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3034 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 diff --git a/Projects/Shared/DesignSystem/Sources/Resources/Image/Images.swift b/Projects/Shared/DesignSystem/Sources/Resources/Image/Images.swift index 617ac95d..f0e81d7b 100644 --- a/Projects/Shared/DesignSystem/Sources/Resources/Image/Images.swift +++ b/Projects/Shared/DesignSystem/Sources/Resources/Image/Images.swift @@ -112,7 +112,7 @@ public extension Image.Illustration { static let connect = IllustrationAsset.illustConnect.swiftUIImage static let invite = IllustrationAsset.illustInvite.swiftUIImage static let singing = IllustrationAsset.illustSinging.swiftUIImage - static let logo = SharedDesignSystemAsset.ImageAssets.logo.swiftUIImage + static let logo = IllustrationAsset.logo.swiftUIImage static let emptyPoke = IllustrationAsset.illustEmptyPoke.swiftUIImage static let arrow = IllustrationAsset.illustArrow.swiftUIImage static let hug = IllustrationAsset.illustHug.swiftUIImage From 1b1f05ef9c19f51e84be9be52b6f38825ee399ae Mon Sep 17 00:00:00 2001 From: jihun Date: Thu, 5 Mar 2026 20:23:43 +0900 Subject: [PATCH 03/15] =?UTF-8?q?fix:=20home-0014=20topAppbar=20=EB=A1=9C?= =?UTF-8?q?=EA=B3=A0=20=EB=B3=80=EA=B2=BD=20=EB=B0=8F=20=EA=B0=84=EA=B2=A9?= =?UTF-8?q?=20=EC=A1=B0=EC=A0=95=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Bar/Navigation/TXNavigationBar+Style.swift | 2 +- .../Sources/Components/Bar/Navigation/TXNavigationBar.swift | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar+Style.swift b/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar+Style.swift index 0c5e7544..fa7d1a7d 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar+Style.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar+Style.swift @@ -135,7 +135,7 @@ extension TXNavigationBar.Style { var height: CGFloat { switch self { case .mainTitle, .subContent, .home, .subTitle: - return 80 + return 76 case .iconOnly, .noTitle: return 72 diff --git a/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar.swift b/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar.swift index c624f122..f503b9ed 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar.swift @@ -198,6 +198,7 @@ private extension TXNavigationBar { func homeContent(_ homeStyle: Style.Home) -> some View { VStack(alignment: .leading, spacing: 0) { subTitleRow(subTitle: homeStyle.subTitle) + .padding(.top, 5) HStack(spacing: 0) { mainTitleRow(homeStyle) @@ -206,9 +207,11 @@ private extension TXNavigationBar { homeActionButtons(isRemained: homeStyle.isRemainedAlarm) } + .padding(.bottom, 2) + + Spacer() } .padding(style.horizontalPadding) - .padding(.vertical, 7) } func subTitleRow(subTitle: String) -> some View { @@ -227,6 +230,7 @@ private extension TXNavigationBar { .foregroundStyle(style.subTitleForegroundColor) } } + .frame(height: 20) .buttonStyle(.plain) } From d9770a467f8b10c5c9ac6c2aeef5d1b1d117b41e Mon Sep 17 00:00:00 2001 From: jihun Date: Mon, 9 Mar 2026 21:38:56 +0900 Subject: [PATCH 04/15] =?UTF-8?q?chore:=20Image=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20=EB=B0=98=EC=98=81=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Illustration/doubt.imageset/doubt.svg | 37 +++++------- .../Icons/Illustration/fuck.imageset/fuck.svg | 52 ++++++++--------- .../Illustration/happy.imageset/happy.svg | 37 ++++++------ .../icon_clean.imageset/icon_clean.svg | 34 +++++------ .../icon_default.imageset/icon_default.svg | 19 ++++--- .../icon_health.imageset/icon_health.svg | 2 +- .../Contents.json | 0 .../icon_heartDouble.imageset/icon_heart.svg | 4 ++ .../icon_heart_double.imageset/icon_heart.svg | 4 -- .../icon_laptop.imageset/icon_laptop.svg | 46 +++++++-------- .../icon_pencil.imageset/icon_pencil.svg | 24 ++++---- .../Icons/Illustration/love.imageset/love.svg | 37 ++++++------ .../Illustration/trouble.imageset/trouble.svg | 56 +++++++++---------- 13 files changed, 174 insertions(+), 178 deletions(-) rename Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/{icon_heart_double.imageset => icon_heartDouble.imageset}/Contents.json (100%) create mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heartDouble.imageset/icon_heart.svg delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heart_double.imageset/icon_heart.svg diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/doubt.imageset/doubt.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/doubt.imageset/doubt.svg index 5c5744cc..3217fb89 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/doubt.imageset/doubt.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/doubt.imageset/doubt.svg @@ -1,26 +1,17 @@ - - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/fuck.imageset/fuck.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/fuck.imageset/fuck.svg index 3a73026d..c4e104a7 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/fuck.imageset/fuck.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/fuck.imageset/fuck.svg @@ -1,29 +1,29 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/happy.imageset/happy.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/happy.imageset/happy.svg index 87105ec8..d8b95744 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/happy.imageset/happy.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/happy.imageset/happy.svg @@ -1,21 +1,22 @@ - - - + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_clean.imageset/icon_clean.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_clean.imageset/icon_clean.svg index 5b0a8edb..6c5abe8a 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_clean.imageset/icon_clean.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_clean.imageset/icon_clean.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_default.imageset/icon_default.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_default.imageset/icon_default.svg index 9729ddc7..2889eea5 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_default.imageset/icon_default.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_default.imageset/icon_default.svg @@ -1,13 +1,16 @@ - - - - + + + + - - - + + + - + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_health.imageset/icon_health.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_health.imageset/icon_health.svg index 51c01dd4..df7cef31 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_health.imageset/icon_health.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_health.imageset/icon_health.svg @@ -11,7 +11,7 @@ - + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heart_double.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heartDouble.imageset/Contents.json similarity index 100% rename from Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heart_double.imageset/Contents.json rename to Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heartDouble.imageset/Contents.json diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heartDouble.imageset/icon_heart.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heartDouble.imageset/icon_heart.svg new file mode 100644 index 00000000..5f352dea --- /dev/null +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heartDouble.imageset/icon_heart.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heart_double.imageset/icon_heart.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heart_double.imageset/icon_heart.svg deleted file mode 100644 index 69bd7053..00000000 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_heart_double.imageset/icon_heart.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_laptop.imageset/icon_laptop.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_laptop.imageset/icon_laptop.svg index 7c6fcdca..bcc946c8 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_laptop.imageset/icon_laptop.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_laptop.imageset/icon_laptop.svg @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_pencil.imageset/icon_pencil.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_pencil.imageset/icon_pencil.svg index 09de3d25..57a92958 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_pencil.imageset/icon_pencil.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/icon_pencil.imageset/icon_pencil.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/love.imageset/love.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/love.imageset/love.svg index 80cf5160..07d03b93 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/love.imageset/love.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/love.imageset/love.svg @@ -1,20 +1,23 @@ - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/trouble.imageset/trouble.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/trouble.imageset/trouble.svg index d17e6e6a..9ac07bf9 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/trouble.imageset/trouble.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Illustration/trouble.imageset/trouble.svg @@ -1,34 +1,32 @@ - - - - + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + + From a70ec37f90d0f795fcbb4ef38866c772e849638e Mon Sep 17 00:00:00 2001 From: jihun Date: Mon, 9 Mar 2026 21:39:38 +0900 Subject: [PATCH 05/15] =?UTF-8?q?fix:=20home-0016=20card=20=EA=B0=84?= =?UTF-8?q?=EA=B2=A9=20=EC=A1=B0=EC=A0=95=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Goal/GoalCardView+Configuration.swift | 6 ++--- .../Components/Card/Goal/GoalCardView.swift | 3 --- .../Header/CardHeaderView+Configuration.swift | 6 +++++ .../Card/Header/CardHeaderView.swift | 24 +++++++++++++------ 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView+Configuration.swift b/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView+Configuration.swift index c12177ac..0d9960c7 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView+Configuration.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView+Configuration.swift @@ -61,10 +61,10 @@ extension GoalCardView.Configuration { contentBackgroundColor: Color.Gray.gray50, borderColor: Color.Gray.gray500, borderWidth: LineWidth.m, - cornerRadius: 16, + cornerRadius: Radius.s, imageHeight: 136, - emojiSize: CGSize(width: 32, height: 32), - emojiPadding: Spacing.spacing4 + emojiSize: CGSize(width: 40, height: 40), + emojiPadding: Spacing.spacing3 ) } } diff --git a/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView.swift b/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView.swift index ce8fadf5..d51a9b53 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView.swift @@ -111,9 +111,6 @@ public struct GoalCardView: View { CardHeaderView(config: config.headerConfig) if config.showsContent { - config.borderColor - .frame(height: config.borderWidth) - .frame(maxWidth: .infinity) HStack(spacing: 0) { myContent diff --git a/Projects/Shared/DesignSystem/Sources/Components/Card/Header/CardHeaderView+Configuration.swift b/Projects/Shared/DesignSystem/Sources/Components/Card/Header/CardHeaderView+Configuration.swift index eb29ad6d..0e6cacd9 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Card/Header/CardHeaderView+Configuration.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Card/Header/CardHeaderView+Configuration.swift @@ -34,6 +34,7 @@ extension CardHeaderView { let iconImage: Image let content: Content var isBordered: Bool + let insideBorderEdges: [Edge] let padding: CGFloat let contentSpacing: CGFloat let radius: CGFloat @@ -47,6 +48,7 @@ extension CardHeaderView { iconImage: Image, content: Content, isBordered: Bool, + insideBorderEdges: [Edge] = [], padding: CGFloat, contentSpacing: CGFloat, radius: CGFloat, @@ -59,6 +61,7 @@ extension CardHeaderView { self.iconImage = iconImage self.content = content self.isBordered = isBordered + self.insideBorderEdges = insideBorderEdges self.padding = padding self.contentSpacing = contentSpacing self.radius = radius @@ -97,6 +100,7 @@ extension CardHeaderView.Configuration { isCoupleChecked: isCoupleChecked, action: action, isBordered: false, + insideBorderEdges: [.bottom], onHeaderTapped: onHeaderTapped ) } @@ -228,6 +232,7 @@ extension CardHeaderView.Configuration { isCoupleChecked: Bool, action: @escaping () -> Void, isBordered: Bool, + insideBorderEdges: [Edge] = [], onHeaderTapped: (() -> Void)? = nil ) -> Self { Self( @@ -239,6 +244,7 @@ extension CardHeaderView.Configuration { action: action ), isBordered: isBordered, + insideBorderEdges: insideBorderEdges, padding: Spacing.spacing7, contentSpacing: Spacing.spacing6, radius: Radius.s, diff --git a/Projects/Shared/DesignSystem/Sources/Components/Card/Header/CardHeaderView.swift b/Projects/Shared/DesignSystem/Sources/Components/Card/Header/CardHeaderView.swift index 975f7efa..4a09c525 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Card/Header/CardHeaderView.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Card/Header/CardHeaderView.swift @@ -71,25 +71,26 @@ private extension CardHeaderView { HStack(spacing: config.contentSpacing) { HStack(spacing: config.contentSpacing) { config.iconImage + .resizable() + .frame(width: 32, height: 32) Text(config.goalName) .typography(config.titleTypography) } - .contentShape(Rectangle()) + .frame(maxWidth: .infinity, alignment: .leading) .onTapGesture { config.onHeaderTapped?() } - Spacer() - .contentShape(Rectangle()) - .onTapGesture { - config.onHeaderTapped?() - } - rightContent } .padding(config.padding) .background(Color.Common.white) + .insideRectEdgeBorder( + width: config.borderWidth, + edges: config.insideBorderEdges, + color: config.borderColor + ) } @ViewBuilder var rightContent: some View { @@ -138,6 +139,15 @@ private struct CardHeaderPreview: View { ) ) + CardHeaderView( + config: .goalCheckOpened( + goalName: "목표 이름", + iconImage: .Icon.Illustration.exercise, + isMyChecked: isMyChecked, + action: { isMyChecked.toggle() } + ) + ) + CardHeaderView( config: .goalAdd( goalName: "목표 이름", From 998c3439d09c029115b9a1d9c2ecf4794c8bd82f Mon Sep 17 00:00:00 2001 From: jihun Date: Mon, 9 Mar 2026 22:15:41 +0900 Subject: [PATCH 06/15] fix: home-0017 floating btn - #200 --- Projects/Feature/MainTab/Sources/View/MainTabView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Projects/Feature/MainTab/Sources/View/MainTabView.swift b/Projects/Feature/MainTab/Sources/View/MainTabView.swift index 97791066..3d352a96 100644 --- a/Projects/Feature/MainTab/Sources/View/MainTabView.swift +++ b/Projects/Feature/MainTab/Sources/View/MainTabView.swift @@ -74,7 +74,7 @@ private extension MainTabView { TXCircleButton(config: .plus()) { store.send(.home(.home(.floatingButtonTapped))) } - .insideBorder( + .outsideBorder( Color.Gray.gray300, shape: .circle, lineWidth: LineWidth.m From ce36a353a1750d728c24f1234bf32b9fcbe65810 Mon Sep 17 00:00:00 2001 From: jihun Date: Tue, 10 Mar 2026 16:08:27 +0900 Subject: [PATCH 07/15] =?UTF-8?q?chore:=20Tab=20Image=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Icons/Symbol/selected=none-1.imageset/Contents.json | 2 +- .../Icons/Symbol/selected=none-1.imageset/ic_statistics.svg | 3 +++ .../Icons/Symbol/selected=none-1.imageset/selected=none-1.svg | 3 --- .../Icons/Symbol/selected=none-2.imageset/Contents.json | 2 +- .../{selected=none-2.svg => ic_couple.svg} | 0 .../Icons/Symbol/selected=none.imageset/Contents.json | 2 +- .../selected=none.imageset/{selected=none.svg => ic_home.svg} | 0 .../Icons/Symbol/selected=selected-1.imageset/Contents.json | 2 +- .../selected=selected-1.imageset/ic_statistics_selected.svg | 4 ++++ .../selected=selected-1.imageset/selected=selected-1.svg | 4 ---- .../Icons/Symbol/selected=selected-2.imageset/Contents.json | 2 +- .../{selected=selected-2.svg => ic_couple_selected.svg} | 0 .../Icons/Symbol/selected=selected.imageset/Contents.json | 2 +- .../{selected=selected.svg => ic_home_selected.svg} | 0 14 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/ic_statistics.svg delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/selected=none-1.svg rename Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-2.imageset/{selected=none-2.svg => ic_couple.svg} (100%) rename Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none.imageset/{selected=none.svg => ic_home.svg} (100%) create mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/ic_statistics_selected.svg delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/selected=selected-1.svg rename Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-2.imageset/{selected=selected-2.svg => ic_couple_selected.svg} (100%) rename Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected.imageset/{selected=selected.svg => ic_home_selected.svg} (100%) diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/Contents.json index fbc96130..009a07cc 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/Contents.json +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "selected=none-1.svg", + "filename" : "ic_statistics.svg", "idiom" : "universal" } ], diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/ic_statistics.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/ic_statistics.svg new file mode 100644 index 00000000..71286bac --- /dev/null +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/ic_statistics.svg @@ -0,0 +1,3 @@ + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/selected=none-1.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/selected=none-1.svg deleted file mode 100644 index 7e760dc2..00000000 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-1.imageset/selected=none-1.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-2.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-2.imageset/Contents.json index 58dcaff5..c5c93503 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-2.imageset/Contents.json +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-2.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "selected=none-2.svg", + "filename" : "ic_couple.svg", "idiom" : "universal" } ], diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-2.imageset/selected=none-2.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-2.imageset/ic_couple.svg similarity index 100% rename from Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-2.imageset/selected=none-2.svg rename to Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none-2.imageset/ic_couple.svg diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none.imageset/Contents.json index ab7057a0..c381355f 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none.imageset/Contents.json +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "selected=none.svg", + "filename" : "ic_home.svg", "idiom" : "universal" } ], diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none.imageset/selected=none.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none.imageset/ic_home.svg similarity index 100% rename from Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none.imageset/selected=none.svg rename to Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=none.imageset/ic_home.svg diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/Contents.json index 476256a7..e6b83579 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/Contents.json +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "selected=selected-1.svg", + "filename" : "ic_statistics_selected.svg", "idiom" : "universal" } ], diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/ic_statistics_selected.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/ic_statistics_selected.svg new file mode 100644 index 00000000..a4604210 --- /dev/null +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/ic_statistics_selected.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/selected=selected-1.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/selected=selected-1.svg deleted file mode 100644 index 3d1d521c..00000000 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-1.imageset/selected=selected-1.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-2.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-2.imageset/Contents.json index 75275725..3242fbbe 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-2.imageset/Contents.json +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-2.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "selected=selected-2.svg", + "filename" : "ic_couple_selected.svg", "idiom" : "universal" } ], diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-2.imageset/selected=selected-2.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-2.imageset/ic_couple_selected.svg similarity index 100% rename from Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-2.imageset/selected=selected-2.svg rename to Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected-2.imageset/ic_couple_selected.svg diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected.imageset/Contents.json index ce6a7a2b..de01255b 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected.imageset/Contents.json +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "selected=selected.svg", + "filename" : "ic_home_selected.svg", "idiom" : "universal" } ], diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected.imageset/selected=selected.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected.imageset/ic_home_selected.svg similarity index 100% rename from Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected.imageset/selected=selected.svg rename to Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Icons/Symbol/selected=selected.imageset/ic_home_selected.svg From e4c2ff2d0ce672d9566c65ede4eb7335876bd55e Mon Sep 17 00:00:00 2001 From: jihun Date: Tue, 10 Mar 2026 16:09:06 +0900 Subject: [PATCH 08/15] fix: home-0018 bottomNavigation - #200 --- .../DesignSystem/Sources/Components/Bar/TabBar/TXTabBar.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Projects/Shared/DesignSystem/Sources/Components/Bar/TabBar/TXTabBar.swift b/Projects/Shared/DesignSystem/Sources/Components/Bar/TabBar/TXTabBar.swift index 1947ba78..eab4e17b 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Bar/TabBar/TXTabBar.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Bar/TabBar/TXTabBar.swift @@ -49,7 +49,7 @@ private extension TXTabBar { .typography(Constants.labelFont) .foregroundStyle(Constants.labelColor) } - .frame(maxWidth: .infinity) + .frame(maxWidth: .infinity, alignment: .top) .padding(.top, Constants.topPadding) } .buttonStyle(.plain) From 6690b2544586ad334cccaa880ec6eeac33da8d1a Mon Sep 17 00:00:00 2001 From: jihun Date: Wed, 11 Mar 2026 20:29:09 +0900 Subject: [PATCH 09/15] =?UTF-8?q?refactor:=20txBottomSheet=20safeArea=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/Sources/Goal/AddGoalListView.swift | 14 ++++++++------ .../Feature/MakeGoal/Sources/MakeGoalView.swift | 2 +- .../Sources/Connect/OnboardingConnectView.swift | 2 +- .../Sources/Modifiers/View+TxBottomSheet.swift | 1 + 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Projects/Feature/Home/Sources/Goal/AddGoalListView.swift b/Projects/Feature/Home/Sources/Goal/AddGoalListView.swift index 117ea967..05484ae2 100644 --- a/Projects/Feature/Home/Sources/Goal/AddGoalListView.swift +++ b/Projects/Feature/Home/Sources/Goal/AddGoalListView.swift @@ -26,9 +26,6 @@ struct AddGoalListView: View { headerView .padding(.horizontal, 20) categoryListView - .padding(.top, 20) - .padding(.horizontal, 20) - .padding(.bottom, 80) } .padding(.top, 28) } @@ -54,10 +51,15 @@ private extension AddGoalListView { } var categoryListView: some View { - VStack(spacing: 16) { - ForEach(items, id: \.self) { item in - categoryCardView(for: item) + ScrollView { + VStack(spacing: 16) { + ForEach(items, id: \.self) { item in + categoryCardView(for: item) + } } + .padding(.top, 20) + .padding(.bottom, 80) + .padding(.horizontal, 20) } } diff --git a/Projects/Feature/MakeGoal/Sources/MakeGoalView.swift b/Projects/Feature/MakeGoal/Sources/MakeGoalView.swift index 219c3965..93fe2afc 100644 --- a/Projects/Feature/MakeGoal/Sources/MakeGoalView.swift +++ b/Projects/Feature/MakeGoal/Sources/MakeGoalView.swift @@ -273,7 +273,7 @@ private extension MakeGoalView { .padding(.vertical, 8) } .padding(.top, 36) - .padding(.bottom, TXSafeArea.inset(.bottom) + 16) + .padding(.bottom, 16) } var periodTabButtons: some View { diff --git a/Projects/Feature/Onboarding/Sources/Connect/OnboardingConnectView.swift b/Projects/Feature/Onboarding/Sources/Connect/OnboardingConnectView.swift index aa73b3b1..6cc31234 100644 --- a/Projects/Feature/Onboarding/Sources/Connect/OnboardingConnectView.swift +++ b/Projects/Feature/Onboarding/Sources/Connect/OnboardingConnectView.swift @@ -242,7 +242,7 @@ private extension OnboardingConnectView { .padding(.horizontal, 30) } .padding(.top, 28) - .padding(.bottom, TXSafeArea.inset(.bottom) + Spacing.spacing7) + .padding(.bottom, Spacing.spacing7) } func bulletItem(_ text: String) -> some View { diff --git a/Projects/Shared/DesignSystem/Sources/Modifiers/View+TxBottomSheet.swift b/Projects/Shared/DesignSystem/Sources/Modifiers/View+TxBottomSheet.swift index e399ccaa..30e8b056 100644 --- a/Projects/Shared/DesignSystem/Sources/Modifiers/View+TxBottomSheet.swift +++ b/Projects/Shared/DesignSystem/Sources/Modifiers/View+TxBottomSheet.swift @@ -83,6 +83,7 @@ private struct TXBottomSheetModifier: ViewModifier { private extension TXBottomSheetModifier { var sheetView: some View { sheetContent() + .padding(.bottom, TXSafeArea.inset(.bottom)) .frame(maxWidth: .infinity, alignment: .bottom) .background(Color.Common.white) .clipShape( From d5849e92ac93c8144ea1bab6c8a5b7c486e5127f Mon Sep 17 00:00:00 2001 From: jihun Date: Wed, 11 Mar 2026 20:29:41 +0900 Subject: [PATCH 10/15] fix: home-0019 btSheet_calendar - #200 --- .../Calendar/BottomSheet/TXCalendarBottomSheet.swift | 8 ++++---- .../Sources/Components/Calendar/Core/TXCalendar.swift | 9 +++++++-- .../Components/Calendar/Core/TXCalendarDateCell.swift | 4 +--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Projects/Shared/DesignSystem/Sources/Components/Calendar/BottomSheet/TXCalendarBottomSheet.swift b/Projects/Shared/DesignSystem/Sources/Components/Calendar/BottomSheet/TXCalendarBottomSheet.swift index e2c38007..cb32f2a9 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Calendar/BottomSheet/TXCalendarBottomSheet.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Calendar/BottomSheet/TXCalendarBottomSheet.swift @@ -111,7 +111,6 @@ public struct TXCalendarBottomSheet: View { // 버튼 영역 buttonArea - .padding(.bottom, Spacing.spacing5) } .frame(maxWidth: .infinity) .background(Color.Common.white) @@ -162,7 +161,7 @@ public struct DefaultCalendarButton: View { action: action ) .padding(.horizontal, Spacing.spacing8) - .padding(.vertical, Spacing.spacing4) + .padding(.vertical, Spacing.spacing5) } } @@ -178,14 +177,15 @@ private extension TXCalendarBottomSheet { func calendarContentHeight(for weeks: [[TXCalendarDateItem]]) -> CGFloat { let headerHeight = TXCalendarLayout.weekdayLabelHeight(calendarConfig.weekdayTypography) let headerSectionHeight = headerHeight + calendarConfig.monthlyHeaderSpacing + let verticalPadding = calendarConfig.verticalPadding * 2 - guard !weeks.isEmpty else { return headerSectionHeight } + guard !weeks.isEmpty else { return headerSectionHeight + verticalPadding } let rowCount = CGFloat(weeks.count) let rowSpacing = calendarConfig.monthlyRowSpacing * CGFloat(weeks.count - 1) let monthGridHeight = (calendarConfig.dateStyle.size * rowCount) + rowSpacing - return headerSectionHeight + monthGridHeight + return headerSectionHeight + monthGridHeight + verticalPadding } @ViewBuilder diff --git a/Projects/Shared/DesignSystem/Sources/Components/Calendar/Core/TXCalendar.swift b/Projects/Shared/DesignSystem/Sources/Components/Calendar/Core/TXCalendar.swift index a9277368..28c1f1ad 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Calendar/Core/TXCalendar.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Calendar/Core/TXCalendar.swift @@ -35,6 +35,7 @@ public struct TXCalendar: View { public struct Configuration { let weeklyHorizontalPadding: CGFloat let monthlyHorizontalPadding: CGFloat + let verticalPadding: CGFloat let weeklyHeaderSpacing: CGFloat let weeklyBottomPadding: CGFloat let monthlyHeaderSpacing: CGFloat @@ -49,6 +50,7 @@ public struct TXCalendar: View { public init( weeklyHorizontalPadding: CGFloat = Spacing.spacing6, monthlyHorizontalPadding: CGFloat = Spacing.spacing7, + verticalPadding: CGFloat = Spacing.spacing3, weeklyHeaderSpacing: CGFloat = Spacing.spacing4, weeklyBottomPadding: CGFloat = Spacing.spacing5, monthlyHeaderSpacing: CGFloat = Spacing.spacing8, @@ -61,6 +63,7 @@ public struct TXCalendar: View { ) { self.weeklyHorizontalPadding = weeklyHorizontalPadding self.monthlyHorizontalPadding = monthlyHorizontalPadding + self.verticalPadding = verticalPadding self.weeklyHeaderSpacing = weeklyHeaderSpacing self.weeklyBottomPadding = weeklyBottomPadding self.monthlyHeaderSpacing = monthlyHeaderSpacing @@ -144,6 +147,7 @@ public struct TXCalendar: View { weekdayRow(spacing: spacing) dateContent(spacing: spacing) } + .padding(.vertical, config.verticalPadding) .padding(.horizontal, horizontalPadding) .frame(width: proxy.size.width, height: contentHeight, alignment: .top) .background(config.backgroundColor) @@ -276,10 +280,11 @@ private extension TXCalendar { var contentHeight: CGFloat { let headerHeight = TXCalendarLayout.weekdayLabelHeight(config.weekdayTypography) let headerSectionHeight = headerHeight + headerSpacing + let verticalPadding: CGFloat = config.verticalPadding * 2 switch mode { - case .weekly: return headerSectionHeight + config.dateStyle.size + config.weeklyBottomPadding - case .monthly: return headerSectionHeight + monthGridHeight + case .weekly: return headerSectionHeight + config.dateStyle.size + config.weeklyBottomPadding + verticalPadding + case .monthly: return headerSectionHeight + monthGridHeight + verticalPadding } } diff --git a/Projects/Shared/DesignSystem/Sources/Components/Calendar/Core/TXCalendarDateCell.swift b/Projects/Shared/DesignSystem/Sources/Components/Calendar/Core/TXCalendarDateCell.swift index 0d767d41..53d6fef7 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Calendar/Core/TXCalendarDateCell.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Calendar/Core/TXCalendarDateCell.swift @@ -46,9 +46,7 @@ private extension TXCalendarDateCell { case .selectedLine: shape .fill(style.selectedLineBackgroundColor) - .overlay { - shape.stroke(style.selectedLineBorderColor, lineWidth: style.borderWidth) - } + .insideBorder(style.selectedLineBorderColor, shape: .circle, lineWidth: style.borderWidth) case .completed: customBackground From c4610785cccfb5c3429df135fa9d9030ec8e46ba Mon Sep 17 00:00:00 2001 From: jihun Date: Thu, 12 Mar 2026 14:00:01 +0900 Subject: [PATCH 11/15] =?UTF-8?q?fix:=20home-0021=20empty=20state=20?= =?UTF-8?q?=EC=9D=BC=EB=9F=AC=EC=8A=A4=ED=8A=B8=20=EC=88=98=EC=A0=95=20&?= =?UTF-8?q?=20=EB=B0=98=EC=9D=91=ED=98=95=20=EB=8C=80=EC=9D=91=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Feature/Home/Sources/Home/HomeView.swift | 54 +++++++------ .../illust_empty_poke.svg | 75 +++++++++---------- 2 files changed, 69 insertions(+), 60 deletions(-) diff --git a/Projects/Feature/Home/Sources/Home/HomeView.swift b/Projects/Feature/Home/Sources/Home/HomeView.swift index 4462dcd8..ca233a31 100644 --- a/Projects/Feature/Home/Sources/Home/HomeView.swift +++ b/Projects/Feature/Home/Sources/Home/HomeView.swift @@ -49,15 +49,23 @@ public struct HomeView: View { headerRow .padding(.horizontal, 20) .padding(.top, 16) - goalEmptyView } - Spacer() } + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) .overlay { if store.isLoading { ProgressView() .frame(maxWidth: .infinity, maxHeight: .infinity) } + + if !store.hasCards { + goalEmptyView + } + } + .overlay(alignment: .bottomTrailing) { + if !store.hasCards { + emptyArrow + } } .onAppear { store.send(.onAppear) @@ -106,7 +114,6 @@ public struct HomeView: View { isPresented: $store.isCameraPermissionAlertPresented, onDismiss: { store.send(.cameraPermissionAlertDismissed) } ) - .frame(alignment: .center) .toolbar(.hidden, for: .navigationBar) } } @@ -212,25 +219,28 @@ private extension HomeView { } var goalEmptyView: some View { - GeometryReader { geometry in - VStack(alignment: .center, spacing: 0) { - Image.Illustration.emptyPoke - - Text("첫 목표를 세워볼까요?") - .typography(.t2_16b) - .foregroundStyle(Color.Gray.gray400) - - Text("+ 버튼을 눌러 목표를 추가해보세요") - .typography(.c1_12r) - .foregroundStyle(Color.Gray.gray300) - .padding(.top, 5) - } - .frame(width: geometry.size.width, height: geometry.size.height) - .overlay(alignment: .bottomTrailing) { - Image.Illustration.arrow - .padding(.bottom, 63) - .padding(.trailing, 86) - } + VStack(spacing: 0) { + Image.Illustration.emptyPoke + .frame(height: 116) + + Text("첫 목표를 세워볼까요?") + .typography(.t2_16b) + .foregroundStyle(Color.Gray.gray400) + .padding(.top, 16) + + Text("+ 버튼을 눌러 목표를 추가해보세요") + .typography(.c1_12r) + .foregroundStyle(Color.Gray.gray300) + .padding(.top, 4) } + .frame(maxWidth: .infinity, maxHeight: .infinity) + .ignoresSafeArea() + } + + var emptyArrow: some View { + Image.Illustration.arrow + .padding(.bottom, 71) + .padding(.trailing, 86) + .ignoresSafeArea() } } diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_empty_poke.imageset/illust_empty_poke.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_empty_poke.imageset/illust_empty_poke.svg index 8d61679c..633c98ba 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_empty_poke.imageset/illust_empty_poke.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_empty_poke.imageset/illust_empty_poke.svg @@ -1,39 +1,38 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 5204822609194e6d369001c5f2613d0d9d4ea390 Mon Sep 17 00:00:00 2001 From: jihun Date: Thu, 12 Mar 2026 14:22:28 +0900 Subject: [PATCH 12/15] =?UTF-8?q?chore:=20poke,=20keepiluv=20=EC=9D=BC?= =?UTF-8?q?=EB=9F=AC=EC=8A=A4=ED=8A=B8=20=EC=97=85=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=8A=B8=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../illust_keepiluv.imageset/Contents.json | 18 ++++--------- .../illust_keepiluv.png | Bin 2785 -> 0 bytes .../illust_keepiluv.svg | 25 ++++++++++++++++++ .../illust_keepiluv@2x.png | Bin 5819 -> 0 bytes .../illust_keepiluv@3x.png | Bin 9033 -> 0 bytes .../illust_poke.imageset/Contents.json | 18 ++++--------- .../illust_poke.imageset/illust_poke.png | Bin 6216 -> 0 bytes .../illust_poke.imageset/illust_poke.svg | 25 ++++++++++++++++++ .../illust_poke.imageset/illust_poke@2x.png | Bin 14798 -> 0 bytes .../illust_poke.imageset/illust_poke@3x.png | Bin 23259 -> 0 bytes 10 files changed, 60 insertions(+), 26 deletions(-) delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/illust_keepiluv.png create mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/illust_keepiluv.svg delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/illust_keepiluv@2x.png delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/illust_keepiluv@3x.png delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/illust_poke.png create mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/illust_poke.svg delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/illust_poke@2x.png delete mode 100644 Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/illust_poke@3x.png diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/Contents.json index e45f5fcc..ef060d80 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/Contents.json +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/Contents.json @@ -1,23 +1,15 @@ { "images" : [ { - "filename" : "illust_keepiluv.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "illust_keepiluv@2x.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "illust_keepiluv@3x.png", - "idiom" : "universal", - "scale" : "3x" + "filename" : "illust_keepiluv.svg", + "idiom" : "universal" } ], "info" : { "author" : "xcode", "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true } } diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/illust_keepiluv.png b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/illust_keepiluv.png deleted file mode 100644 index de21c2bedf6cf487fe58e3779c498be0beb97ab2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2785 zcmV<73Lf=|P)wt&!ip3_sNV1@SdoF1C=Nxq!Z_Vn~S z&w2m9_f#Z{EV9TVi!3xEN79J>`}fpznL@8I}b<+X2S zUQYIT1=8om%K^zi=;lN~mIE6*hL>Y;aj_o~W+zF23*>b~k1H?E>u;(mlj~1j`QOgI zJ6~K}e6F{*HzOrb7Xsk~+HIwUt~y(Z4EtupH$CS+wzI5@(B8}mz3)sIfK^WlWR_H|H&B?a(CVbhAi zlP^iNnMm0N78Mm)ZKcZ{LM(a2^!$S4=H_}O1%SL3IGQ6+_pLbBR=m}!nhjHtGJ#M_ zuWx$ZKQdW86{&|>z7BLyRcwtDySFZanVc04cY+`#=nMK^=Z#*FHvqZi}dj<*n74u}gwA*Yp zYiVhzl$4YxpU=$9$i&2ivW4^w;5a+B=kMIPV`}zdNHKxZgN*|YrgycFgU3O_zQAs4 zU0t2EzP?_tmFnv1CE`|s1dfi5Dr0bPP=<$x{UEXzqa#%_p#^EJ#zdi3W!m9Uj~qB~ zK%7qJ2MJpXKA(>y%9SfuWO8z{%Pb<(hUVtxFG1QAE;u|rJss8)Jv}|)Lx&E9)p#*2 zNSg#Qg9rwLJ+-y9j<&WofsGR*K#8O@_Vx97;e_@WEseSm7-rBKJZOi6NIKBn-Ay75CoyFLl|0yHbJ319Ha05nQ3~LFDFq%7dlYu5=h(4hb{>;X z;P>UsnKSd*REX)n+4oR&f%FF8LS_0LL>*V z*{T;nf`^8N!e)Zb#i(Ti&8ghN!h)lzscB7TaN@)XF&iL`p^_a=On2|BnLyYz2Ls-< zz+)I3uLjyn2FOMN4oo&}+N660C#7P7*5G#~5C98QU2#4}foUPbCup>;QkW8fdPxnX z12#%do;(>LabZy;G$#@WMF#izUW%Y5Fb>sI3iCuGs;a82^Yim9yl_3hi_4h_$zT5V zSE>KFT*?*@Vfm*cV+xB<-@nFqgX(M$wJi`D#+ULj{oLdtv5JZchBtQP(w9UBXpRHb zQvS2cmoHnjW);zRQNjE>g{GUk4(gcNw!Drm}X31!Tr@6(TcnO za!cR8-693~a_F~5SM~fPm-beL2N8uwYZXVc1V+KTxOwyD=cvuuVOuIVxrYxQDt8|$ zp7@D=QW%k>#pIm@RleivPARomcJ%bft>S?l*F>KGTE_XM^fjIJOl(Em1rW7s=g2QavV0b`}PeP zbi1W=!v?{e;vUZ%d-LW^C3ojBoGbT{Rj~+62Xj5apVo&!V*B>(HJHpX#&d}T*zsor z5;tOvO z`PkT4Ld6H&y0h}~@~m1M$x6^OD~8`%8X<6ov0yL~3v#T6;v$hP<RXGnW0M(K)T!8Rt3E$OHd?m$tjUYYs`%yiB$2q80nE(=A9RL4{-h9VRSv2v3>0#TjuuT+U-0GspP zdnA;D1|BJxqGJ3F9?KOu#*vg5ElULaZakC2n->TKyjU*vCU6>EZJPr*A z??lUSya8BtkOvPQki4W8p>!n>wYK{pK@)+j8uKDtpI1ng+K3)SNkOi#d6R>EH&=!y zml2ul?_r5SsX=yhbSS0+`(Dibl9onj#fulcAj}Er`v!APsa;rC0tuA3EHKdf zwN_@Rj*X6AO80C_^Ca>qk&wUydCA@(*if94pb;*-0DN z1@i8Q4$!@|BU)%hSYg#-3u6&&9HO0~*QA^6^B8)jb6P;n$lS=H1MquiXm!hQ`R9yzijPWFszz1sBueVnF zhmm04j@mQml1v0AZWf6okG(k=OI{RakjUT4Xvtd%dSHmlE$hEmjWI?e#~n4CH|2`x-$&Z2#f{89gxW;b@m)8 zy*5==X$|XcD%tNx2CUB^;edTen4{UP*i>rXJn_e*)X(3Q0sR0+= zfQzpWN1pp_;1+6{Qs+F*5w(SWhJb3Pl_y=~8cLws?dB6q?HCQI5~Trr$mcvfdzTmp z!w6K#>lc%OIa~*chW#~wVdX5S5Fd)>{~DO-DF-lIVjv8+fwX_YV9 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/illust_keepiluv@2x.png b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_keepiluv.imageset/illust_keepiluv@2x.png deleted file mode 100644 index c21926cd46fe17841247036e931e09728f6a27ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5819 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 diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/Contents.json b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/Contents.json index dc44bdac..095075cd 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/Contents.json +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/Contents.json @@ -1,23 +1,15 @@ { "images" : [ { - "filename" : "illust_poke.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "illust_poke@2x.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "illust_poke@3x.png", - "idiom" : "universal", - "scale" : "3x" + "filename" : "illust_poke.svg", + "idiom" : "universal" } ], "info" : { "author" : "xcode", "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true } } diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/illust_poke.png b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/illust_poke.png deleted file mode 100644 index 2d51088ff7895e3444a931c287d709619f7a12f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6216 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 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/illust_poke@2x.png b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/illust_poke@2x.png deleted file mode 100644 index 3a55980788974b8dd54bb1cede84eab3e93bd162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14798 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 IuzA@30F_6enE(I) diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/illust_poke@3x.png b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/illust_poke.imageset/illust_poke@3x.png deleted file mode 100644 index 37572359c41628bea7a04a5ec74f9497d2d735ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23259 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 Date: Thu, 12 Mar 2026 14:22:43 +0900 Subject: [PATCH 13/15] =?UTF-8?q?fix:=20home-0022=20card=20=EC=9D=BC?= =?UTF-8?q?=EB=9F=AC=EC=8A=A4=ED=8A=B8=20&=20=EA=B0=84=EA=B2=A9=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/Components/Card/Goal/GoalCardView.swift | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView.swift b/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView.swift index d51a9b53..833cd092 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Card/Goal/GoalCardView.swift @@ -204,19 +204,18 @@ private extension GoalCardView { ) -> some View { VStack(spacing: 0) { placeholder.image - .resizable() - .frame(width: 84, height: 80) - .padding(.top, 5) if placeholder.isButton { pokeButton(text: placeholder.text, action: buttonAction) + .padding(.bottom, 14) } else { Text(placeholder.text) .typography(.b4_12b) .foregroundStyle(Color.Gray.gray500) + .padding(.bottom, 10) } } - .padding(.bottom, 14) + .frame(maxHeight: .infinity) } func pokeButton(text: String, action: (() -> Void)?) -> some View { From 2e2fd87bc8d818374486b2dc3cda8fd2d448b698 Mon Sep 17 00:00:00 2001 From: jihun Date: Thu, 12 Mar 2026 20:30:53 +0900 Subject: [PATCH 14/15] =?UTF-8?q?fix:=20home-0014=20topAppbar=20=EB=A1=9C?= =?UTF-8?q?=EA=B3=A0=20=EB=B3=80=EA=B2=BD=20=EB=B0=8F=20=EA=B0=84=EA=B2=A9?= =?UTF-8?q?=20=EC=A1=B0=EC=A0=95=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Illustration/logo.imageset/logo.svg | 2 +- .../Navigation/TXNavigationBar+Style.swift | 2 +- .../Bar/Navigation/TXNavigationBar.swift | 467 +++++++++++++++++- 3 files changed, 460 insertions(+), 11 deletions(-) diff --git a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/logo.svg b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/logo.svg index db4aa369..d0fb4522 100644 --- a/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/logo.svg +++ b/Projects/Shared/DesignSystem/Resources/Image/ImageAssets.xcassets/Illustration/logo.imageset/logo.svg @@ -1,4 +1,4 @@ - + diff --git a/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar+Style.swift b/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar+Style.swift index fa7d1a7d..0c5e7544 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar+Style.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar+Style.swift @@ -135,7 +135,7 @@ extension TXNavigationBar.Style { var height: CGFloat { switch self { case .mainTitle, .subContent, .home, .subTitle: - return 76 + return 80 case .iconOnly, .noTitle: return 72 diff --git a/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar.swift b/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar.swift index f503b9ed..042ce19e 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Bar/Navigation/TXNavigationBar.swift @@ -198,7 +198,6 @@ private extension TXNavigationBar { func homeContent(_ homeStyle: Style.Home) -> some View { VStack(alignment: .leading, spacing: 0) { subTitleRow(subTitle: homeStyle.subTitle) - .padding(.top, 5) HStack(spacing: 0) { mainTitleRow(homeStyle) @@ -207,11 +206,10 @@ private extension TXNavigationBar { homeActionButtons(isRemained: homeStyle.isRemainedAlarm) } - .padding(.bottom, 2) - - Spacer() + .offset(y: -1) } .padding(style.horizontalPadding) + .offset(y: -3) } func subTitleRow(subTitle: String) -> some View { @@ -230,12 +228,11 @@ private extension TXNavigationBar { .foregroundStyle(style.subTitleForegroundColor) } } - .frame(height: 20) .buttonStyle(.plain) } func mainTitleRow(_ homeStyle: Style.Home) -> some View { - HStack(spacing: 4) { + HStack(alignment: .top, spacing: 4) { Image.Illustration.logo if !homeStyle.isHiddenRefresh { @@ -248,12 +245,11 @@ private extension TXNavigationBar { .frame(width: 24, height: 24) .foregroundStyle(Color.Gray.gray300) } - .padding(.top, 2) .buttonStyle(.plain) + .padding(.top, 2) } } - .padding(.bottom, 1) - .frame(height: 27) + .frame(height: 27, alignment: .top) } func homeActionButtons(isRemained: Bool) -> some View { @@ -455,3 +451,456 @@ private extension TXNavigationBar { print(action) } } + +//// +//// TXNavigationBar.swift +//// SharedDesignSystem +//// +//// Created by 정지용 on 1/21/26. +//// +// +//import SwiftUI +// +///// 상단 앱바 컴포넌트입니다. +///// +///// ## 사용 예시 +///// ```swift +///// // mainTitle 스타일 +///// TXNavigationBar(style: .mainTitle(title: "스탬프 통계")) +///// +///// // home 스타일 +///// TXNavigationBar(style: .home(.init(subTitle: "1월 2026", mainTitle: "오늘 우리 목표", isHiddenRefresh: false, isRemainedAlarm: true))) { action in +///// switch action { +///// case .subTitleTapped: +///// // 날짜 선택 +///// case .refreshTapped: +///// // 새로고침 +///// case .alertTapped: +///// // 알림 +///// case .settingTapped: +///// // 설정 +///// default: +///// break +///// } +///// } +///// +///// // subTitle 스타일 (back) +///// TXNavigationBar(style: .subTitle(title: "설정", type: .back)) { action in +///// if action == .backTapped { +///// // 뒤로가기 +///// } +///// } +///// +///// // subTitle 스타일 (close) +///// TXNavigationBar(style: .subTitle(title: "알림", type: .close)) { action in +///// if action == .closeTapped { +///// // 닫기 +///// } +///// } +///// +///// // iconOnly 스타일 +///// TXNavigationBar(style: .iconOnly(.back)) { action in +///// if action == .backTapped { +///// // 뒤로가기 +///// } +///// } +///// ``` +//public struct TXNavigationBar: View { +// private let style: Style +// private let onAction: ((Action) -> Void)? +// +// /// NavigationBar를 생성합니다. +// /// +// /// ## 사용 예시 +// /// ```swift +// /// TXNavigationBar(style: .mainTitle(title: "스탬프 통계")) +// /// ``` +// public init( +// style: Style, +// onAction: ((Action) -> Void)? = nil +// ) { +// self.style = style +// self.onAction = onAction +// } +// +// public var body: some View { +// Group { +// switch style { +// case let .mainTitle(title): +// mainTitleContent(title: title) +// +// case let .subContent(content): +// subContent(content) +// +// case let .home(homeStyle): +// homeContent(homeStyle) +// +// case let .subTitle(title, type): +// subTitleContent(title: title, type: type) +// +// case .iconOnly(let iconStyle): +// iconOnlyContent(iconStyle: iconStyle) +// +// case .noTitle: +// Spacer() +// } +// } +// .frame(height: style.height) +// .background(style.backgroundColor) +// } +//} +// +//// MARK: - MainTitle Style +//private extension TXNavigationBar { +// func mainTitleContent(title: String) -> some View { +// HStack { +// Text(title) +// .typography(style.titleFont) +// .foregroundStyle(style.foregroundColor) +// +// Spacer() +// } +// .padding(style.horizontalPadding) +// } +// +// @ViewBuilder +// func subContent(_ subContent: Style.SubContent) -> some View { +// VStack(spacing: 0) { +// HStack(spacing: 0) { +// TXRectangleButton( +// config: .blankLeftBack(), +// action: { onAction?(.backTapped) } +// ) +// +// Spacer() +// +// Text(subContent.title) +// .typography(style.titleFont) +// .foregroundStyle(style.foregroundColor) +// +// Spacer() +// +// subContentRightArea(subContent.rightContent, backgroundColor: subContent.backgroundColor) +// } +// .frame(height: 60) +// .insideRectEdgeBorder( +// width: style.borderWidth, +// edges: [.top, .bottom], +// color: style.borderColor +// ) +// } +// .padding(.vertical, 20) +// } +// +// @ViewBuilder +// func subContentRightArea( +// _ content: Style.SubContent.RightContent?, +// backgroundColor: Color +// ) -> some View { +// if let content { +// Button { +// onAction?(.rightTapped) +// } label: { +// rightContentView(content) +// .frame(width: style.actionButtonSize.width, height: style.actionButtonSize.height) +// .insideRectEdgeBorder( +// width: style.borderWidth, +// edges: [.top, .bottom, .leading], +// color: style.borderColor +// ) +// } +// .buttonStyle(.plain) +// } else { +// backgroundColor +// .frame(width: style.actionButtonSize.width, height: style.actionButtonSize.height) +// .insideRectEdgeBorder( +// width: style.borderWidth, +// edges: [.top, .bottom, .leading], +// color: style.borderColor +// ) +// } +// } +// +// @ViewBuilder +// func rightContentView(_ content: Style.SubContent.RightContent) -> some View { +// switch content { +// case let .text(text): +// Text(text) +// .typography(.t2_16b) +// .foregroundStyle(style.foregroundColor) +// +// case let .image(image): +// image +// .resizable() +// .renderingMode(.template) +// .frame(width: style.iconSize.width, height: style.iconSize.height) +// .foregroundStyle(style.iconForegroundColor) +// +// case let .rotatedImage(image, angle): +// image +// .resizable() +// .renderingMode(.template) +// .rotationEffect(angle) +// .frame(width: style.iconSize.width, height: style.iconSize.height) +// .foregroundStyle(style.iconForegroundColor) +// } +// } +//} +// +//// MARK: - Home Style +//private extension TXNavigationBar { +// func homeContent(_ homeStyle: Style.Home) -> some View { +// VStack(alignment: .leading, spacing: 0) { +// subTitleRow(subTitle: homeStyle.subTitle) +// +// HStack(spacing: 0) { +// mainTitleRow(homeStyle) +// +// Spacer() +// +// homeActionButtons(isRemained: homeStyle.isRemainedAlarm) +// } +// .offset(y: -1) +// } +// .padding(style.horizontalPadding) +// .offset(y: -2) +// } +// +// func subTitleRow(subTitle: String) -> some View { +// Button { +// onAction?(.subTitleTapped) +// } label: { +// HStack(spacing: 0) { +// Text(subTitle) +// .typography(style.subTitleFont) +// .foregroundStyle(style.subTitleForegroundColor) +// +// Image.Icon.Symbol.arrow4 +// .resizable() +// .renderingMode(.template) +// .frame(width: 20, height: 20) +// .foregroundStyle(style.subTitleForegroundColor) +// } +// } +// .buttonStyle(.plain) +// } +// +// func mainTitleRow(_ homeStyle: Style.Home) -> some View { +// HStack(spacing: 4) { +// Image.Illustration.logo +// +// if !homeStyle.isHiddenRefresh { +// Button { +// onAction?(.refreshTapped) +// } label: { +// Image.Icon.Symbol.icReturn +// .resizable() +// .renderingMode(.template) +// .frame(width: 24, height: 24) +// .foregroundStyle(Color.Gray.gray300) +// } +// .buttonStyle(.plain) +// } +// } +// .offset(y: -1) +// } +// +// func homeActionButtons(isRemained: Bool) -> some View { +// HStack(spacing: 0) { +// Button { +// onAction?(.alertTapped) +// } label: { +// alertImage(isRemained: isRemained) +// .resizable() +// .renderingMode(.template) +// .frame(width: style.iconSize.width, height: style.iconSize.height) +// .foregroundStyle(style.iconForegroundColor) +// .frame(width: style.actionButtonSize.width, height: style.actionButtonSize.height) +// } +// .buttonStyle(.plain) +// +// Button { +// onAction?(.settingTapped) +// } label: { +// Image.Icon.Symbol.setting +// .resizable() +// .renderingMode(.template) +// .frame(width: style.iconSize.width, height: style.iconSize.height) +// .foregroundStyle(style.iconForegroundColor) +// .frame(width: style.actionButtonSize.width, height: style.actionButtonSize.height) +// } +// .buttonStyle(.plain) +// } +// } +// +// func alertImage(isRemained: Bool) -> Image { +// return isRemained ? Image.Icon.Symbol.alertRemained : Image.Icon.Symbol.alert +// } +//} +// +//// MARK: - SubTitle Style +//private extension TXNavigationBar { +// func subTitleContent(title: String, type: SubTitleType) -> some View { +// VStack(spacing: 0) { +// HStack(spacing: 0) { +// // 왼쪽 영역 +// subTitleLeftArea(type: type) +// +// Spacer() +// +// Text(title) +// .typography(style.titleFont) +// .foregroundStyle(style.foregroundColor) +// +// Spacer() +// +// // 오른쪽 영역 +// subTitleRightArea(type: type) +// } +// .frame(height: 60) +// .insideRectEdgeBorder( +// width: style.borderWidth, +// edges: [.top, .bottom], +// color: style.borderColor +// ) +// } +// .padding(.vertical, 20) +// } +// +// @ViewBuilder +// func subTitleLeftArea(type: SubTitleType) -> some View { +// switch type { +// case .back: +// TXRectangleButton( +// config: .blankLeftBack(), +// action: { onAction?(.backTapped) } +// ) +// case .close: +// Color.Common.white +// .frame(width: style.actionButtonSize.width, height: style.actionButtonSize.height) +// .insideRectEdgeBorder( +// width: style.borderWidth, +// edges: [.top, .bottom, .trailing], +// color: style.borderColor +// ) +// } +// } +// +// @ViewBuilder +// func subTitleRightArea(type: SubTitleType) -> some View { +// switch type { +// case .back: +// Color.Common.white +// .frame(width: style.actionButtonSize.width, height: style.actionButtonSize.height) +// .insideRectEdgeBorder( +// width: style.borderWidth, +// edges: [.top, .bottom, .leading], +// color: style.borderColor +// ) +// case .close: +// Button { +// onAction?(.closeTapped) +// } label: { +// Image.Icon.Symbol.closeM +// .resizable() +// .renderingMode(.template) +// .frame(width: style.iconSize.width, height: style.iconSize.height) +// .foregroundStyle(style.iconForegroundColor) +// .frame(width: style.actionButtonSize.width, height: style.actionButtonSize.height) +// .insideRectEdgeBorder( +// width: style.borderWidth, +// edges: [.top, .bottom, .leading], +// color: style.borderColor +// ) +// } +// .buttonStyle(.plain) +// } +// } +//} +// +//// MARK: - IconOnly Style +//private extension TXNavigationBar { +// func iconOnlyContent(iconStyle: IconStyle) -> some View { +// HStack { +// switch iconStyle { +// case .back: +// Button { +// onAction?(.backTapped) +// } label: { +// iconImage(.Icon.Symbol.arrow1LLeft) +// } +// .buttonStyle(.plain) +// +// Spacer() +// +// case .close: +// Spacer() +// +// Button { +// onAction?(.closeTapped) +// } label: { +// iconImage(.Icon.Symbol.closeM) +// } +// .buttonStyle(.plain) +// } +// } +// .padding(style.horizontalPadding) +// } +// +// @ViewBuilder +// func iconImage(_ image: Image) -> some View { +// image +// .resizable() +// .renderingMode(.template) +// .frame(width: style.iconSize.width, height: style.iconSize.height) +// .foregroundStyle(style.foregroundColor) +// .frame(width: style.actionButtonSize.width, height: style.actionButtonSize.height) +// } +//} +// +//#Preview("MainTitle") { +// TXNavigationBar(style: .mainTitle(title: "스탬프 통계")) +//} +// +//#Preview("subContent - Image") { +// TXNavigationBar( +// style: .subContent( +// .init( +// title: "스탬프 통계", +// rightContent: .image(.Icon.Symbol.meatball) +// ) +// ) +// ) +//} +// +//#Preview("Home") { +// TXNavigationBar( +// style: .home(.init(subTitle: "1월 2026", mainTitle: "오늘 우리 목표", isHiddenRefresh: false, isRemainedAlarm: false)) +// ) { action in +// print(action) +// } +//} +// +//#Preview("SubTitle - Back") { +// TXNavigationBar(style: .subTitle(title: "설정", type: .back)) { action in +// print(action) +// } +//} +// +//#Preview("SubTitle - Close") { +// TXNavigationBar(style: .subTitle(title: "알림", type: .close)) { action in +// print(action) +// } +//} +// +//#Preview("IconOnly - Back") { +// TXNavigationBar(style: .iconOnly(.back)) { action in +// print(action) +// } +//} +// +//#Preview("IconOnly - Close") { +// TXNavigationBar(style: .iconOnly(.close)) { action in +// print(action) +// } +//} From 1ded7ec4e1c876b1412d1faca1fb8c885c2dedf7 Mon Sep 17 00:00:00 2001 From: jihun Date: Thu, 12 Mar 2026 20:39:48 +0900 Subject: [PATCH 15/15] =?UTF-8?q?fix:=20home-0015=20weekly=20calendar=20?= =?UTF-8?q?=EA=B0=84=EA=B2=A9=20=EC=A1=B0=EC=A0=95=20-=20#200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Projects/Feature/Home/Sources/Home/HomeView.swift | 3 +++ .../Calendar/Navigation/TXCalendarMonthNavigation.swift | 1 + 2 files changed, 4 insertions(+) diff --git a/Projects/Feature/Home/Sources/Home/HomeView.swift b/Projects/Feature/Home/Sources/Home/HomeView.swift index ca233a31..3e841de3 100644 --- a/Projects/Feature/Home/Sources/Home/HomeView.swift +++ b/Projects/Feature/Home/Sources/Home/HomeView.swift @@ -139,6 +139,9 @@ private extension HomeView { TXCalendar( mode: .weekly, weeks: store.calendarWeeks, + config: .init( + dateStyle: .init(lastDateTextColor: Color.Gray.gray500) + ), onSelect: { item in store.send(.calendarDateSelected(item)) }, diff --git a/Projects/Shared/DesignSystem/Sources/Components/Calendar/Navigation/TXCalendarMonthNavigation.swift b/Projects/Shared/DesignSystem/Sources/Components/Calendar/Navigation/TXCalendarMonthNavigation.swift index 5e96104c..d3f8528e 100644 --- a/Projects/Shared/DesignSystem/Sources/Components/Calendar/Navigation/TXCalendarMonthNavigation.swift +++ b/Projects/Shared/DesignSystem/Sources/Components/Calendar/Navigation/TXCalendarMonthNavigation.swift @@ -94,6 +94,7 @@ public struct TXCalendarMonthNavigation: View { .padding(.horizontal, config.horizontalPadding) .frame(maxWidth: .infinity) .frame(height: config.height) + .transaction { $0.disablesAnimations = true } } }