diff --git a/gitrelay/ContentView.swift b/gitrelay/ContentView.swift index eecc381..c99b37b 100644 --- a/gitrelay/ContentView.swift +++ b/gitrelay/ContentView.swift @@ -131,6 +131,8 @@ struct ContentView: View { private var sidebarColumn: some View { MainSidebarView(selection: $sidebarSelection) .gitRelaySidebarColumnWidth(ideal: appVM.windowLayout.sidebarWidth) + .frame(maxHeight: .infinity, alignment: .topLeading) + .gitRelayChrome(.sidebar) .background { GeometryReader { proxy in Color.clear diff --git a/gitrelay/Views/Repositories/RepoPairTableView.swift b/gitrelay/Views/Repositories/RepoPairTableView.swift index b0936e8..2ee2073 100644 --- a/gitrelay/Views/Repositories/RepoPairTableView.swift +++ b/gitrelay/Views/Repositories/RepoPairTableView.swift @@ -83,13 +83,20 @@ struct RepoPairTableView: View { } .padding(.horizontal, DesignTokens.Spacing.sm) .frame(width: 260, height: DesignTokens.Size.searchFieldMinHeight) - .background(DesignTokens.Surface.searchFieldFill) + .background(DesignTokens.Surface.suggestionFill) .clipShape( RoundedRectangle( cornerRadius: DesignTokens.CornerRadius.control, style: .continuous ) ) + .overlay { + RoundedRectangle( + cornerRadius: DesignTokens.CornerRadius.control, + style: .continuous + ) + .strokeBorder(DesignTokens.Surface.separator, lineWidth: 1) + } } private var addButton: some View { diff --git a/gitrelay/Views/Sidebar/MainSidebarView.swift b/gitrelay/Views/Sidebar/MainSidebarView.swift index d28ba84..61bdfb1 100644 --- a/gitrelay/Views/Sidebar/MainSidebarView.swift +++ b/gitrelay/Views/Sidebar/MainSidebarView.swift @@ -33,12 +33,15 @@ struct MainSidebarView: View { } } .listStyle(.sidebar) + .scrollContentBackground(.hidden) + .frame(maxWidth: .infinity, maxHeight: .infinity) SidebarFooterView( summary: appVM.sidebarFooterSummary, onTogglePause: { appVM.toggleScheduledSyncPause() } ) } + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) } /// `List` selection is optional; the pane always has a destination, so a nil