wrapping hstack wip

This commit is contained in:
spaced4ndy 2023-08-11 20:11:30 +04:00
parent 08ad0ecf21
commit 75af7473fc
4 changed files with 38 additions and 8 deletions

View File

@ -8,6 +8,7 @@
import SwiftUI import SwiftUI
import SimpleXChat import SimpleXChat
import WrappingHStack
struct CIMembersConnectedView: View { struct CIMembersConnectedView: View {
@EnvironmentObject var chat: Chat @EnvironmentObject var chat: Chat
@ -17,10 +18,8 @@ struct CIMembersConnectedView: View {
var body: some View { var body: some View {
VStack(alignment: .leading) { VStack(alignment: .leading) {
HStack { WrappingHStack(0..<members.count, id: \.self, spacing: .constant(8), lineSpacing: 4) { index in
ForEach(members, id: \.groupMemberId) { member in memberPicture(members[index])
memberPicture(member)
}
} }
chatEventText(chatItem) chatEventText(chatItem)
} }

View File

@ -500,11 +500,16 @@ struct ChatView: View {
) )
let alignment: Alignment = .leading let alignment: Alignment = .leading
VStack(alignment: alignment.horizontal, spacing: 3) { VStack(alignment: alignment.horizontal, spacing: 3) {
ChatItemView(chatInfo: chat.chatInfo, chatItem: replacingItem, maxWidth: maxWidth, scrollProxy: scrollProxy, revealed: .constant(false)) // ChatItemView(chatInfo: chat.chatInfo, chatItem: replacingItem, maxWidth: maxWidth, scrollProxy: scrollProxy, revealed: .constant(false))
ChatItemView(chatInfo: chat.chatInfo, chatItem: replacingItem, scrollProxy: scrollProxy, revealed: .constant(false))
} }
.frame(maxWidth: maxWidth, maxHeight: .infinity, alignment: alignment) // .frame(maxWidth: maxWidth, maxHeight: .infinity, alignment: alignment)
.frame(minWidth: 0, maxWidth: .infinity, alignment: alignment) // .frame(minWidth: 0, maxWidth: .infinity, alignment: alignment)
.padding(.horizontal) .frame(minWidth: 0, maxWidth: .infinity, maxHeight: .infinity, alignment: alignment)
// .padding(.horizontal)
.padding(.trailing)
.padding(.leading, 12)
.padding(.vertical, 4)
.environmentObject(chat) .environmentObject(chat)
// return ChatItemWithMenu( // return ChatItemWithMenu(
// ci: replacingItem, // ci: replacingItem,

View File

@ -181,6 +181,7 @@
64D0C2C629FAC1EC00B38D5F /* AddContactLearnMore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2C529FAC1EC00B38D5F /* AddContactLearnMore.swift */; }; 64D0C2C629FAC1EC00B38D5F /* AddContactLearnMore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2C529FAC1EC00B38D5F /* AddContactLearnMore.swift */; };
64E972072881BB22008DBC02 /* CIGroupInvitationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64E972062881BB22008DBC02 /* CIGroupInvitationView.swift */; }; 64E972072881BB22008DBC02 /* CIGroupInvitationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64E972062881BB22008DBC02 /* CIGroupInvitationView.swift */; };
64EC940B2A86805D0025EAA3 /* CIMembersConnectedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64EC940A2A86805D0025EAA3 /* CIMembersConnectedView.swift */; }; 64EC940B2A86805D0025EAA3 /* CIMembersConnectedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64EC940A2A86805D0025EAA3 /* CIMembersConnectedView.swift */; };
64EC940E2A868EA30025EAA3 /* WrappingHStack in Frameworks */ = {isa = PBXBuildFile; productRef = 64EC940D2A868EA30025EAA3 /* WrappingHStack */; };
64F1CC3B28B39D8600CD1FB1 /* IncognitoHelp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64F1CC3A28B39D8600CD1FB1 /* IncognitoHelp.swift */; }; 64F1CC3B28B39D8600CD1FB1 /* IncognitoHelp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64F1CC3A28B39D8600CD1FB1 /* IncognitoHelp.swift */; };
D7197A1829AE89660055C05A /* WebRTC in Frameworks */ = {isa = PBXBuildFile; productRef = D7197A1729AE89660055C05A /* WebRTC */; }; D7197A1829AE89660055C05A /* WebRTC in Frameworks */ = {isa = PBXBuildFile; productRef = D7197A1729AE89660055C05A /* WebRTC */; };
D72A9088294BD7A70047C86D /* NativeTextEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72A9087294BD7A70047C86D /* NativeTextEditor.swift */; }; D72A9088294BD7A70047C86D /* NativeTextEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72A9087294BD7A70047C86D /* NativeTextEditor.swift */; };
@ -477,6 +478,7 @@
D741547829AF89AF0022400A /* StoreKit.framework in Frameworks */, D741547829AF89AF0022400A /* StoreKit.framework in Frameworks */,
D7197A1829AE89660055C05A /* WebRTC in Frameworks */, D7197A1829AE89660055C05A /* WebRTC in Frameworks */,
D77B92DC2952372200A5A1CC /* SwiftyGif in Frameworks */, D77B92DC2952372200A5A1CC /* SwiftyGif in Frameworks */,
64EC940E2A868EA30025EAA3 /* WrappingHStack in Frameworks */,
D7F0E33929964E7E0068AF69 /* LZString in Frameworks */, D7F0E33929964E7E0068AF69 /* LZString in Frameworks */,
D741547A29AF90B00022400A /* PushKit.framework in Frameworks */, D741547A29AF90B00022400A /* PushKit.framework in Frameworks */,
646BB38C283BEEB9001CE359 /* LocalAuthentication.framework in Frameworks */, 646BB38C283BEEB9001CE359 /* LocalAuthentication.framework in Frameworks */,
@ -908,6 +910,7 @@
D77B92DB2952372200A5A1CC /* SwiftyGif */, D77B92DB2952372200A5A1CC /* SwiftyGif */,
D7F0E33829964E7E0068AF69 /* LZString */, D7F0E33829964E7E0068AF69 /* LZString */,
D7197A1729AE89660055C05A /* WebRTC */, D7197A1729AE89660055C05A /* WebRTC */,
64EC940D2A868EA30025EAA3 /* WrappingHStack */,
); );
productName = "SimpleX (iOS)"; productName = "SimpleX (iOS)";
productReference = 5CA059CA279559F40002BEB4 /* SimpleX.app */; productReference = 5CA059CA279559F40002BEB4 /* SimpleX.app */;
@ -1022,6 +1025,7 @@
D77B92DA2952372200A5A1CC /* XCRemoteSwiftPackageReference "SwiftyGif" */, D77B92DA2952372200A5A1CC /* XCRemoteSwiftPackageReference "SwiftyGif" */,
D7F0E33729964E7D0068AF69 /* XCRemoteSwiftPackageReference "lzstring-swift" */, D7F0E33729964E7D0068AF69 /* XCRemoteSwiftPackageReference "lzstring-swift" */,
D7197A1629AE89660055C05A /* XCRemoteSwiftPackageReference "WebRTC" */, D7197A1629AE89660055C05A /* XCRemoteSwiftPackageReference "WebRTC" */,
64EC940C2A868EA20025EAA3 /* XCRemoteSwiftPackageReference "WrappingHStack" */,
); );
productRefGroup = 5CA059CB279559F40002BEB4 /* Products */; productRefGroup = 5CA059CB279559F40002BEB4 /* Products */;
projectDirPath = ""; projectDirPath = "";
@ -1814,6 +1818,14 @@
minimumVersion = 2.0.0; minimumVersion = 2.0.0;
}; };
}; };
64EC940C2A868EA20025EAA3 /* XCRemoteSwiftPackageReference "WrappingHStack" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/dkk/WrappingHStack";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 2.0.0;
};
};
D7197A1629AE89660055C05A /* XCRemoteSwiftPackageReference "WebRTC" */ = { D7197A1629AE89660055C05A /* XCRemoteSwiftPackageReference "WebRTC" */ = {
isa = XCRemoteSwiftPackageReference; isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/simplex-chat/WebRTC.git"; repositoryURL = "https://github.com/simplex-chat/WebRTC.git";
@ -1846,6 +1858,11 @@
package = 5C8F01CB27A6F0D8007D2C8D /* XCRemoteSwiftPackageReference "CodeScanner" */; package = 5C8F01CB27A6F0D8007D2C8D /* XCRemoteSwiftPackageReference "CodeScanner" */;
productName = CodeScanner; productName = CodeScanner;
}; };
64EC940D2A868EA30025EAA3 /* WrappingHStack */ = {
isa = XCSwiftPackageProductDependency;
package = 64EC940C2A868EA20025EAA3 /* XCRemoteSwiftPackageReference "WrappingHStack" */;
productName = WrappingHStack;
};
D7197A1729AE89660055C05A /* WebRTC */ = { D7197A1729AE89660055C05A /* WebRTC */ = {
isa = XCSwiftPackageProductDependency; isa = XCSwiftPackageProductDependency;
package = D7197A1629AE89660055C05A /* XCRemoteSwiftPackageReference "WebRTC" */; package = D7197A1629AE89660055C05A /* XCRemoteSwiftPackageReference "WebRTC" */;

View File

@ -33,6 +33,15 @@
"state" : { "state" : {
"revision" : "34bedc50f9c58dccf4967ea59c7e6a47d620803b" "revision" : "34bedc50f9c58dccf4967ea59c7e6a47d620803b"
} }
},
{
"identity" : "wrappinghstack",
"kind" : "remoteSourceControl",
"location" : "https://github.com/dkk/WrappingHStack",
"state" : {
"revision" : "f31b8fdc57759c5aa5fc98c70746db5556e73300",
"version" : "2.2.10"
}
} }
], ],
"version" : 2 "version" : 2