Skip to content

Commit 847fabb

Browse files
committed
mac: sync TabStripCollectionViewItem with main
1 parent a6a3791 commit 847fabb

File tree

1 file changed

+15
-32
lines changed

1 file changed

+15
-32
lines changed

apple/InlineMacUI/Sources/InlineMacTabStrip/TabStripCollectionViewItem.swift

Lines changed: 15 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,6 @@ final class TabStripCollectionViewItem: NSCollectionViewItem, TabStripItemHoverD
5858
private let titleMaskLayer = CAGradientLayer()
5959
private let closeOverlay = TabStripCloseOverlayView()
6060

61-
private enum LayoutMode {
62-
case home
63-
case standard
64-
}
65-
6661
override init(nibName _: NSNib.Name?, bundle _: Bundle?) {
6762
super.init(nibName: nil, bundle: nil)
6863
setupViews()
@@ -172,6 +167,7 @@ final class TabStripCollectionViewItem: NSCollectionViewItem, TabStripItemHoverD
172167
),
173168
iconWidthConstraint,
174169
iconHeightConstraint,
170+
iconCenterXForHome,
175171

176172
titleLeadingConstraint,
177173
titleLabel.centerYAnchor.constraint(
@@ -190,8 +186,6 @@ final class TabStripCollectionViewItem: NSCollectionViewItem, TabStripItemHoverD
190186
closeOverlay.setContentHuggingPriority(.required, for: .horizontal)
191187
titleLabel.setContentCompressionResistancePriority(.defaultHigh, for: .horizontal)
192188
titleLabel.setContentHuggingPriority(.defaultLow, for: .horizontal)
193-
194-
applyLayoutMode(.standard)
195189
}
196190

197191
func configure(
@@ -214,9 +208,10 @@ final class TabStripCollectionViewItem: NSCollectionViewItem, TabStripItemHoverD
214208

215209
titleLeadingConstraint.constant = isHome ? 0 : Style.iconTrailingPadding * paddingScale
216210
iconLeadingConstraint.constant = Style.iconLeadingPadding * paddingScale
211+
iconCenterXForHome.isActive = isHome
212+
iconLeadingConstraint.isActive = !isHome
217213

218214
if isHome {
219-
applyLayoutMode(.home)
220215
iconWidthConstraint.constant = Style.homeIconPointSize
221216
iconHeightConstraint.constant = Style.homeIconPointSize
222217
iconImageView.layer?.cornerRadius = 0
@@ -234,10 +229,13 @@ final class TabStripCollectionViewItem: NSCollectionViewItem, TabStripItemHoverD
234229
iconImageView.contentTintColor = Style.homeIconTintColor
235230
titleLabel.stringValue = ""
236231
titleLabel.isHidden = true
232+
titleLeadingConstraint.isActive = false
233+
titleTrailingConstraint.isActive = false
234+
iconLeadingConstraint.isActive = false
235+
iconCenterXForHome.isActive = true
237236
closeOverlay.isHidden = true
238237
titleLabel.layer?.mask = nil
239238
} else {
240-
applyLayoutMode(.standard)
241239
iconWidthConstraint.constant = iconSize
242240
iconHeightConstraint.constant = iconSize
243241
iconImageView.layer?.cornerRadius = iconSize / 3
@@ -249,6 +247,10 @@ final class TabStripCollectionViewItem: NSCollectionViewItem, TabStripItemHoverD
249247
iconImageView.contentTintColor = nil
250248
titleLabel.stringValue = item.title
251249
titleLabel.isHidden = false
250+
titleLeadingConstraint.isActive = true
251+
titleTrailingConstraint.isActive = true
252+
iconLeadingConstraint.isActive = true
253+
iconCenterXForHome.isActive = false
252254
titleTrailingConstraint.constant = -Style.trailingInsetDefault
253255
closeOverlay.isHidden = false
254256
titleLabel.layer?.mask = titleMaskLayer
@@ -351,32 +353,13 @@ final class TabStripCollectionViewItem: NSCollectionViewItem, TabStripItemHoverD
351353
tabView.isClosable = true
352354
}
353355
titleLabel.layer?.mask = titleMaskLayer
356+
titleLeadingConstraint.isActive = true
357+
titleTrailingConstraint.isActive = true
358+
iconLeadingConstraint.isActive = true
359+
iconCenterXForHome.isActive = false
354360
updateAppearance(animated: false)
355361
}
356362

357-
private func applyLayoutMode(_ mode: LayoutMode) {
358-
switch mode {
359-
case .home:
360-
NSLayoutConstraint.deactivate([
361-
iconLeadingConstraint,
362-
titleLeadingConstraint,
363-
titleTrailingConstraint,
364-
])
365-
NSLayoutConstraint.activate([
366-
iconCenterXForHome,
367-
])
368-
case .standard:
369-
NSLayoutConstraint.deactivate([
370-
iconCenterXForHome,
371-
])
372-
NSLayoutConstraint.activate([
373-
iconLeadingConstraint,
374-
titleLeadingConstraint,
375-
titleTrailingConstraint,
376-
])
377-
}
378-
}
379-
380363
func tabHoverDidChange(isHovered: Bool) {
381364
self.isHovered = isHovered
382365
updateAppearance()

0 commit comments

Comments
 (0)