Skip to content

Commit 523f8f0

Browse files
committed
[#465] server 및 googleService 추가, 에러 해결
1 parent 091334b commit 523f8f0

File tree

6 files changed

+52
-138
lines changed

6 files changed

+52
-138
lines changed

DesignSystem/Views/DynamicCellLayout.swift

+6-3
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@ import SwiftUI
1111
Cell들의 폭의 반응하여 List를 만드는 구조체
1212
*/
1313
struct DynamicCellLayout<Data: RandomAccessCollection>: View where Data.Element: DynamicCell {
14-
@EnvironmentObject var tagViewModel: TagViewModel
14+
// @EnvironmentObject var tagViewModel: TagViewModel
1515
let data: Data
1616
let action: (String) -> Void
1717
let screenWidth: CGFloat
18-
let isMultiSelectable: Bool
18+
let isMultiSelectable: Bool // 여러 셀 선택 가능
19+
let isEditMode: Bool? // x마크
1920

2021
var body: some View {
2122
generateLayout(items: data)
@@ -29,7 +30,9 @@ struct DynamicCellLayout<Data: RandomAccessCollection>: View where Data.Element:
2930
var resultRows = [[Data.Element]]()
3031

3132
for (index, item) in items.enumerated() {
32-
let itemWidth = item.itemWidth(isEditMode: tagViewModel.isEditMode)
33+
// 편집 모드일 때는 아이템 너비가 더 넓어져야 함
34+
// 그래서 Bool 값으로 여부를 판단후 길이 계산
35+
let itemWidth = item.itemWidth(isEditMode: isEditMode ?? false)
3336
if currentWidth + itemWidth + 10 >= screenWidth {
3437
resultRows.append(currentArrays)
3538
currentArrays.removeAll()

GoogleService-Info.plist

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>API_KEY</key>
6+
<string>AIzaSyAT_wmkbWRbdvZJFiARSLRTquTXlyFFTxI</string>
7+
<key>GCM_SENDER_ID</key>
8+
<string>309584491328</string>
9+
<key>PLIST_VERSION</key>
10+
<string>1</string>
11+
<key>BUNDLE_ID</key>
12+
<string>com.chillin.reazy</string>
13+
<key>PROJECT_ID</key>
14+
<string>reazy-924ee</string>
15+
<key>STORAGE_BUCKET</key>
16+
<string>reazy-924ee.firebasestorage.app</string>
17+
<key>IS_ADS_ENABLED</key>
18+
<false></false>
19+
<key>IS_ANALYTICS_ENABLED</key>
20+
<false></false>
21+
<key>IS_APPINVITE_ENABLED</key>
22+
<true></true>
23+
<key>IS_GCM_ENABLED</key>
24+
<true></true>
25+
<key>IS_SIGNIN_ENABLED</key>
26+
<true></true>
27+
<key>GOOGLE_APP_ID</key>
28+
<string>1:309584491328:ios:cb4ebfa2ccbff0c08240a5</string>
29+
</dict>
30+
</plist>

Presentation/Home/HomeSearch/HomeSearchView.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -251,9 +251,9 @@ private struct RecentlySearchedKeywordView: View {
251251
.foregroundStyle(.primary1)
252252
}
253253

254-
DynamicCellLayout(data: homeSearchViewModel.recentSearches, action: { title in
254+
DynamicCellLayout(data: homeSearchViewModel.recentSearches, selectAction: { title in
255255
homeSearchViewModel.cellTapped(title: title)
256-
}, screenWidth: UIScreen.main.bounds.width, isMultiSelectable: false)
256+
}, screenWidth: UIScreen.main.bounds.width, isMultiSelectable: false, isEditMode: false)
257257
.padding(.top, 20)
258258

259259
Spacer()

Presentation/Home/HomeView.swift

-131
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,6 @@ struct HomeView: View {
3030
// 폴더 선택 변수
3131
@State private var selectedFolderID: UUID? = nil
3232

33-
// 폴더 선택 변수
34-
@State private var selectedFolderID: UUID? = nil
35-
3633
// 폴더 추가 페이지 변수
3734
@State private var createFolder: Bool = false
3835
@State private var createMovingFolder: Bool = false
@@ -799,131 +796,3 @@ private struct CreateTagView: View {
799796
.animation(.easeInOut, value: tagViewModel.isTagDuplicate)
800797
}
801798
}
802-
803-
/// 폴더 메모 생성 & 수정 뷰
804-
private struct FolderMemoView: View {
805-
@EnvironmentObject private var homeViewModel: HomeViewModel
806-
807-
@State private var selectedColors: FolderColors
808-
809-
@Binding var isEditingFolderMemo: Bool
810-
811-
@State private var text: String = ""
812-
813-
let folder: Folder
814-
815-
@FocusState private var isTextFieldFocused: Bool
816-
817-
init(
818-
isEditingFolderMemo: Binding<Bool>,
819-
folder: Folder
820-
) {
821-
self._isEditingFolderMemo = isEditingFolderMemo
822-
self.folder = folder
823-
selectedColors = FolderColors(rawValue: folder.color) ?? .folder1
824-
}
825-
826-
var body: some View {
827-
ZStack {
828-
VStack(spacing: 0) {
829-
HStack(spacing: 0) {
830-
Button(action: {
831-
if self.homeViewModel.memoText.isEmpty {
832-
self.homeViewModel.changedMemo = nil
833-
} else {
834-
self.homeViewModel.changedMemo = text
835-
}
836-
self.isEditingFolderMemo.toggle()
837-
self.isTextFieldFocused = false
838-
}) {
839-
Image(systemName: "xmark")
840-
.font(.system(size: 18))
841-
.foregroundStyle(.gray100)
842-
}
843-
844-
Spacer()
845-
846-
Button(action: {
847-
self.homeViewModel.updateFolderMemo(at: folder.id, memo: text)
848-
self.homeViewModel.memoText = text
849-
self.isEditingFolderMemo.toggle()
850-
self.isTextFieldFocused = false
851-
}) {
852-
RoundedRectangle(cornerRadius: 20)
853-
.stroke(.gray100, lineWidth: 1)
854-
.frame(width: 68, height: 36)
855-
.overlay {
856-
Text("완료")
857-
.reazyFont(.button1)
858-
.foregroundStyle(.gray100)
859-
}
860-
}
861-
}
862-
.padding(.horizontal, 28)
863-
.padding(.top, 28)
864-
865-
Spacer()
866-
}
867-
868-
HStack(spacing: 0) {
869-
RoundedRectangle(cornerRadius: 49)
870-
.frame(width: 206, height: 206)
871-
.foregroundStyle(selectedColors.color)
872-
.overlay(
873-
Image("folder")
874-
.resizable()
875-
.scaledToFit()
876-
.frame(width: 105)
877-
)
878-
.padding(.trailing, 54)
879-
.padding(.bottom, 26)
880-
881-
VStack(spacing: 0) {
882-
ZStack {
883-
RoundedRectangle(cornerRadius: 12)
884-
.foregroundStyle(.gray100)
885-
.frame(width: 400, height: 180)
886-
887-
RoundedRectangle(cornerRadius: 12)
888-
.stroke(lineWidth: 1)
889-
.foregroundStyle(.gray400)
890-
.frame(width: 400, height: 180)
891-
}
892-
.frame(width: 400, height: 180)
893-
.overlay(alignment: .topLeading) {
894-
TextField("폴더에 대한 메모를 남겨주세요.", text: $text, axis: .vertical)
895-
.lineLimit(6)
896-
.padding(.horizontal, 16)
897-
.padding(.vertical, 16)
898-
.font(.custom(ReazyFontType.pretendardMediumFont, size: 16))
899-
.foregroundStyle(.gray800)
900-
}
901-
.overlay(alignment: .bottomTrailing) {
902-
if !self.text.isEmpty {
903-
Image(systemName: "xmark.circle.fill")
904-
.font(.system(size: 18))
905-
.foregroundStyle(.gray600)
906-
.padding(.bottom, 15)
907-
.padding(.trailing, 15)
908-
.onTapGesture {
909-
text = ""
910-
}
911-
}
912-
}
913-
.padding(.bottom, 16)
914-
.focused($isTextFieldFocused)
915-
916-
Text("폴더 제목을 입력해 주세요")
917-
.reazyFont(.button1)
918-
.foregroundStyle(.comment)
919-
}
920-
}
921-
}
922-
.onAppear {
923-
if isEditingFolderMemo {
924-
self.text = folder.memo ?? ""
925-
}
926-
self.isTextFieldFocused = true
927-
}
928-
}
929-
}

Presentation/Home/TagSearch/TagView.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,9 @@ struct TagListView: View {
135135
var body: some View {
136136
GeometryReader { geometry in
137137
ScrollView(.vertical){
138-
DynamicCellLayout(data: tagViewModel.tags, action: { tagName in
138+
DynamicCellLayout(data: tagViewModel.tags, selectAction: { tagName in
139139
tagViewModel.tagTapped(for: tagName)
140-
}, screenWidth: geometry.size.width, isMultiSelectable: true)
140+
}, screenWidth: geometry.size.width, isMultiSelectable: true, isEditMode: tagViewModel.isEditMode)
141141
.padding(.horizontal, 20)
142142
.padding(.top, 24)
143143
}

Server.xcconfig

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
//
2+
// Server.xcconfig
3+
// Reazy
4+
//
5+
// Created by 문인범 on 11/3/24.
6+
//
7+
8+
// Configuration settings file format documentation can be found at:
9+
// https://help.apple.com/xcode/#/dev745c5c974
10+
11+
12+
API_URL = asia-northeast3-plexiform-shine-440603-i0.cloudfunctions.net/reazy_layout

0 commit comments

Comments
 (0)