From f0fa17f5e51a5b3a7a4f411e84ffdf17547321a5 Mon Sep 17 00:00:00 2001 From: Gabriel Schantz Date: Thu, 30 Jul 2026 15:00:57 -0400 Subject: [PATCH] feat(mac): fixed package info animation --- mac/Config/Config/PackageRowView.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mac/Config/Config/PackageRowView.swift b/mac/Config/Config/PackageRowView.swift index 55a648e1c0..9591dc409b 100644 --- a/mac/Config/Config/PackageRowView.swift +++ b/mac/Config/Config/PackageRowView.swift @@ -43,7 +43,10 @@ public struct PackageRowView: View { ForEach(isSingleKeyboardPackage ? package.keyboards : package.keyboards.onlyFirst) { keyboard in DisclosureGroup(isExpanded: isExpanded(package: package)) { // the package info view is shown inside each disclosure group - PackageInfoView(package: package) + if expandedPackageID == package.id { + PackageInfoView(package: package) + .transition(.move(edge: .top)) + } } label: { // a VStack is shown as the label for each disclosure group VStack (alignment: .leading, spacing: 0) { @@ -139,7 +142,10 @@ public struct PackageRowView: View { get: { expandedPackageID == package.id }, // setter handles when the chevron arrow is clicked by the user // $0 = true when disclosure group is open and $0 = false when disclosure group is closed - set: { expandedPackageID = $0 ? package.id : nil } + set: { isExpanded in + withAnimation { + expandedPackageID = isExpanded ? package.id : nil } + } ) }