Skip to content

Commit

Permalink
Feat: Reaction Emoji Animation 수정 및 BackButton 삭제
Browse files Browse the repository at this point in the history
Reaction Emoji 요소와 개수를 수정
Reaction Emoji Animation 으로 보이는 Emoji 의 수와 크기 조절
AnonymousLoginLoadingView() 로드 시 보이는 BackButton 삭제
MeetingRoomView 에서 CarouselView 선언 시 빠져있는 파라미터 값 넣기
CarouselView 에서 EmojiReactionView 선언 시 빠져있는 파라미터 값 넣기

Ref: #122
  • Loading branch information
Genesis2010 committed Jun 18, 2022
1 parent 1214152 commit 83e7f29
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 143 deletions.
2 changes: 1 addition & 1 deletion TeamOXY/TeamOXY/View/CreateMeetingRoomView.swift
Expand Up @@ -21,6 +21,7 @@ struct CreateMeetingRoomView: View {
var body: some View {
if isCreated {
AnonymousLoginLoadingView()
.navigationBarBackButtonHidden(true)
} else {
VStack {
Spacer()
Expand Down Expand Up @@ -74,7 +75,6 @@ struct CreateMeetingRoomView: View {
}
.navigationTitle(barTitle)
.navigationBarTitleDisplayMode(.inline)

}
}
}
2 changes: 1 addition & 1 deletion TeamOXY/TeamOXY/View/MeetingRoom/CarouselView.swift
Expand Up @@ -210,7 +210,7 @@ struct CarouselView: View {
.transition(AnyTransition.opacity.animation(.easeInOut))
}

EmojiReactionView()
EmojiReactionView(viewModel: emojiViewModel)
.opacity((isInCardZone() && !dragState2.isDragging && viewModel.FinishTopicViewCondition[0]) ? 1.0 : 0)
.zIndex(3)
}
Expand Down
38 changes: 14 additions & 24 deletions TeamOXY/TeamOXY/View/MeetingRoom/EmojiReactionView.swift
Expand Up @@ -11,7 +11,7 @@ import ConfettiSwiftUI
struct EmojiReactionView: View {
@ObservedObject var viewModel : EmojiViewModel

let emojis = ["🤔","👎","👍","🤩","🫠", "🔥","❤️","😱","🤭","🥱","👀","","🙅","🎉","😂"]
let emojis = ["","👍","❤️","🍰", "🗽","🫠","💩","","🥱","🧋"]

var body: some View {
ZStack(alignment: .center){
Expand All @@ -22,7 +22,7 @@ struct EmojiReactionView: View {
// 아래로 내리는 화살표
ArrowAnimationView()
.rotationEffect(.degrees(90))
.padding(.top, -5)
.padding(.top, -3)

// 화면 중간 텍스트
middleTextView()
Expand All @@ -35,15 +35,15 @@ struct EmojiReactionView: View {

Circle()
.foregroundColor(.white)
.shadow(color: .gray.opacity(0.5), radius: 15, x: 3, y: 3)
.shadow(color: .gray.opacity(0.3), radius: 13, x: 3, y: 3)

Button(action: {

viewModel.update(emoji)

}){
Text(emoji)
.font(.system(size: 35))
.font(.system(size: 33))
.padding(8)
}
}
Expand All @@ -55,36 +55,26 @@ struct EmojiReactionView: View {
}

ZStack {
ConfettiCannon(counter: $viewModel.emojiCount_1, num: 5, confettis: [.text("🤔")], confettiSize: 30, radius: 300.0)
ConfettiCannon(counter: $viewModel.emojiCount_1, num: 3, confettis: [.text("")], confettiSize: 40, radius: 350.0)

ConfettiCannon(counter: $viewModel.emojiCount_2, num: 5, confettis: [.text("👎")], confettiSize: 30, radius: 300.0)
ConfettiCannon(counter: $viewModel.emojiCount_2, num: 3, confettis: [.text("👍")], confettiSize: 40, radius: 350.0)

ConfettiCannon(counter: $viewModel.emojiCount_3, num: 5, confettis: [.text("👍")], confettiSize: 30, radius: 300.0)
ConfettiCannon(counter: $viewModel.emojiCount_3, num: 3, confettis: [.text("❤️")], confettiSize: 40, radius: 350.0)

ConfettiCannon(counter: $viewModel.emojiCount_4, num: 5, confettis: [.text("🤩")], confettiSize: 30, radius: 300.0)
ConfettiCannon(counter: $viewModel.emojiCount_4, num: 3, confettis: [.text("🍰")], confettiSize: 40, radius: 350.0)

ConfettiCannon(counter: $viewModel.emojiCount_5, num: 5, confettis: [.text("🫠")], confettiSize: 30, radius: 300.0)
ConfettiCannon(counter: $viewModel.emojiCount_5, num: 3, confettis: [.text("🗽")], confettiSize: 60, radius: 350.0)

ConfettiCannon(counter: $viewModel.emojiCount_6, num: 5, confettis: [.text("🔥")], confettiSize: 30, radius: 300.0)
ConfettiCannon(counter: $viewModel.emojiCount_6, num: 3, confettis: [.text("🫠")], confettiSize: 40, radius: 350.0)

ConfettiCannon(counter: $viewModel.emojiCount_7, num: 5, confettis: [.text("❤️")], confettiSize: 30, radius: 300.0)
ConfettiCannon(counter: $viewModel.emojiCount_7, num: 3, confettis: [.text("💩")], confettiSize: 40, radius: 350.0)

ConfettiCannon(counter: $viewModel.emojiCount_8, num: 5, confettis: [.text("😱")], confettiSize: 30, radius: 300.0)
ConfettiCannon(counter: $viewModel.emojiCount_8, num: 3, confettis: [.text("")], confettiSize: 40, radius: 350.0)

ConfettiCannon(counter: $viewModel.emojiCount_9, num: 5, confettis: [.text("🤭")], confettiSize: 30, radius: 300.0)
ConfettiCannon(counter: $viewModel.emojiCount_9, num: 3, confettis: [.text("🥱")], confettiSize: 40, radius: 350.0)
}

ConfettiCannon(counter: $viewModel.emojiCount_10, num: 5, confettis: [.text("🥱")], confettiSize: 30, radius: 300.0)

ConfettiCannon(counter: $viewModel.emojiCount_11, num: 5, confettis: [.text("👀")], confettiSize: 30, radius: 300.0)

ConfettiCannon(counter: $viewModel.emojiCount_12, num: 5, confettis: [.text("")], confettiSize: 30, radius: 300.0)

ConfettiCannon(counter: $viewModel.emojiCount_13, num: 5, confettis: [.text("🙅")], confettiSize: 30, radius: 300.0)

ConfettiCannon(counter: $viewModel.emojiCount_14, num: 5, confettis: [.text("🎉")], confettiSize: 30, radius: 300.0)

ConfettiCannon(counter: $viewModel.emojiCount_15, num: 5, confettis: [.text("😂")], confettiSize: 30, radius: 300.0)
ConfettiCannon(counter: $viewModel.emojiCount_10, num: 3, confettis: [.text("🧋")], confettiSize: 40, radius: 350.0)
}
.onAppear{
viewModel.setDocument(emojis)
Expand Down
2 changes: 1 addition & 1 deletion TeamOXY/TeamOXY/View/MeetingRoom/MeetingRoomView.swift
Expand Up @@ -42,7 +42,7 @@ struct MeetingRoomView: View {
.transition(AnyTransition.opacity.animation(.easeInOut))
}

CarouselView(viewModel: viewModel, vm: vm)
CarouselView(viewModel: viewModel, vm: vm, emojiViewModel: emojiViewModel)

}
}
Expand Down
128 changes: 12 additions & 116 deletions TeamOXY/TeamOXY/ViewModel/EmojiViewModel.swift
Expand Up @@ -19,11 +19,6 @@ class EmojiViewModel : ObservableObject{
@Published var emojiCount_8 : Int
@Published var emojiCount_9 : Int
@Published var emojiCount_10 : Int
@Published var emojiCount_11 : Int
@Published var emojiCount_12 : Int
@Published var emojiCount_13 : Int
@Published var emojiCount_14 : Int
@Published var emojiCount_15 : Int

// 로딩시 클래스 초기화로 애니메이션 작동을 막기 위해 변수 설정
@Published var isLoading : Bool = false
Expand All @@ -33,7 +28,7 @@ class EmojiViewModel : ObservableObject{

private var db = Firestore.firestore()

let emojis = ["🤔","👎","👍","🤩","🫠", "🔥","❤️","😱","🤭","🥱","👀","","🙅","🎉","😂"]
let emojis = ["","👍","❤️","🍰","🗽","🫠","💩","","🥱","🧋"]

// FireStore Collection, Document 이름
let selectedCollection1 = "rooms"
Expand All @@ -52,11 +47,7 @@ class EmojiViewModel : ObservableObject{
self.emojiCount_8 = 0
self.emojiCount_9 = 0
self.emojiCount_10 = 0
self.emojiCount_11 = 0
self.emojiCount_12 = 0
self.emojiCount_13 = 0
self.emojiCount_14 = 0
self.emojiCount_15 = 0


receiveEmojiCount()

Expand Down Expand Up @@ -126,7 +117,7 @@ class EmojiViewModel : ObservableObject{

print("변경사항 발생")

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🤔")
db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
Expand All @@ -148,7 +139,7 @@ class EmojiViewModel : ObservableObject{
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("👎")
db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("👍")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
Expand All @@ -168,7 +159,7 @@ class EmojiViewModel : ObservableObject{
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("👍")
db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("❤️")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
Expand All @@ -187,7 +178,7 @@ class EmojiViewModel : ObservableObject{
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🤩")
db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🍰")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
Expand All @@ -206,7 +197,7 @@ class EmojiViewModel : ObservableObject{
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🫠")
db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🗽")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
Expand All @@ -225,7 +216,7 @@ class EmojiViewModel : ObservableObject{
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🔥")
db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🫠")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
Expand All @@ -244,7 +235,7 @@ class EmojiViewModel : ObservableObject{
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("❤️")
db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("💩")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
Expand All @@ -263,7 +254,7 @@ class EmojiViewModel : ObservableObject{
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("😱")
db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
Expand All @@ -282,7 +273,7 @@ class EmojiViewModel : ObservableObject{
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🤭")
db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🥱")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
Expand All @@ -301,7 +292,7 @@ class EmojiViewModel : ObservableObject{
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🥱")
db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🧋")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
Expand All @@ -319,100 +310,5 @@ class EmojiViewModel : ObservableObject{
print("열번째 : \(self.emojiCount_10)")
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("👀")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
return
}
guard let data = document.data() else {
print("Document data was empty.")
return
}

if self.isLoading {
let reaction_count = data["reaction_count"] as? Int ?? 0

self.emojiCount_11 = reaction_count
print("열한번째 : \(self.emojiCount_11)")
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
return
}
guard let data = document.data() else {
print("Document data was empty.")
return
}

if self.isLoading {
let reaction_count = data["reaction_count"] as? Int ?? 0

self.emojiCount_12 = reaction_count
print("열두번째 : \(self.emojiCount_12)")
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🙅")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
return
}
guard let data = document.data() else {
print("Document data was empty.")
return
}

if self.isLoading {
let reaction_count = data["reaction_count"] as? Int ?? 0

self.emojiCount_13 = reaction_count
print("열세번째 : \(self.emojiCount_13)")
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("🎉")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
return
}
guard let data = document.data() else {
print("Document data was empty.")
return
}

if self.isLoading {
let reaction_count = data["reaction_count"] as? Int ?? 0

self.emojiCount_14 = reaction_count
print("열네번째 : \(self.emojiCount_14)")
}
}

db.collection("\(selectedCollection1)").document("\(selectedDocument1)").collection("\(selecetedCollection2)").document("😂")
.addSnapshotListener { documentSnapshot, error in
guard let document = documentSnapshot else {
print("Error fetching document: \(error!)")
return
}
guard let data = document.data() else {
print("Document data was empty.")
return
}

if self.isLoading {
let reaction_count = data["reaction_count"] as? Int ?? 0

self.emojiCount_15 = reaction_count
print("열다섯번째 : \(self.emojiCount_15)")
}
}
}
}

0 comments on commit 83e7f29

Please sign in to comment.