Implementation for all navigations inside the space settings aside the left space action
# Conflicts: # ElementX/Sources/FlowCoordinators/SpaceSettingsFlowCoordinator.swift
This commit is contained in:
@@ -63,6 +63,10 @@ final class SpaceSettingsFlowCoordinator: FlowCoordinatorProtocol {
|
||||
|
||||
private let stateMachine: StateMachine<State, Event>
|
||||
private var cancellables = Set<AnyCancellable>()
|
||||
private var modalNavigationStackCoordinator: NavigationStackCoordinator?
|
||||
|
||||
private var membersFlowCoordinator: RoomMembersFlowCoordinator?
|
||||
private var rolesAndPermissionsFlowCoordinator: RoomRolesAndPermissionsFlowCoordinator?
|
||||
|
||||
private var membersFlowCoordinator: RoomMembersFlowCoordinator?
|
||||
private var rolesAndPermissionsFlowCoordinator: RoomRolesAndPermissionsFlowCoordinator?
|
||||
|
||||
@@ -39,3 +39,37 @@ struct OverridableAvatarImage: View {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension View {
|
||||
func clipAvatar(isSpace: Bool, size: CGFloat) -> some View {
|
||||
modifier(ClipAvatarModifier(isSpace: isSpace, size: size))
|
||||
}
|
||||
|
||||
func clipAvatar(isSpace: Bool, scaledSize: ScaledMetric<CGFloat>) -> some View {
|
||||
modifier(ClipAvatarModifier(isSpace: isSpace, scaledSize: scaledSize))
|
||||
}
|
||||
}
|
||||
|
||||
struct ClipAvatarModifier: ViewModifier {
|
||||
private let isSpace: Bool
|
||||
@ScaledMetric private var scaledSize: CGFloat
|
||||
|
||||
init(isSpace: Bool, size: CGFloat) {
|
||||
self.isSpace = isSpace
|
||||
_scaledSize = ScaledMetric(wrappedValue: size)
|
||||
}
|
||||
|
||||
init(isSpace: Bool, scaledSize: ScaledMetric<CGFloat>) {
|
||||
self.isSpace = isSpace
|
||||
_scaledSize = scaledSize
|
||||
}
|
||||
|
||||
func body(content: Content) -> some View {
|
||||
content
|
||||
.clipShape(avatarShape)
|
||||
}
|
||||
|
||||
private var avatarShape: some Shape {
|
||||
isSpace ? AnyShape(RoundedRectangle(cornerRadius: scaledSize / 4)) : AnyShape(Circle())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user