good spot with footer stuff
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
8904DEC8277055E90071E6CA /* OnboardingOneView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8904DEC7277055E90071E6CA /* OnboardingOneView.swift */; };
|
||||
89091993277D958D0025F4BB /* ConvoViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89091992277D958D0025F4BB /* ConvoViewModel.swift */; };
|
||||
89091995277DD9F80025F4BB /* ConvoFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89091994277DD9F80025F4BB /* ConvoFooterView.swift */; };
|
||||
89091997277DDE030025F4BB /* ProfilePicturesOverlappedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89091996277DDE030025F4BB /* ProfilePicturesOverlappedView.swift */; };
|
||||
890C245D277BF628009B4A30 /* AgoraRtcKit in Frameworks */ = {isa = PBXBuildFile; productRef = 890C245C277BF628009B4A30 /* AgoraRtcKit */; };
|
||||
890C2460277BF896009B4A30 /* AgoraViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890C245F277BF896009B4A30 /* AgoraViewController.swift */; };
|
||||
890C2462277BF935009B4A30 /* CallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890C2461277BF935009B4A30 /* CallView.swift */; };
|
||||
@@ -96,6 +97,7 @@
|
||||
8904DEC7277055E90071E6CA /* OnboardingOneView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnboardingOneView.swift; sourceTree = "<group>"; };
|
||||
89091992277D958D0025F4BB /* ConvoViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConvoViewModel.swift; sourceTree = "<group>"; };
|
||||
89091994277DD9F80025F4BB /* ConvoFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConvoFooterView.swift; sourceTree = "<group>"; };
|
||||
89091996277DDE030025F4BB /* ProfilePicturesOverlappedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePicturesOverlappedView.swift; sourceTree = "<group>"; };
|
||||
890C245F277BF896009B4A30 /* AgoraViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgoraViewController.swift; sourceTree = "<group>"; };
|
||||
890C2461277BF935009B4A30 /* CallView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallView.swift; sourceTree = "<group>"; };
|
||||
890C2463277BFA97009B4A30 /* AgroRep.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgroRep.swift; sourceTree = "<group>"; };
|
||||
@@ -379,6 +381,7 @@
|
||||
89814682277D83F300DA46CD /* ConvosView.swift */,
|
||||
89091992277D958D0025F4BB /* ConvoViewModel.swift */,
|
||||
89091994277DD9F80025F4BB /* ConvoFooterView.swift */,
|
||||
89091996277DDE030025F4BB /* ProfilePicturesOverlappedView.swift */,
|
||||
);
|
||||
path = Convos;
|
||||
sourceTree = "<group>";
|
||||
@@ -600,6 +603,7 @@
|
||||
891060E4277359B900F14509 /* CloudStorageService.swift in Sources */,
|
||||
896CE7002770847400DB474E /* CircleFooterView.swift in Sources */,
|
||||
894E80BE276ED7A700624B72 /* avatars.swift in Sources */,
|
||||
89091997277DDE030025F4BB /* ProfilePicturesOverlappedView.swift in Sources */,
|
||||
890C2462277BF935009B4A30 /* CallView.swift in Sources */,
|
||||
896CE7052770AE5D00DB474E /* InboxView.swift in Sources */,
|
||||
891A160327656FC700B26659 /* HomeView.swift in Sources */,
|
||||
|
||||
@@ -18,7 +18,10 @@ struct ConvoFooterView: View {
|
||||
Spacer()
|
||||
|
||||
HStack {
|
||||
ProfilePictureOverlap()
|
||||
ProfilePicturesOverlappedView(indvAvatarWidth: CGFloat(35))
|
||||
.padding(.leading, 20)
|
||||
.padding(.trailing, 10)
|
||||
|
||||
|
||||
// meta data of convo
|
||||
VStack (alignment: .leading) {
|
||||
@@ -43,8 +46,8 @@ struct ConvoFooterView: View {
|
||||
Label("attendees", systemImage: "person.2.circle.fill")
|
||||
.labelStyle(.iconOnly)
|
||||
.foregroundColor(NirvanaColor.teal)
|
||||
.padding()
|
||||
.font(.title2)
|
||||
.padding(.trailing, 5)
|
||||
}
|
||||
|
||||
// disconnect button
|
||||
@@ -58,8 +61,8 @@ struct ConvoFooterView: View {
|
||||
Label("Call", systemImage: "powerplug.fill")
|
||||
.labelStyle(.iconOnly)
|
||||
.foregroundColor(Color.orange)
|
||||
.padding()
|
||||
.font(.title2)
|
||||
.padding(.trailing, 5)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ struct ConvosView: View {
|
||||
|
||||
ZStack {
|
||||
Color.clear
|
||||
ProfilePictureOverlap()
|
||||
ProfilePicturesOverlappedView()
|
||||
.shadow(radius: 10)
|
||||
}
|
||||
|
||||
@@ -74,25 +74,3 @@ struct ConvosView: View {
|
||||
// ConvosView()
|
||||
// }
|
||||
//}
|
||||
|
||||
struct ProfilePictureOverlap: View {
|
||||
let numberAttendees:Int = 5
|
||||
let offset:Int = 15
|
||||
|
||||
var body: some View {
|
||||
ZStack {
|
||||
ForEach(0..<numberAttendees, id: \.self) {attendeeIndex in
|
||||
if attendeeIndex < 3 {
|
||||
Image(Avatars.avatarSystemNames[attendeeIndex+1])
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.background(NirvanaColor.dimTeal)
|
||||
.clipShape(Circle())
|
||||
.offset(x: CGFloat((-15 * attendeeIndex)) + 15)
|
||||
.frame(width: 50)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
//
|
||||
// ProfilePicturesOverlappedView.swift
|
||||
// nirvana-ios
|
||||
//
|
||||
// Created by Arjun Patel on 12/30/21.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct ProfilePicturesOverlappedView: View {
|
||||
let numberAttendees:Int = 5
|
||||
let offset:Int = 15
|
||||
|
||||
var indvAvatarWidth: CGFloat = 50
|
||||
|
||||
var body: some View {
|
||||
ZStack {
|
||||
ForEach(0..<numberAttendees, id: \.self) {attendeeIndex in
|
||||
if attendeeIndex < 3 {
|
||||
Image(Avatars.avatarSystemNames[attendeeIndex+1])
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.background(NirvanaColor.dimTeal)
|
||||
.clipShape(Circle())
|
||||
.offset(x: CGFloat((-15 * attendeeIndex)) + 15)
|
||||
.frame(width: indvAvatarWidth)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct ProfilePicturesOverlappedView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
ProfilePicturesOverlappedView()
|
||||
}
|
||||
}
|
||||
@@ -84,7 +84,7 @@ struct CircleGridView: View {
|
||||
|
||||
ZStack {
|
||||
Color.clear
|
||||
ProfilePictureOverlap()
|
||||
ProfilePicturesOverlappedView()
|
||||
.shadow(color: Color.black.opacity(0.2), radius: 10, x: 0, y: 20)
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,6 @@ struct InnerCircleView: View {
|
||||
.font(.caption)
|
||||
.foregroundColor(NirvanaColor.teal)
|
||||
.multilineTextAlignment(.center)
|
||||
|
||||
}
|
||||
.padding()
|
||||
} // add friend: stale state
|
||||
@@ -90,7 +89,6 @@ struct InnerCircleView: View {
|
||||
CircleGridView(selectedFriendIndex: self.$selectedFriendIndex)
|
||||
.environmentObject(self.innerCircleVM)
|
||||
.environmentObject(self.convoViewModel)
|
||||
|
||||
}
|
||||
|
||||
// header
|
||||
@@ -104,6 +102,9 @@ struct InnerCircleView: View {
|
||||
.environmentObject(self.innerCircleVM)
|
||||
.environmentObject(self.convoViewModel)
|
||||
|
||||
ConvoFooterView()
|
||||
.environmentObject(self.convoViewModel)
|
||||
|
||||
// helper for new users
|
||||
// TODO: make it back to 1 instead of 10...testing
|
||||
if self.authSessionStore.friendsArr.count == 1 && self.selectedFriendIndex == nil { // don't show if bottom metadata showing
|
||||
|
||||
Reference in New Issue
Block a user