From 923f77927cf613bb72bab83c4e3c8d810af09737 Mon Sep 17 00:00:00 2001 From: youz2me Date: Fri, 19 Jul 2024 06:20:50 +0900 Subject: [PATCH] =?UTF-8?q?feat/#240=20=EC=A7=80=EA=B0=81=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=EC=9D=BC=20=EB=95=8C=20=EB=B7=B0=20=EC=A0=84=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KkuMulKum.xcodeproj/project.pbxproj | 11 +++++------ ...atusService.swift => ReadyStatusServiceType.swift} | 0 .../ViewController/ReadyStatusViewController.swift | 6 ++++++ .../ReadyStatus/ViewModel/ReadyStatusViewModel.swift | 3 +++ 4 files changed, 14 insertions(+), 6 deletions(-) rename KkuMulKum/Source/Promise/ReadyStatus/Service/{ReadyStatusService.swift => ReadyStatusServiceType.swift} (100%) diff --git a/KkuMulKum.xcodeproj/project.pbxproj b/KkuMulKum.xcodeproj/project.pbxproj index ee9da793..37a780bb 100644 --- a/KkuMulKum.xcodeproj/project.pbxproj +++ b/KkuMulKum.xcodeproj/project.pbxproj @@ -135,7 +135,7 @@ DD8626672C4606A300E4F980 /* SetReadyInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD8626592C4606A300E4F980 /* SetReadyInfoView.swift */; }; DD8626682C4606A300E4F980 /* ReadyStatusButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD86265A2C4606A300E4F980 /* ReadyStatusButton.swift */; }; DD8626692C4606A300E4F980 /* ReadyStatusProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD86265B2C4606A300E4F980 /* ReadyStatusProgressView.swift */; }; - DD86266A2C4606A300E4F980 /* ReadyStatusService.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD86265D2C4606A300E4F980 /* ReadyStatusService.swift */; }; + DD86266A2C4606A300E4F980 /* ReadyStatusServiceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD86265D2C4606A300E4F980 /* ReadyStatusServiceType.swift */; }; DD86266B2C4606A300E4F980 /* ReadyStatusViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD86265F2C4606A300E4F980 /* ReadyStatusViewController.swift */; }; DD86266C2C4606A300E4F980 /* SetReadyInfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD8626602C4606A300E4F980 /* SetReadyInfoViewController.swift */; }; DD931B6E2C3DA27F00526452 /* ParticipantCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD931B6D2C3DA27F00526452 /* ParticipantCollectionViewCell.swift */; }; @@ -328,7 +328,7 @@ DD8626592C4606A300E4F980 /* SetReadyInfoView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SetReadyInfoView.swift; sourceTree = ""; }; DD86265A2C4606A300E4F980 /* ReadyStatusButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadyStatusButton.swift; sourceTree = ""; }; DD86265B2C4606A300E4F980 /* ReadyStatusProgressView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadyStatusProgressView.swift; sourceTree = ""; }; - DD86265D2C4606A300E4F980 /* ReadyStatusService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadyStatusService.swift; sourceTree = ""; }; + DD86265D2C4606A300E4F980 /* ReadyStatusServiceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadyStatusServiceType.swift; sourceTree = ""; }; DD86265F2C4606A300E4F980 /* ReadyStatusViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadyStatusViewController.swift; sourceTree = ""; }; DD8626602C4606A300E4F980 /* SetReadyInfoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SetReadyInfoViewController.swift; sourceTree = ""; }; DD931B6D2C3DA27F00526452 /* ParticipantCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParticipantCollectionViewCell.swift; sourceTree = ""; }; @@ -1036,7 +1036,7 @@ DD86265C2C4606A300E4F980 /* Service */ = { isa = PBXGroup; children = ( - DD86265D2C4606A300E4F980 /* ReadyStatusService.swift */, + DD86265D2C4606A300E4F980 /* ReadyStatusServiceType.swift */, A39F2B202C499CE5008DA5F5 /* SetReadyStatusInfoServiceType.swift */, ); path = Service; @@ -1800,7 +1800,6 @@ DECB845E2C4442AF0022A003 /* FindPlaceView.swift in Sources */, DE6D4D0F2C3F14D80005584B /* MeetingInfoService.swift in Sources */, DD3F9DD62C4988E2008E1FF7 /* RegisterMeetingsResponseModel.swift in Sources */, - DDE7D2C32C470A58005A921F /* ProfileTargetType.swift in Sources */, DD3F9DCC2C485614008E1FF7 /* HomeServiceType.swift in Sources */, DD39768A2C41C2AD00E2A4C4 /* HomeViewController.swift in Sources */, DED5DBF42C34539A006ECE7E /* BaseTableViewCell.swift in Sources */, @@ -1851,9 +1850,9 @@ DE0137D32C43C5E50088C777 /* MyPageView.swift in Sources */, DE558C592C45954B008DAC4A /* SelectMemberViewController.swift in Sources */, DD4909962C440CDC003ED304 /* ArriveView.swift in Sources */, - DD86266A2C4606A300E4F980 /* ReadyStatusService.swift in Sources */, + DD86266A2C4606A300E4F980 /* ReadyStatusServiceType.swift in Sources */, 789196342C486F6B00FF8CDF /* KeychainAccessible.swift in Sources */, - DD86266A2C4606A300E4F980 /* ReadyStatusService.swift in Sources */, + DD86266A2C4606A300E4F980 /* ReadyStatusServiceType.swift in Sources */, DE254AB02C31195B00A4015E /* NSAttributedString+.swift in Sources */, DD43937B2C412F4500EC1799 /* CreateMeetingViewController.swift in Sources */, DD86266C2C4606A300E4F980 /* SetReadyInfoViewController.swift in Sources */, diff --git a/KkuMulKum/Source/Promise/ReadyStatus/Service/ReadyStatusService.swift b/KkuMulKum/Source/Promise/ReadyStatus/Service/ReadyStatusServiceType.swift similarity index 100% rename from KkuMulKum/Source/Promise/ReadyStatus/Service/ReadyStatusService.swift rename to KkuMulKum/Source/Promise/ReadyStatus/Service/ReadyStatusServiceType.swift diff --git a/KkuMulKum/Source/Promise/ReadyStatus/ViewController/ReadyStatusViewController.swift b/KkuMulKum/Source/Promise/ReadyStatus/ViewController/ReadyStatusViewController.swift index a29a4b85..8d1aeda2 100644 --- a/KkuMulKum/Source/Promise/ReadyStatus/ViewController/ReadyStatusViewController.swift +++ b/KkuMulKum/Source/Promise/ReadyStatus/ViewController/ReadyStatusViewController.swift @@ -186,6 +186,12 @@ private extension ReadyStatusViewController { owner.rootView.ourReadyStatusCollectionView.reloadData() } } + + readyStatusViewModel.isLate.bind(with: self) { owner, status in + DispatchQueue.main.async { + self.updatePopUpImageView(isLate: !status) + } + } } /// flag에 따라 준비 정보 입력 버튼 표시 유무 변경 diff --git a/KkuMulKum/Source/Promise/ReadyStatus/ViewModel/ReadyStatusViewModel.swift b/KkuMulKum/Source/Promise/ReadyStatus/ViewModel/ReadyStatusViewModel.swift index 0f2acbc8..56f26ba4 100644 --- a/KkuMulKum/Source/Promise/ReadyStatus/ViewModel/ReadyStatusViewModel.swift +++ b/KkuMulKum/Source/Promise/ReadyStatus/ViewModel/ReadyStatusViewModel.swift @@ -20,6 +20,9 @@ class ReadyStatusViewModel { // 현재 준비 상태 var myReadyStatus = ObservablePattern(.none) + // 꾸물거림 여부 + var isLate = ObservablePattern(false) + // 우리들의 준비 현황 스택 뷰에 들어갈 정보들 var participantInfos = ObservablePattern<[Participant]>([])