Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions OrderMate.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
E40FB24029B625E400A1A4C2 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E40FB23F29B625E400A1A4C2 /* MainView.swift */; };
E40FB24229B625F200A1A4C2 /* StartPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E40FB24129B625F200A1A4C2 /* StartPageView.swift */; };
E40FB24429B6260200A1A4C2 /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E40FB24329B6260200A1A4C2 /* LoginView.swift */; };
E41FA2D029F27D5100E2DB31 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = E41FA2CE29F27D5100E2DB31 /* GoogleService-Info.plist */; };
E4470CF129DD5BF10078C59F /* PostStatusModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4470CF029DD5BF10078C59F /* PostStatusModel.swift */; };
E464802629C95352004616D2 /* CreateBoardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E464802529C95352004616D2 /* CreateBoardView.swift */; };
E46ED81E29FD49A500B24FBF /* BoardEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E46ED81D29FD49A500B24FBF /* BoardEditView.swift */; };
Expand All @@ -38,6 +37,7 @@
EDD4F7AD29CC87A600E578AF /* LoginViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDD4F7AC29CC87A600E578AF /* LoginViewModel.swift */; };
EDD4F7AF29CC87C700E578AF /* APIModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDD4F7AE29CC87C700E578AF /* APIModel.swift */; };
EDF682BF29EF921900F2F37E /* ChatListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDF682BE29EF921900F2F37E /* ChatListView.swift */; };
EDF9B6982A09332900BBECD9 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = EDF9B6972A09332900BBECD9 /* GoogleService-Info.plist */; };
F37C7D0029B98489004B011C /* MakeAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F37C7CFF29B98489004B011C /* MakeAccountView.swift */; };
/* End PBXBuildFile section */

