From 39632b3e4ce831ed259df8f6d993c87b806d5591 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Wed, 23 Apr 2025 22:03:08 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=A7=88=EC=9D=B4=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20-=20=ED=8F=AC=EC=9D=B8=ED=8A=B8=20=EB=82=B4?= =?UTF-8?q?=EC=97=AD=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ic_point.imageset/Contents.json | 21 ++++++++++++++++++ .../ic_point.imageset/ic_point.png | Bin 0 -> 2927 bytes SodaLive/Sources/MyPage/CanCardView.swift | 1 + SodaLive/Sources/MyPage/MyInfoCardView.swift | 1 + SodaLive/Sources/MyPage/MyPageResponse.swift | 1 + SodaLive/Sources/MyPage/MyPageView.swift | 18 +++++++++++++++ .../MyPage/ReservationStatusView.swift | 1 + 7 files changed, 43 insertions(+) create mode 100644 SodaLive/Resources/Assets.xcassets/ic_point.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_point.imageset/ic_point.png diff --git a/SodaLive/Resources/Assets.xcassets/ic_point.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_point.imageset/Contents.json new file mode 100644 index 0000000..7477522 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_point.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "ic_point.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_point.imageset/ic_point.png b/SodaLive/Resources/Assets.xcassets/ic_point.imageset/ic_point.png new file mode 100644 index 0000000000000000000000000000000000000000..d41e9a9fd75984648f512c1e816f7fad1a99bcec GIT binary patch literal 2927 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 Z^M74D_v9SVu4n)N002ovPDHLkV1g6QkWByp literal 0 HcmV?d00001 diff --git a/SodaLive/Sources/MyPage/CanCardView.swift b/SodaLive/Sources/MyPage/CanCardView.swift index 356f715..717d452 100644 --- a/SodaLive/Sources/MyPage/CanCardView.swift +++ b/SodaLive/Sources/MyPage/CanCardView.swift @@ -66,6 +66,7 @@ struct CanCardView_Previews: PreviewProvider { profileUrl: "https://test-cf.sodalive.net/profile/default-profile.png", chargeCan: 0, rewardCan: 150, + point: 100, youtubeUrl: "", instagramUrl: "", websiteUrl: "", diff --git a/SodaLive/Sources/MyPage/MyInfoCardView.swift b/SodaLive/Sources/MyPage/MyInfoCardView.swift index b56812a..312b2e2 100644 --- a/SodaLive/Sources/MyPage/MyInfoCardView.swift +++ b/SodaLive/Sources/MyPage/MyInfoCardView.swift @@ -90,6 +90,7 @@ struct MyInfoCardView_Previews: PreviewProvider { profileUrl: "https://test-cf.sodalive.net/profile/default-profile.png", chargeCan: 0, rewardCan: 150, + point: 100, youtubeUrl: "", instagramUrl: "", websiteUrl: "", diff --git a/SodaLive/Sources/MyPage/MyPageResponse.swift b/SodaLive/Sources/MyPage/MyPageResponse.swift index 1635cf1..c32bdec 100644 --- a/SodaLive/Sources/MyPage/MyPageResponse.swift +++ b/SodaLive/Sources/MyPage/MyPageResponse.swift @@ -12,6 +12,7 @@ struct MyPageResponse: Decodable { let profileUrl: String let chargeCan: Int let rewardCan: Int + let point: Int let youtubeUrl: String? let instagramUrl: String? let websiteUrl: String? diff --git a/SodaLive/Sources/MyPage/MyPageView.swift b/SodaLive/Sources/MyPage/MyPageView.swift index 5c0956f..2b35a7b 100644 --- a/SodaLive/Sources/MyPage/MyPageView.swift +++ b/SodaLive/Sources/MyPage/MyPageView.swift @@ -123,6 +123,24 @@ struct MyPageView: View { } .frame(width: screenSize().width - 26.7) .padding(.top, 26.7) + + HStack(spacing: 6.7) { + Text("\(data.point)") + .font(.custom(Font.bold.rawValue, size: 18.3)) + .foregroundColor(.grayee) + + Image("ic_point") + .resizable() + .frame(width: 20, height: 20) + + Spacer() + } + .padding(.horizontal, 13.3) + .padding(.vertical, 16.7) + .frame(width: screenSize().width - 26.7) + .background(Color.gray22) + .cornerRadius(6.7) + .padding(.top, 13.3) } if data.isAuth { diff --git a/SodaLive/Sources/MyPage/ReservationStatusView.swift b/SodaLive/Sources/MyPage/ReservationStatusView.swift index 9c194eb..55e7fa9 100644 --- a/SodaLive/Sources/MyPage/ReservationStatusView.swift +++ b/SodaLive/Sources/MyPage/ReservationStatusView.swift @@ -56,6 +56,7 @@ struct ReservationStatusView_Previews: PreviewProvider { profileUrl: "https://test-cf.sodalive.net/profile/default-profile.png", chargeCan: 0, rewardCan: 150, + point: 100, youtubeUrl: "", instagramUrl: "", websiteUrl: "",