From 933615ab63a877a84b2b897e2e8eeede524648e3 Mon Sep 17 00:00:00 2001 From: Abe M Date: Tue, 25 Jun 2024 01:47:06 -0700 Subject: [PATCH 1/2] Add animating offset to utility area when collapsing --- .../UtilityArea/Views/UtilityAreaView.swift | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/CodeEdit/Features/UtilityArea/Views/UtilityAreaView.swift b/CodeEdit/Features/UtilityArea/Views/UtilityAreaView.swift index bd897f902a..b03adbf3df 100644 --- a/CodeEdit/Features/UtilityArea/Views/UtilityAreaView.swift +++ b/CodeEdit/Features/UtilityArea/Views/UtilityAreaView.swift @@ -24,21 +24,26 @@ struct UtilityAreaView: View { @State var selection: UtilityAreaTab? = .terminal var body: some View { - VStack(spacing: 0) { - if let selection { - selection - } else { - Text("Tab not found") - .frame(maxWidth: .infinity, maxHeight: .infinity) + GeometryReader { geometry in + VStack(spacing: 0) { + if let selection { + selection + } else { + Text("Tab not found") + .frame(maxWidth: .infinity, maxHeight: .infinity) + } } - } - .safeAreaInset(edge: .leading, spacing: 0) { - HStack(spacing: 0) { - AreaTabBar(items: $utilityAreaViewModel.tabItems, selection: $selection, position: .side) - Divider() - .overlay(Color(nsColor: colorScheme == .dark ? .black : .clear)) + .offset(y: utilityAreaViewModel.isCollapsed ? geometry.size.height : 0) + .safeAreaInset(edge: .leading, spacing: 0) { + HStack(spacing: 0) { + AreaTabBar(items: $utilityAreaViewModel.tabItems, selection: $selection, position: .side) + .offset(y: utilityAreaViewModel.isCollapsed ? geometry.size.height : 0) + Divider() + .overlay(Color(nsColor: colorScheme == .dark ? .black : .clear)) + } } } + .animation(.snappy, value: utilityAreaViewModel.isCollapsed) .overlay(alignment: .bottomTrailing) { HStack(spacing: 5) { Divider() From f84cbf9d6375d185b1d5ab9c45ab93df5826459a Mon Sep 17 00:00:00 2001 From: Abe M Date: Tue, 25 Jun 2024 13:16:00 -0700 Subject: [PATCH 2/2] Remove unneeded animation --- .../UtilityArea/ViewModels/UtilityAreaViewModel.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CodeEdit/Features/UtilityArea/ViewModels/UtilityAreaViewModel.swift b/CodeEdit/Features/UtilityArea/ViewModels/UtilityAreaViewModel.swift index 671ccf3278..37699164be 100644 --- a/CodeEdit/Features/UtilityArea/ViewModels/UtilityAreaViewModel.swift +++ b/CodeEdit/Features/UtilityArea/ViewModels/UtilityAreaViewModel.swift @@ -52,8 +52,6 @@ class UtilityAreaViewModel: ObservableObject { } func togglePanel() { - withAnimation { - self.isCollapsed.toggle() - } + self.isCollapsed.toggle() } }