Expand All @@ -55,22 +55,22 @@
E40FB23F29B625E400A1A4C2 /* MainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainView.swift; sourceTree = "<group>"; };
E40FB24129B625F200A1A4C2 /* StartPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StartPageView.swift; sourceTree = "<group>"; };
E40FB24329B6260200A1A4C2 /* LoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginView.swift; sourceTree = "<group>"; };
E41FA2CE29F27D5100E2DB31 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
E4470CF029DD5BF10078C59F /* PostStatusModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PostStatusModel.swift; path = OrderMate/Model/PostStatusModel.swift; sourceTree = SOURCE_ROOT; };
E464802529C95352004616D2 /* CreateBoardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateBoardView.swift; sourceTree = "<group>"; };
E46ED81D29FD49A500B24FBF /* BoardEditView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BoardEditView.swift; sourceTree = "<group>"; };
E49BA76929E9B16200EF4361 /* ProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = "<group>"; };
E4A8C8DC2A02CB6500CB28C1 /* FiraSansCompressed-Heavy.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "FiraSansCompressed-Heavy.otf"; sourceTree = "<group>"; };
E4DAF7D329DFBC1E009015DE /* UserViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserViewModel.swift; sourceTree = "<group>"; };
ED40967229BCAF5300B030A9 /* UserModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserModel.swift; sourceTree = "<group>"; };
ED7286B529E038EF00FC9E42 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
ED7286B729E0392E00FC9E42 /* ChatView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatView.swift; sourceTree = "<group>"; };
ED7286BC29E03B1800FC9E42 /* ChatViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatViewModel.swift; sourceTree = "<group>"; };
ED7286BE29E03B3900FC9E42 /* MessageModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageModel.swift; sourceTree = "<group>"; };
ED7286C429E03D7C00FC9E42 /* MessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageView.swift; sourceTree = "<group>"; };
EDD4F7AC29CC87A600E578AF /* LoginViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginViewModel.swift; sourceTree = "<group>"; };
EDD4F7AE29CC87C700E578AF /* APIModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIModel.swift; sourceTree = "<group>"; };
EDF682BE29EF921900F2F37E /* ChatListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatListView.swift; sourceTree = "<group>"; };
EDF9B6952A0932BE00BBECD9 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
EDF9B6972A09332900BBECD9 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
F37C7CFF29B98489004B011C /* MakeAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MakeAccountView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

Expand Down Expand Up @@ -109,8 +109,8 @@
BAF470A229B21C0C00F242EF /* OrderMate */ = {
isa = PBXGroup;
children = (
E41FA2CE29F27D5100E2DB31 /* GoogleService-Info.plist */,
ED7286B529E038EF00FC9E42 /* Info.plist */,
EDF9B6972A09332900BBECD9 /* GoogleService-Info.plist */,
EDF9B6952A0932BE00BBECD9 /* Info.plist */,
BAF470A329B21C0C00F242EF /* OrderMateApp.swift */,
EDD4F7A929CC86D000E578AF /* Model */,
EDD4F7AA29CC86D900E578AF /* View */,
Expand Down Expand Up @@ -293,7 +293,7 @@
BAF470AB29B21C0D00F242EF /* Preview Assets.xcassets in Resources */,
BAF470A829B21C0D00F242EF /* Assets.xcassets in Resources */,
E4A8C8DD2A02CB6500CB28C1 /* FiraSansCompressed-Heavy.otf in Resources */,
E41FA2D029F27D5100E2DB31 /* GoogleService-Info.plist in Resources */,
EDF9B6982A09332900BBECD9 /* GoogleService-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -477,7 +477,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"OrderMate/Preview Content\"";
DEVELOPMENT_TEAM = 33DNUM53Q8;
DEVELOPMENT_TEAM = F7THTSRVL7;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = OrderMate/Info.plist;
Expand All @@ -492,7 +492,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.CNUOrderMate.App;
PRODUCT_BUNDLE_IDENTIFIER = com.OrderMate.App;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
Expand All @@ -511,7 +511,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"OrderMate/Preview Content\"";
DEVELOPMENT_TEAM = 33DNUM53Q8;
DEVELOPMENT_TEAM = F7THTSRVL7;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = OrderMate/Info.plist;
Expand All @@ -526,7 +526,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.CNUOrderMate.App;
PRODUCT_BUNDLE_IDENTIFIER = com.OrderMate.App;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
Expand Down
42 changes: 40 additions & 2 deletions OrderMate/View/BoardView/BoardEditView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import SwiftUI

struct BoardEditView: View {
@Environment(\.presentationMode) var presentationMode

@EnvironmentObject var userManager: UserViewModel
var postId: Int
@State var boardList = RoomList()
var formattedDateBinding: Binding<Date>?
Expand All @@ -27,6 +27,21 @@ struct BoardEditView: View {
spaceType: "DORMITORY",
accountNum: "",
estimatedOrderTime: Date())
@State var boardInfo2 = RoomInfoPreview(postId: 0,
title: "",
createdAt: Date(),
postStatus: PostStatusEnum.endOfRoom.rawValue,
maxPeopleNum: 5,
currentPeopleNum: 5,
isAnonymous: false,
content: "",
withOrderLink: "",
pickupSpace: "",
spaceType: "",
accountNum: "",
estimatedOrderTime: Date(),
ownerId: 0,
ownerName: "")
let spaces = ["DORMITORY", "STUDIO_APARTMENT", "ALL"]
let numbers = Array(1...10)

Expand All @@ -47,6 +62,9 @@ struct BoardEditView: View {
spaceType: "DORMITORY",
accountNum: "",
estimatedOrderTime: Date()))

print(boardInfo2.postId)

}
// String 옵셔널을 String으로 바꾸기 위한 함수
func convertBinding(_ optionalBinding: Binding<String?>) -> Binding<String> {
Expand Down Expand Up @@ -152,14 +170,34 @@ struct BoardEditView: View {
boardList.editData(post: boardInfo, postId: postId) { success in
if success {
print("방 편집 완료")
self.boardInfo2 = RoomInfoPreview(postId: postId,
title: self.boardInfo.title,
createdAt: self.boardInfo.createdAt,
postStatus: self.boardInfo.postStatus?.rawValue,
maxPeopleNum: self.boardInfo.maxPeopleNum,
currentPeopleNum: self.boardInfo.currentPeopleNum,
isAnonymous: self.boardInfo.isAnonymous,
content: self.boardInfo.content,
withOrderLink: self.boardInfo.withOrderLink,
pickupSpace: self.boardInfo.pickupSpace,
spaceType: self.boardInfo.spaceType,
accountNum: self.boardInfo.accountNum,
estimatedOrderTime: self.boardInfo.estimatedOrderTime,
ownerId: 0,
ownerName: self.boardInfo.ownerName)
ChatViewModel.shared.createChat(board: boardInfo2) { success in
if success {
print("파이어베이스 편집 성공")
}
}
} else {
print("오류 발생으로 방 편집 실패")
}
}
print(boardInfo)
self.presentationMode.wrappedValue.dismiss()
} label: {
Text("방 편집")
Text("편집 하기")
.padding()
.frame(width: 200)
.background(Color("green 0"))
Expand Down
3 changes: 3 additions & 0 deletions OrderMate/View/BoardView/BoardListView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,9 @@ struct RoomListView: View {
.refreshable {
roomListreFreash()
}
.onAppear {
roomListreFreash()
}
.onAppear (perform : UIApplication.shared.hideKeyboard)
}
}
Expand Down
2 changes: 1 addition & 1 deletion OrderMate/View/BoardView/BoardView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ struct BoardView: View {
.foregroundColor(Color("green 2"))
}
}
}
}.padding()
}
}

Expand Down
14 changes: 8 additions & 6 deletions OrderMate/View/ChatView/ChatListView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,21 @@ struct ChatListView: View {
userManager.getAuthority()
DispatchQueue.main.async {
roomList.getParticipatedBoard { success, data in
// room list data 받아오기 성공
if success {
// data를 [RoomInfoPreview] 타입으로 변경
if var list = data as? [RoomInfoPreview] {
list = list.reversed()
if list.count > 0 {
if list.contains(where: { $0.postStatus != "END_OF_ROOM" }) {
if let idx = list.firstIndex(where: { $0.postStatus != "END_OF_ROOM" }) {
currentChat = list[idx]
chatList = list.filter {$0.postStatus == "END_OF_ROOM" }
}
if list[0].postStatus != "END_OF_ROOM" {
currentChat = list[0]
chatList = Array(list[1...])
} else {
chatList = list
}
} else {
}
// 속해있거나 속했던 방이 없을 경우
else {
chatList = []
currentChat = nil
}
Expand Down
2 changes: 1 addition & 1 deletion OrderMate/ViewModel/BoardViewModel/BoardViewModel.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Foundation

class BoardViewModel: ObservableObject {
final class BoardViewModel: ObservableObject {
static let shared = BoardViewModel()
@Published var board: BoardStructModel?

Expand Down
9 changes: 2 additions & 7 deletions OrderMate/ViewModel/ChatViewModel/ChatViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import FirebaseFirestore
import FirebaseFirestoreSwift

// firebase를 이용한 채팅 뷰, 채팅 리스트 구현 View Model
class ChatViewModel: ObservableObject {
final class ChatViewModel: ObservableObject {
static let shared = ChatViewModel()
@Published var msgList: [Message] = []
@Published var chatList: [BoardStructModel] = []
Expand All @@ -13,11 +13,6 @@ class ChatViewModel: ObservableObject {
let roomManager = RoomList.shared

let db = Firestore.firestore()

init() {
}

var listIDArray: [Int] = [] // 내가 속한 boardID들


// postid 입력시 firebase의 board 정보 반환
Expand All @@ -40,7 +35,7 @@ class ChatViewModel: ObservableObject {
return
}
}

// 방 생성 시 채팅방 생성
func createChat(board: RoomInfoPreview, completion: @escaping (Bool) -> Void) {

Expand Down
2 changes: 1 addition & 1 deletion OrderMate/ViewModel/UserViewModel/LoginViewModel.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Foundation

class LoginViewModel: ObservableObject {
final class LoginViewModel: ObservableObject {

func postNewUserInfo(user: UserModel, completion: @escaping (Bool) -> Void) {
guard let uploadData = try? JSONEncoder().encode(user)
Expand Down
2 changes: 1 addition & 1 deletion OrderMate/ViewModel/UserViewModel/UserViewModel.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Foundation

class UserViewModel: ObservableObject {
final class UserViewModel: ObservableObject {
static let shared = UserViewModel()
@Published var userModel = UserInfoModel()
@Published var authorityModel = Authority(authority: false)
Expand Down