Skip to content

Commit 30b8a7e

Browse files
authored
Merge pull request #148 from MarketPlace-O2O-Platform/Hotfix/AddEntirePopUp
[Hotfix] 전체 팝업 공지 추가
2 parents d2123fa + 965ac61 commit 30b8a7e

2 files changed

Lines changed: 88 additions & 0 deletions

File tree

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
//
2+
// FullNoticePopUp.swift
3+
// MarketPlace
4+
//
5+
// Created by Bowon Han on 3/26/26.
6+
//
7+
8+
import SwiftUI
9+
10+
struct FullNoticePopUp: View {
11+
@Binding var isPopupVisible: Bool
12+
13+
var body: some View {
14+
ZStack {
15+
DashEffect()
16+
.opacity(isPopupVisible ? 1 : 0)
17+
18+
VStack(spacing: 15) {
19+
Text("공지사항")
20+
.foregroundStyle(.white)
21+
.pretendardFont(size: 14, weight: .semibold)
22+
.padding(.horizontal, 10)
23+
.padding(.vertical,4)
24+
.background(.black)
25+
.padding(.top)
26+
.padding(.bottom, 5)
27+
28+
Text("📢 쿠러미 이용 안내")
29+
.pretendardFont(size: 23, weight: .bold)
30+
31+
(
32+
Text("교내 서버실 작업으로 인해\n")
33+
+ Text("3월 27일(금) 17시 30분 ~ 19시\n")
34+
.foregroundStyle(Color(hex: "003dff"))
35+
.fontWeight(.bold)
36+
+ Text(" 까지 쿠러미 앱 접속이 \n일시적으로 제한될 예정입니다.\n\n이용에 불편을 드려 죄송합니다.")
37+
)
38+
.pretendardFont(size: 17, weight: .regular)
39+
.multilineTextAlignment(.center)
40+
.lineLimit(7)
41+
.lineSpacing(5)
42+
.padding(.vertical, 20)
43+
.padding(.horizontal, 10)
44+
45+
HStack(alignment: .center) {
46+
Spacer()
47+
48+
Text("항상 쿠러미를 이용해주셔서 감사드리며,\n더 안정적인 서비스로 찾아뵙겠습니다.🙏🏻")
49+
.pretendardFont(size: 13, weight: .bold)
50+
.lineLimit(4)
51+
.lineSpacing(4)
52+
.padding(.bottom, 25)
53+
.padding(.top,7)
54+
.frame(width: .infinity)
55+
56+
Spacer()
57+
}
58+
.frame(width: .infinity)
59+
.padding(.top, 10)
60+
.background(Color(hex: "eaefff"))
61+
62+
}
63+
.frame(width: 320)
64+
.background(Color.white)
65+
.cornerRadius(8)
66+
.shadow(radius: 10)
67+
.overlay(
68+
Button {
69+
isPopupVisible = false
70+
} label: {
71+
Image(systemName: "xmark.circle.fill")
72+
.resizable()
73+
.foregroundStyle(Color(hex: "afafaf"))
74+
.frame(width: 27, height: 27)
75+
}
76+
.padding(15),
77+
alignment: .topTrailing
78+
)
79+
}
80+
}
81+
}

MarketPlace/Presenter/HomeScene/Main/View/MainView.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ struct MainView: View {
44
@State private var selectedTab = 0
55
@State private var selectedCategoryIndex: Int? = nil
66

7+
@State private var isFullNoticePopUpVisible: Bool = true
8+
79
@StateObject var viewModel = MainViewModel()
810
@EnvironmentObject var loginVM: LoginViewModel
911

@@ -48,6 +50,11 @@ struct MainView: View {
4850
}
4951
.background(Color.white)
5052
.edgesIgnoringSafeArea(.bottom)
53+
54+
if isFullNoticePopUpVisible {
55+
FullNoticePopUp(isPopupVisible: $isFullNoticePopUpVisible)
56+
.transition(.scale)
57+
}
5158
}
5259
.task {
5360
await viewModel.fetchCouponTopLatest(pageSize: nil)

0 commit comments

Comments
 (0)