Skip to content

Commit c08f069

Browse files
committed
Fix media bar button items
1 parent 32abb90 commit c08f069

File tree

1 file changed

+26
-40
lines changed

1 file changed

+26
-40
lines changed

WordPress/Classes/ViewRelated/Media/SiteMedia/SiteMediaViewController.swift

Lines changed: 26 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ final class SiteMediaViewController: UIViewController, SiteMediaCollectionViewCo
1111
private let coordinator = MediaCoordinator.shared
1212

1313
private lazy var collectionViewController = SiteMediaCollectionViewController(blog: blog)
14-
private lazy var buttonAddMedia = UIButton(type: .custom)
1514
private lazy var buttonAddMediaMenuController = SiteMediaAddMediaMenuController(blog: blog, coordinator: coordinator)
1615

1716
private lazy var toolbarItemDelete = UIBarButtonItem(barButtonSystemItem: .trash, target: self, action: #selector(buttonDeleteTapped))
@@ -46,8 +45,7 @@ final class SiteMediaViewController: UIViewController, SiteMediaCollectionViewCo
4645
collectionViewController.embed(in: self)
4746
collectionViewController.delegate = self
4847

49-
configureAddMediaButton()
50-
configureNavigationTitle()
48+
title = Strings.title
5149
refreshNavigationItems()
5250
}
5351

@@ -75,53 +73,39 @@ final class SiteMediaViewController: UIViewController, SiteMediaCollectionViewCo
7573

7674
// MARK: - Configuration
7775

78-
private func configureNavigationTitle() {
79-
title = Strings.title
80-
}
81-
82-
private func configureAddMediaButton() {
83-
let button = self.buttonAddMedia
84-
let config = UIImage.SymbolConfiguration(textStyle: .body, scale: .large)
85-
let image = UIImage(systemName: "plus", withConfiguration: config) ?? .gridicon(.plus)
86-
button.setImage(image, for: .normal)
87-
button.tintColor = UIAppColor.tint
88-
button.menu = buttonAddMediaMenuController.makeMenu(for: self)
89-
button.showsMenuAsPrimaryAction = true
90-
button.accessibilityLabel = Strings.addButtonAccessibilityLabel
91-
button.accessibilityHint = Strings.addButtonAccessibilityHint
92-
}
93-
9476
private func refreshNavigationItems() {
9577
navigationItem.hidesBackButton = isEditing
9678

97-
var groups: [UIBarButtonItemGroup] = []
79+
var items: [UIBarButtonItem] = []
9880

9981
if !isEditing {
10082
let selectButton = UIBarButtonItem(title: Strings.select, style: .plain, target: self, action: #selector(buttonSelectTapped))
101-
groups.append(UIBarButtonItemGroup(barButtonItems: [selectButton], representativeItem: nil))
83+
items.append(selectButton)
84+
} else {
85+
let doneButton = UIBarButtonItem(title: SharedStrings.Button.cancel, image: nil, target: self, action: #selector(buttonDoneTapped))
86+
items.append(doneButton)
10287
}
10388

104-
groups.append(UIBarButtonItemGroup(barButtonItems: {
105-
var items: [UIBarButtonItem] = []
106-
107-
if !isEditing {
108-
items.append(makeFiltersBarButtonItem())
109-
}
110-
111-
if !isEditing, blog.userCanUploadMedia {
112-
configureAddMediaButton()
89+
if !isEditing {
90+
items.append(makeFiltersBarButtonItem())
91+
}
11392

114-
items.append(UIBarButtonItem(customView: buttonAddMedia))
115-
}
93+
if !isEditing, blog.userCanUploadMedia {
94+
items.append(makeButtonAddMedia())
95+
}
11696

117-
if isEditing {
118-
let doneButton = UIBarButtonItem(title: SharedStrings.Button.cancel, image: nil, target: self, action: #selector(buttonDoneTapped))
119-
items.append(doneButton)
120-
}
121-
return items
122-
}(), representativeItem: nil))
97+
navigationItem.rightBarButtonItems = items
98+
}
12399

124-
navigationItem.trailingItemGroups = groups
100+
private func makeButtonAddMedia() -> UIBarButtonItem {
101+
let button = UIBarButtonItem(
102+
title: Strings.addMedia,
103+
image: UIImage(systemName: "plus"),
104+
menu: buttonAddMediaMenuController.makeMenu(for: self)
105+
)
106+
button.accessibilityLabel = Strings.addButtonAccessibilityLabel
107+
button.accessibilityHint = Strings.addButtonAccessibilityHint
108+
return button
125109
}
126110

127111
private func makeFiltersBarButtonItem() -> UIBarButtonItem {
@@ -146,7 +130,7 @@ final class SiteMediaViewController: UIViewController, SiteMediaCollectionViewCo
146130
}
147131
])
148132

149-
return UIBarButtonItem(image: UIImage(systemName: "line.3.horizontal.decrease"), menu: menu)
133+
return UIBarButtonItem(title: Strings.filter, image: UIImage(systemName: "line.3.horizontal.decrease"), menu: menu)
150134
}
151135

152136
private func didUpdateFilter(_ filter: SiteMediaFilter) {
@@ -325,6 +309,8 @@ extension SiteMediaViewController {
325309
private enum Strings {
326310
static let title = NSLocalizedString("mediaLibrary.title", value: "Media", comment: "Media screen navigation title")
327311
static let select = NSLocalizedString("mediaLibrary.buttonSelect", value: "Select", comment: "Media screen navigation bar button Select title")
312+
static let addMedia = NSLocalizedString("mediaLibrary.buttonAddMedia", value: "Add Media", comment: "Navigation bar button item")
313+
static let filter = NSLocalizedString("mediaLibrary.buttonFilter", value: "Filter", comment: "Navigation bar button item")
328314
static let addButtonAccessibilityLabel = NSLocalizedString("mediaLibrary.addButtonAccessibilityLabel", value: "Add", comment: "Accessibility label for add button to add items to the user's media library")
329315
static let addButtonAccessibilityHint = NSLocalizedString("mediaLibrary.addButtonAccessibilityHint", value: "Add new media", comment: "Accessibility hint for add button to add items to the user's media library")
330316
static let deleteConfirmationMessageOne = NSLocalizedString("mediaLibrary.deleteConfirmationMessageOne", value: "Are you sure you want to permanently delete this item?", comment: "Message prompting the user to confirm that they want to permanently delete a media item. Should match Calypso.")

0 commit comments

Comments
 (0)