From 5d466211f083a891d8964044b6b0208d394edcd8 Mon Sep 17 00:00:00 2001 From: brave-builds Date: Tue, 15 Oct 2024 14:08:49 +0000 Subject: [PATCH] Uplift of #25909 (squashed) to beta --- .../Tabs/TabTray/TabTrayController.swift | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/ios/brave-ios/Sources/Brave/Frontend/Browser/Tabs/TabTray/TabTrayController.swift b/ios/brave-ios/Sources/Brave/Frontend/Browser/Tabs/TabTray/TabTrayController.swift index 059a2ffbab22..40fdeeef6ea2 100644 --- a/ios/brave-ios/Sources/Brave/Frontend/Browser/Tabs/TabTray/TabTrayController.swift +++ b/ios/brave-ios/Sources/Brave/Frontend/Browser/Tabs/TabTray/TabTrayController.swift @@ -95,6 +95,8 @@ class TabTrayController: AuthenticationController { privateModeButton.isSelected = privateMode tabTypeSelector.isHidden = privateMode + tabTypeSelectorContainerView.isHidden = + privateMode && !BraveCore.FeatureList.kBraveShredFeature.enabled } } @@ -120,6 +122,7 @@ class TabTrayController: AuthenticationController { private let tabContentView = UIView() + private let tabTypeSelectorContainerView = UIView() private var tabTypeSelectorItems = [UIImage]() private lazy var tabTypeSelector: UISegmentedControl = { let segmentedControl = UISegmentedControl(items: tabTypeSelectorItems).then { @@ -397,18 +400,25 @@ class TabTrayController: AuthenticationController { $0.isLayoutMarginsRelativeArrangement = true } - contentStackView.addArrangedSubview(tabTypeSelector) - contentStackView.setCustomSpacing(UX.segmentedControlTopInset, after: tabTypeSelector) + tabTypeSelectorContainerView.addSubview(tabTypeSelector) + contentStackView.addArrangedSubview(tabTypeSelectorContainerView) + contentStackView.setCustomSpacing( + UX.segmentedControlTopInset, + after: tabTypeSelectorContainerView + ) contentStackView.addArrangedSubview(tabContentView) containerView.addSubview(contentStackView) if FeatureList.kBraveShredFeature.enabled { - containerView.addSubview(shredButton) - - shredButton.snp.makeConstraints { make in - make.trailing.equalTo(containerView.readableContentGuide) - make.centerY.equalTo(tabTypeSelector) + tabTypeSelectorContainerView.addSubview(shredButton) + + shredButton.snp.makeConstraints { + $0.leading.greaterThanOrEqualTo(tabTypeSelector.snp.trailing) + $0.trailing.equalTo(tabTypeSelectorContainerView.snp.trailing) + $0.centerY.equalTo(tabTypeSelectorContainerView) + $0.top.greaterThanOrEqualTo(tabTypeSelectorContainerView.snp.top) + $0.bottom.lessThanOrEqualTo(tabTypeSelectorContainerView.snp.bottom) } } @@ -416,8 +426,13 @@ class TabTrayController: AuthenticationController { $0.edges.equalTo(containerView.safeAreaLayoutGuide) } + tabTypeSelectorContainerView.snp.makeConstraints { + $0.width.equalTo(containerView.layoutMarginsGuide.snp.width) + } + tabTypeSelector.snp.makeConstraints { $0.width.equalTo(contentStackView.snp.width).dividedBy(2) + $0.center.top.bottom.equalTo(tabTypeSelectorContainerView) } tabContentView.addSubview(tabTrayView) @@ -824,6 +839,8 @@ class TabTrayController: AuthenticationController { } tabTypeSelector.isHidden = privateMode + tabTypeSelectorContainerView.isHidden = + privateMode && !BraveCore.FeatureList.kBraveShredFeature.enabled } func remove(tab: Tab) {