From f730fbc7c29195c7e25efb54e4b98b7472931eed Mon Sep 17 00:00:00 2001 From: RachelRadford21 Date: Thu, 3 Apr 2025 16:16:57 -0400 Subject: [PATCH 1/4] Updates to PBAvatar --- .../Components/Avatar/AvatarCatalog.swift | 12 ++++++------ .../Playbook/Components/Avatar/PBAvatar.swift | 17 +++++++++++++---- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/PlaybookShowcase/PlaybookShowcase/Components/Avatar/AvatarCatalog.swift b/PlaybookShowcase/PlaybookShowcase/Components/Avatar/AvatarCatalog.swift index 2405f6b9..4d60139c 100644 --- a/PlaybookShowcase/PlaybookShowcase/Components/Avatar/AvatarCatalog.swift +++ b/PlaybookShowcase/PlaybookShowcase/Components/Avatar/AvatarCatalog.swift @@ -58,15 +58,15 @@ extension AvatarCatalog { var statusSize: some View { VStack(alignment: .leading, spacing: Spacing.small) { VStack(spacing: Spacing.xxSmall) { - PBAvatar(image: Image("andrew"), size: .small, status: .online, statusSize: .medium) + PBAvatar(image: Image("andrew"), size: .small, status: .online) Text("Small").pbFont(.caption) } VStack(spacing: Spacing.xxSmall) { - PBAvatar(image: Image("andrew"), size: .medium, status: .away, statusSize: .medium) + PBAvatar(image: Image("andrew"), size: .medium, status: .away) Text("Medium").pbFont(.caption) } VStack(spacing: Spacing.xxSmall) { - PBAvatar(image: Image("andrew"), size: .large, status: .offline, statusSize: .medium) + PBAvatar(image: Image("andrew"), size: .large, status: .offline) Text("Large").pbFont(.caption) } } @@ -75,15 +75,15 @@ extension AvatarCatalog { var statusColor: some View { VStack(alignment: .leading, spacing: Spacing.small) { VStack(spacing: Spacing.xxSmall) { - PBAvatar(image: Image("andrew"), size: .medium, status: .online, statusSize: .medium) + PBAvatar(image: Image("andrew"), size: .medium, status: .online) Text("Online").pbFont(.caption) } VStack(spacing: Spacing.xxSmall) { - PBAvatar(image: Image("andrew"), size: .medium, status: .away, statusSize: .medium) + PBAvatar(image: Image("andrew"), size: .medium, status: .away) Text("Away").pbFont(.caption) } VStack(spacing: Spacing.xxSmall) { - PBAvatar(image: Image("andrew"), size: .medium, status: .offline, statusSize: .medium) + PBAvatar(image: Image("andrew"), size: .medium, status: .offline) Text("Offline").pbFont(.caption) } } diff --git a/Sources/Playbook/Components/Avatar/PBAvatar.swift b/Sources/Playbook/Components/Avatar/PBAvatar.swift index fe6f5a28..d1ff61c3 100644 --- a/Sources/Playbook/Components/Avatar/PBAvatar.swift +++ b/Sources/Playbook/Components/Avatar/PBAvatar.swift @@ -14,7 +14,7 @@ public struct PBAvatar: View { var name: String? var size: Size var status: PBOnlineStatus.Status? - var statusSize: PBOnlineStatus.Size + var statusSize: PBOnlineStatus.Size? var wrapped: Bool var isActive: Bool @Environment(\.colorScheme) var colorScheme @@ -24,7 +24,7 @@ public struct PBAvatar: View { name: String? = nil, size: Size = .medium, status: PBOnlineStatus.Status? = nil, - statusSize: PBOnlineStatus.Size = .small, + statusSize: PBOnlineStatus.Size? = nil, wrapped: Bool = false, isActive: Bool = true ) { @@ -63,7 +63,7 @@ public struct PBAvatar: View { if let status = self.status { - PBOnlineStatus(status: status, size: statusSize, variant: .border) + PBOnlineStatus(status: status, size: statusSize ?? avatarStatusSize, variant: .border) .grayscale(isActive ? 0 : 1) .offset( x: (size.diameter/2 - size.diameter/9) * size.statusXModifier, @@ -151,7 +151,16 @@ public extension PBAvatar { [.xLarge, .large, .medium, .small, .xSmall, .xxSmall] } } - + + var avatarStatusSize: PBOnlineStatus.Size { + switch size { + case .xxSmall, .xSmall, .smallStacked, .smallStackedIndicator, .defaultStacked, .defaultStackedIndicator: return .small + case .small, .medium: return .medium + case .large, .xLarge: return .large + case .custom: return statusSize ?? .medium + } + } + var avatarBorderColor: Color { switch colorScheme { case .light: return Color.BorderColor.borderColor(.light) From 521883a8630ec4512f62f895eda635834a12ef91 Mon Sep 17 00:00:00 2001 From: RachelRadford21 Date: Mon, 14 Apr 2025 15:02:14 -0400 Subject: [PATCH 2/4] remove optional status size --- Sources/Playbook/Components/Avatar/PBAvatar.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Sources/Playbook/Components/Avatar/PBAvatar.swift b/Sources/Playbook/Components/Avatar/PBAvatar.swift index d1ff61c3..3dcd9413 100644 --- a/Sources/Playbook/Components/Avatar/PBAvatar.swift +++ b/Sources/Playbook/Components/Avatar/PBAvatar.swift @@ -14,7 +14,7 @@ public struct PBAvatar: View { var name: String? var size: Size var status: PBOnlineStatus.Status? - var statusSize: PBOnlineStatus.Size? +// var statusSize: PBOnlineStatus.Size? var wrapped: Bool var isActive: Bool @Environment(\.colorScheme) var colorScheme @@ -24,7 +24,7 @@ public struct PBAvatar: View { name: String? = nil, size: Size = .medium, status: PBOnlineStatus.Status? = nil, - statusSize: PBOnlineStatus.Size? = nil, +// statusSize: PBOnlineStatus.Size? = nil, wrapped: Bool = false, isActive: Bool = true ) { @@ -32,7 +32,7 @@ public struct PBAvatar: View { self.name = name self.size = size self.status = status - self.statusSize = statusSize +// self.statusSize = statusSize self.wrapped = wrapped self.isActive = isActive } @@ -63,7 +63,7 @@ public struct PBAvatar: View { if let status = self.status { - PBOnlineStatus(status: status, size: statusSize ?? avatarStatusSize, variant: .border) + PBOnlineStatus(status: status, size: avatarStatusSize, variant: .border) .grayscale(isActive ? 0 : 1) .offset( x: (size.diameter/2 - size.diameter/9) * size.statusXModifier, @@ -157,7 +157,7 @@ public extension PBAvatar { case .xxSmall, .xSmall, .smallStacked, .smallStackedIndicator, .defaultStacked, .defaultStackedIndicator: return .small case .small, .medium: return .medium case .large, .xLarge: return .large - case .custom: return statusSize ?? .medium + case .custom: return .medium } } From 02f5038986b9bd1244f3fb97a153dc656f2b233b Mon Sep 17 00:00:00 2001 From: RachelRadford21 Date: Wed, 16 Apr 2025 12:31:59 -0400 Subject: [PATCH 3/4] removed commented code --- Sources/Playbook/Components/Avatar/PBAvatar.swift | 3 --- 1 file changed, 3 deletions(-) diff --git a/Sources/Playbook/Components/Avatar/PBAvatar.swift b/Sources/Playbook/Components/Avatar/PBAvatar.swift index 3dcd9413..8d4d9938 100644 --- a/Sources/Playbook/Components/Avatar/PBAvatar.swift +++ b/Sources/Playbook/Components/Avatar/PBAvatar.swift @@ -14,7 +14,6 @@ public struct PBAvatar: View { var name: String? var size: Size var status: PBOnlineStatus.Status? -// var statusSize: PBOnlineStatus.Size? var wrapped: Bool var isActive: Bool @Environment(\.colorScheme) var colorScheme @@ -24,7 +23,6 @@ public struct PBAvatar: View { name: String? = nil, size: Size = .medium, status: PBOnlineStatus.Status? = nil, -// statusSize: PBOnlineStatus.Size? = nil, wrapped: Bool = false, isActive: Bool = true ) { @@ -32,7 +30,6 @@ public struct PBAvatar: View { self.name = name self.size = size self.status = status -// self.statusSize = statusSize self.wrapped = wrapped self.isActive = isActive } From 6fc2e1f7eba35845ff978b54943cdfe3fd905f5e Mon Sep 17 00:00:00 2001 From: RachelRadford21 Date: Wed, 16 Apr 2025 14:33:12 -0400 Subject: [PATCH 4/4] changed inactive greyscale avatar status to offline --- .../Components/Avatar/AvatarCatalog.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PlaybookShowcase/PlaybookShowcase/Components/Avatar/AvatarCatalog.swift b/PlaybookShowcase/PlaybookShowcase/Components/Avatar/AvatarCatalog.swift index 4d60139c..b85f73e0 100644 --- a/PlaybookShowcase/PlaybookShowcase/Components/Avatar/AvatarCatalog.swift +++ b/PlaybookShowcase/PlaybookShowcase/Components/Avatar/AvatarCatalog.swift @@ -91,11 +91,11 @@ extension AvatarCatalog { var greyScale: some View { VStack(alignment: .leading, spacing: Spacing.small) { - PBAvatar(image: Image("andrew"), size: .xxSmall, status: .online, isActive: false) - PBAvatar(image: Image("andrew"), size: .xSmall, status: .away, isActive: false) - PBAvatar(image: Image("andrew"), size: .small, status: .online, isActive: false) - PBAvatar(image: Image("andrew"), size: .medium, status: .away, isActive: false) - PBAvatar(image: Image("andrew"), size: .large, status: .online, isActive: false) + PBAvatar(image: Image("andrew"), size: .xxSmall, status: .offline, isActive: false) + PBAvatar(image: Image("andrew"), size: .xSmall, status: .offline, isActive: false) + PBAvatar(image: Image("andrew"), size: .small, status: .offline, isActive: false) + PBAvatar(image: Image("andrew"), size: .medium, status: .offline, isActive: false) + PBAvatar(image: Image("andrew"), size: .large, status: .offline, isActive: false) PBAvatar(image: Image("andrew"), size: .xLarge, status: .offline, isActive: false) } }