IOS-113, bullet 4: Replace icons (#980)
Co-authored-by: Marcus Kida <marcus.kida@bearologics.com>
This commit is contained in:
parent
414df3154a
commit
8060017880
|
@ -226,7 +226,7 @@ extension StatusTableViewCellDelegate where Self: DataSourceProvider & AuthConte
|
||||||
|
|
||||||
LabeledAction(
|
LabeledAction(
|
||||||
title: L10n.Common.Controls.Status.Actions.shareLinkInPost,
|
title: L10n.Common.Controls.Status.Actions.shareLinkInPost,
|
||||||
asset: Asset.ObjectsAndTools.squareAndPencil
|
image: UIImage(systemName: "square.and.pencil")
|
||||||
) {
|
) {
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
self.coordinator.present(
|
self.coordinator.present(
|
||||||
|
|
|
@ -42,7 +42,7 @@ final class HashtagTimelineViewController: UIViewController, NeedsDependency, Me
|
||||||
|
|
||||||
let composeBarButtonItem: UIBarButtonItem = {
|
let composeBarButtonItem: UIBarButtonItem = {
|
||||||
let barButtonItem = UIBarButtonItem()
|
let barButtonItem = UIBarButtonItem()
|
||||||
barButtonItem.image = Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate)
|
barButtonItem.image = UIImage(systemName: "square.and.pencil")!.withRenderingMode(.alwaysTemplate)
|
||||||
return barButtonItem
|
return barButtonItem
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|
|
@ -28,24 +28,13 @@ class MainTabBarController: UITabBarController {
|
||||||
|
|
||||||
private let largeContentViewerInteraction = UILargeContentViewerInteraction()
|
private let largeContentViewerInteraction = UILargeContentViewerInteraction()
|
||||||
|
|
||||||
let composeButttonShadowBackgroundContainer = ShadowBackgroundContainer()
|
|
||||||
let composeButton: UIButton = {
|
|
||||||
let button = UIButton()
|
|
||||||
button.setImage(Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), for: .normal)
|
|
||||||
button.setBackgroundImage(UIImage.placeholder(color: Asset.Colors.Label.primary.color), for: .normal)
|
|
||||||
button.setBackgroundImage(UIImage.placeholder(color: Asset.Colors.Label.primary.color.withAlphaComponent(0.8)), for: .highlighted)
|
|
||||||
button.tintColor = Asset.Colors.Label.primaryReverse.color
|
|
||||||
button.contentEdgeInsets = UIEdgeInsets(top: 6, left: 12, bottom: 6, right: 12)
|
|
||||||
button.layer.masksToBounds = true
|
|
||||||
button.layer.cornerCurve = .continuous
|
|
||||||
button.layer.cornerRadius = 8
|
|
||||||
button.isAccessibilityElement = false
|
|
||||||
return button
|
|
||||||
}()
|
|
||||||
|
|
||||||
static let avatarButtonSize = CGSize(width: 25, height: 25)
|
static let avatarButtonSize = CGSize(width: 25, height: 25)
|
||||||
let avatarButton = CircleAvatarButton()
|
let avatarButton = CircleAvatarButton()
|
||||||
let accountSwitcherChevron = UIImageView(image: .chevronUpChevronDown)
|
let accountSwitcherChevron = UIImageView(
|
||||||
|
image: .chevronUpChevronDown?.withConfiguration(
|
||||||
|
UIImage.SymbolConfiguration(weight: .bold)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
@Published var currentTab: Tab = .home
|
@Published var currentTab: Tab = .home
|
||||||
|
|
||||||
|
@ -85,42 +74,20 @@ class MainTabBarController: UITabBarController {
|
||||||
|
|
||||||
var image: UIImage {
|
var image: UIImage {
|
||||||
switch self {
|
switch self {
|
||||||
case .home: return Asset.ObjectsAndTools.house.image.withRenderingMode(.alwaysTemplate)
|
case .home: return UIImage(systemName: "house")!
|
||||||
case .search: return Asset.ObjectsAndTools.magnifyingglass.image.withRenderingMode(.alwaysTemplate)
|
case .search: return UIImage(systemName: "magnifyingglass")!
|
||||||
case .compose: return Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate)
|
case .compose: return UIImage(systemName: "square.and.pencil")!
|
||||||
case .notifications: return Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate)
|
case .notifications: return UIImage(systemName: "bell")!
|
||||||
case .me: return UIImage(systemName: "person")!
|
case .me: return UIImage(systemName: "person")!
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var selectedImage: UIImage {
|
var selectedImage: UIImage {
|
||||||
switch self {
|
return image.withTintColor(Asset.Colors.brand.color, renderingMode: .alwaysOriginal)
|
||||||
case .home: return Asset.ObjectsAndTools.houseFill.image.withRenderingMode(.alwaysTemplate)
|
|
||||||
case .search: return Asset.ObjectsAndTools.magnifyingglassFill.image.withRenderingMode(.alwaysTemplate)
|
|
||||||
case .compose: return Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate)
|
|
||||||
case .notifications: return Asset.ObjectsAndTools.bellFill.image.withRenderingMode(.alwaysTemplate)
|
|
||||||
case .me: return UIImage(systemName: "person.fill")!
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var largeImage: UIImage {
|
var largeImage: UIImage {
|
||||||
switch self {
|
return image.withRenderingMode(.alwaysTemplate).resized(size: CGSize(width: 80, height: 80))
|
||||||
case .home: return Asset.ObjectsAndTools.house.image.withRenderingMode(.alwaysTemplate).resized(size: CGSize(width: 80, height: 80))
|
|
||||||
case .search: return Asset.ObjectsAndTools.magnifyingglass.image.withRenderingMode(.alwaysTemplate).resized(size: CGSize(width: 80, height: 80))
|
|
||||||
case .compose: return Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate).resized(size: CGSize(width: 80, height: 80))
|
|
||||||
case .notifications: return Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate).resized(size: CGSize(width: 80, height: 80))
|
|
||||||
case .me: return UIImage(systemName: "person", withConfiguration: UIImage.SymbolConfiguration(pointSize: 80))!
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var sidebarImage: UIImage {
|
|
||||||
switch self {
|
|
||||||
case .home: return Asset.ObjectsAndTools.house.image.withRenderingMode(.alwaysTemplate)
|
|
||||||
case .search: return Asset.ObjectsAndTools.magnifyingglass.image.withRenderingMode(.alwaysTemplate)
|
|
||||||
case .compose: return Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate)
|
|
||||||
case .notifications: return Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate)
|
|
||||||
case .me: return UIImage(systemName: "person")!
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func viewController(context: AppContext, authContext: AuthContext?, coordinator: SceneCoordinator) -> UIViewController {
|
func viewController(context: AppContext, authContext: AuthContext?, coordinator: SceneCoordinator) -> UIViewController {
|
||||||
|
@ -219,7 +186,6 @@ extension MainTabBarController {
|
||||||
viewController.tabBarItem.tag = tab.tag
|
viewController.tabBarItem.tag = tab.tag
|
||||||
viewController.tabBarItem.title = tab.title // needs for acessiblity large content label
|
viewController.tabBarItem.title = tab.title // needs for acessiblity large content label
|
||||||
viewController.tabBarItem.image = tab.image.imageWithoutBaseline()
|
viewController.tabBarItem.image = tab.image.imageWithoutBaseline()
|
||||||
viewController.tabBarItem.selectedImage = tab.selectedImage.imageWithoutBaseline()
|
|
||||||
viewController.tabBarItem.largeContentSizeImage = tab.largeImage.imageWithoutBaseline()
|
viewController.tabBarItem.largeContentSizeImage = tab.largeImage.imageWithoutBaseline()
|
||||||
viewController.tabBarItem.accessibilityLabel = tab.title
|
viewController.tabBarItem.accessibilityLabel = tab.title
|
||||||
viewController.tabBarItem.accessibilityUserInputLabels = tab.inputLabels
|
viewController.tabBarItem.accessibilityUserInputLabels = tab.inputLabels
|
||||||
|
@ -302,18 +268,16 @@ extension MainTabBarController {
|
||||||
} ?? false
|
} ?? false
|
||||||
|
|
||||||
let image: UIImage = {
|
let image: UIImage = {
|
||||||
if currentTab == .notifications {
|
if hasUnreadPushNotification {
|
||||||
return hasUnreadPushNotification ? Asset.ObjectsAndTools.bellBadgeFill.image.withRenderingMode(.alwaysTemplate) : Asset.ObjectsAndTools.bellFill.image.withRenderingMode(.alwaysTemplate)
|
return UIImage(systemName: "bell.badge")!
|
||||||
} else {
|
} else {
|
||||||
return hasUnreadPushNotification ? Asset.ObjectsAndTools.bellBadge.image.withRenderingMode(.alwaysTemplate) : Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate)
|
return Tab.notifications.image
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
notificationViewController.tabBarItem.image = image.imageWithoutBaseline()
|
notificationViewController.tabBarItem.image = image.imageWithoutBaseline()
|
||||||
notificationViewController.navigationController?.tabBarItem.image = image.imageWithoutBaseline()
|
notificationViewController.navigationController?.tabBarItem.image = image.imageWithoutBaseline()
|
||||||
}
|
}
|
||||||
.store(in: &disposeBag)
|
.store(in: &disposeBag)
|
||||||
|
|
||||||
layoutComposeButton()
|
|
||||||
layoutAvatarButton()
|
layoutAvatarButton()
|
||||||
|
|
||||||
$avatarURL
|
$avatarURL
|
||||||
|
@ -374,27 +338,12 @@ extension MainTabBarController {
|
||||||
.store(in: &disposeBag)
|
.store(in: &disposeBag)
|
||||||
|
|
||||||
updateTabBarDisplay()
|
updateTabBarDisplay()
|
||||||
|
|
||||||
composeButton.addTarget(self, action: #selector(MainTabBarController.composeButtonDidPressed(_:)), for: .touchUpInside)
|
|
||||||
|
|
||||||
#if DEBUG
|
|
||||||
// Debug Register viewController
|
|
||||||
// Task { @MainActor in
|
|
||||||
// let _homeTimelineViewController = viewControllers
|
|
||||||
// .compactMap { $0 as? UINavigationController }
|
|
||||||
// .compactMap { $0.topViewController }
|
|
||||||
// .compactMap { $0 as? HomeTimelineViewController }
|
|
||||||
// .first
|
|
||||||
// try await _homeTimelineViewController?.showRegisterController()
|
|
||||||
// } // end Task
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
|
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
|
||||||
super.traitCollectionDidChange(previousTraitCollection)
|
super.traitCollectionDidChange(previousTraitCollection)
|
||||||
|
|
||||||
updateTabBarDisplay()
|
updateTabBarDisplay()
|
||||||
updateComposeButtonAppearance()
|
|
||||||
updateAvatarButtonAppearance()
|
updateAvatarButtonAppearance()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -406,7 +355,7 @@ extension MainTabBarController {
|
||||||
extension MainTabBarController {
|
extension MainTabBarController {
|
||||||
|
|
||||||
@objc private func composeButtonDidPressed(_ sender: Any) {
|
@objc private func composeButtonDidPressed(_ sender: Any) {
|
||||||
logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public)")
|
|
||||||
selectionFeedbackGenerator.impactOccurred()
|
selectionFeedbackGenerator.impactOccurred()
|
||||||
guard let authContext = self.authContext else { return }
|
guard let authContext = self.authContext else { return }
|
||||||
let composeViewModel = ComposeViewModel(
|
let composeViewModel = ComposeViewModel(
|
||||||
|
@ -436,7 +385,6 @@ extension MainTabBarController {
|
||||||
@objc private func tabBarDoubleTapGestureRecognizerHandler(_ sender: UITapGestureRecognizer) {
|
@objc private func tabBarDoubleTapGestureRecognizerHandler(_ sender: UITapGestureRecognizer) {
|
||||||
guard sender.state == .ended else { return }
|
guard sender.state == .ended else { return }
|
||||||
guard let tab = touchedTab(by: sender) else { return }
|
guard let tab = touchedTab(by: sender) else { return }
|
||||||
logger.debug("\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public): double tap \(tab.title) tab")
|
|
||||||
|
|
||||||
switch tab {
|
switch tab {
|
||||||
case .me:
|
case .me:
|
||||||
|
@ -477,49 +425,11 @@ extension MainTabBarController {
|
||||||
switch traitCollection.horizontalSizeClass {
|
switch traitCollection.horizontalSizeClass {
|
||||||
case .compact:
|
case .compact:
|
||||||
tabBar.isHidden = false
|
tabBar.isHidden = false
|
||||||
composeButttonShadowBackgroundContainer.isHidden = false
|
|
||||||
default:
|
default:
|
||||||
tabBar.isHidden = true
|
tabBar.isHidden = true
|
||||||
composeButttonShadowBackgroundContainer.isHidden = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private func layoutComposeButton() {
|
|
||||||
guard composeButton.superview == nil else { return }
|
|
||||||
|
|
||||||
let _composeTabItem = self.tabBar.items?.first { item in item.tag == Tab.compose.tag }
|
|
||||||
guard let composeTabItem = _composeTabItem else { return }
|
|
||||||
guard let view = composeTabItem.value(forKey: "view") as? UIView else {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let _anchorImageView = view.subviews.first { subview in subview is UIImageView } as? UIImageView
|
|
||||||
guard let anchorImageView = _anchorImageView else {
|
|
||||||
assertionFailure()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
anchorImageView.alpha = 0
|
|
||||||
|
|
||||||
composeButttonShadowBackgroundContainer.translatesAutoresizingMaskIntoConstraints = false
|
|
||||||
self.view.addSubview(composeButttonShadowBackgroundContainer) // add to tabBar will crash on iPad when size class changing
|
|
||||||
NSLayoutConstraint.activate([
|
|
||||||
composeButttonShadowBackgroundContainer.centerXAnchor.constraint(equalTo: anchorImageView.centerXAnchor),
|
|
||||||
composeButttonShadowBackgroundContainer.centerYAnchor.constraint(equalTo: anchorImageView.centerYAnchor),
|
|
||||||
])
|
|
||||||
composeButttonShadowBackgroundContainer.cornerRadius = composeButton.layer.cornerRadius
|
|
||||||
|
|
||||||
composeButton.translatesAutoresizingMaskIntoConstraints = false
|
|
||||||
composeButttonShadowBackgroundContainer.addSubview(composeButton)
|
|
||||||
composeButton.pinToParent()
|
|
||||||
composeButton.setContentHuggingPriority(.required - 1, for: .horizontal)
|
|
||||||
composeButton.setContentHuggingPriority(.required - 1, for: .vertical)
|
|
||||||
}
|
|
||||||
|
|
||||||
private func updateComposeButtonAppearance() {
|
|
||||||
composeButton.setBackgroundImage(UIImage.placeholder(color: Asset.Colors.Label.primary.color), for: .normal)
|
|
||||||
composeButton.setBackgroundImage(UIImage.placeholder(color: Asset.Colors.Label.primary.color.withAlphaComponent(0.8)), for: .highlighted)
|
|
||||||
}
|
|
||||||
|
|
||||||
private func layoutAvatarButton() {
|
private func layoutAvatarButton() {
|
||||||
guard avatarButton.superview == nil else { return }
|
guard avatarButton.superview == nil else { return }
|
||||||
|
|
||||||
|
@ -557,8 +467,14 @@ extension MainTabBarController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private func updateAvatarButtonAppearance() {
|
private func updateAvatarButtonAppearance() {
|
||||||
accountSwitcherChevron.tintColor = currentTab == .me ? .label : .secondaryLabel
|
if currentTab == .me {
|
||||||
avatarButton.borderColor = currentTab == .me ? .label : .systemFill
|
accountSwitcherChevron.tintColor = Asset.Colors.brand.color
|
||||||
|
avatarButton.borderColor = Asset.Colors.brand.color
|
||||||
|
} else {
|
||||||
|
accountSwitcherChevron.tintColor = Asset.Theme.System.tabBarItemInactiveIconColor.color
|
||||||
|
avatarButton.borderColor = Asset.Theme.System.tabBarItemInactiveIconColor.color
|
||||||
|
}
|
||||||
|
|
||||||
avatarButton.setNeedsLayout()
|
avatarButton.setNeedsLayout()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -622,7 +538,6 @@ extension MainTabBarController: UITabBarControllerDelegate {
|
||||||
}
|
}
|
||||||
|
|
||||||
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
|
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
|
||||||
os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s: select %s", ((#file as NSString).lastPathComponent), #line, #function, viewController.debugDescription)
|
|
||||||
if let tab = Tab(rawValue: viewController.tabBarItem.tag) {
|
if let tab = Tab(rawValue: viewController.tabBarItem.tag) {
|
||||||
currentTab = tab
|
currentTab = tab
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,10 @@ final class SidebarViewModel {
|
||||||
var secondaryDiffableDataSource: UICollectionViewDiffableDataSource<Section, Item>?
|
var secondaryDiffableDataSource: UICollectionViewDiffableDataSource<Section, Item>?
|
||||||
@Published private(set) var isReadyForWizardAvatarButton = false
|
@Published private(set) var isReadyForWizardAvatarButton = false
|
||||||
|
|
||||||
|
private let chevronImage = UIImage.chevronUpChevronDown?.withConfiguration(
|
||||||
|
UIImage.SymbolConfiguration(weight: .bold)
|
||||||
|
)
|
||||||
|
|
||||||
init(context: AppContext, authContext: AuthContext?) {
|
init(context: AppContext, authContext: AuthContext?) {
|
||||||
self.context = context
|
self.context = context
|
||||||
self.authContext = authContext
|
self.authContext = authContext
|
||||||
|
@ -79,10 +83,10 @@ extension SidebarViewModel {
|
||||||
}()
|
}()
|
||||||
cell.item = SidebarListContentView.Item(
|
cell.item = SidebarListContentView.Item(
|
||||||
isActive: false,
|
isActive: false,
|
||||||
accessoryImage: item == .me ? .chevronUpChevronDown : nil,
|
accessoryImage: item == .me ? self.chevronImage : nil,
|
||||||
title: item.title,
|
title: item.title,
|
||||||
image: item.image,
|
image: item.image,
|
||||||
activeImage: item.selectedImage,
|
activeImage: item.selectedImage.withTintColor(Asset.Colors.brand.color, renderingMode: .alwaysOriginal),
|
||||||
imageURL: imageURL
|
imageURL: imageURL
|
||||||
)
|
)
|
||||||
cell.setNeedsUpdateConfiguration()
|
cell.setNeedsUpdateConfiguration()
|
||||||
|
@ -116,14 +120,14 @@ extension SidebarViewModel {
|
||||||
}()
|
}()
|
||||||
|
|
||||||
let image: UIImage = {
|
let image: UIImage = {
|
||||||
if currentTab == .notifications {
|
if hasUnreadPushNotification {
|
||||||
return hasUnreadPushNotification ? Asset.ObjectsAndTools.bellBadgeFill.image.withRenderingMode(.alwaysTemplate) : Asset.ObjectsAndTools.bellFill.image.withRenderingMode(.alwaysTemplate)
|
return UIImage(systemName: "bell.badge")!
|
||||||
} else {
|
} else {
|
||||||
return hasUnreadPushNotification ? Asset.ObjectsAndTools.bellBadge.image.withRenderingMode(.alwaysTemplate) : Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate)
|
return MainTabBarController.Tab.notifications.image
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
cell.item?.image = image
|
cell.item?.image = image
|
||||||
cell.item?.activeImage = image
|
cell.item?.activeImage = image.withTintColor(Asset.Colors.brand.color, renderingMode: .alwaysOriginal)
|
||||||
cell.setNeedsUpdateConfiguration()
|
cell.setNeedsUpdateConfiguration()
|
||||||
}
|
}
|
||||||
.store(in: &cell.disposeBag)
|
.store(in: &cell.disposeBag)
|
||||||
|
@ -166,10 +170,10 @@ extension SidebarViewModel {
|
||||||
case .compose:
|
case .compose:
|
||||||
let item = SidebarListContentView.Item(
|
let item = SidebarListContentView.Item(
|
||||||
isActive: false,
|
isActive: false,
|
||||||
accessoryImage: self.currentTab == .me ? .chevronUpChevronDown : nil,
|
accessoryImage: self.currentTab == .me ? self.chevronImage : nil,
|
||||||
title: L10n.Common.Controls.Actions.compose,
|
title: L10n.Common.Controls.Actions.compose,
|
||||||
image: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate),
|
image: UIImage(systemName: "square.and.pencil")!.withRenderingMode(.alwaysTemplate),
|
||||||
activeImage: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate),
|
activeImage: UIImage(systemName: "square.and.pencil")!.withRenderingMode(.alwaysTemplate),
|
||||||
imageURL: nil
|
imageURL: nil
|
||||||
)
|
)
|
||||||
return collectionView.dequeueConfiguredReusableCell(using: cellRegistration, for: indexPath, item: item)
|
return collectionView.dequeueConfiguredReusableCell(using: cellRegistration, for: indexPath, item: item)
|
||||||
|
@ -215,8 +219,8 @@ extension SidebarViewModel {
|
||||||
let item = SidebarListContentView.Item(
|
let item = SidebarListContentView.Item(
|
||||||
isActive: false,
|
isActive: false,
|
||||||
title: L10n.Common.Controls.Actions.compose,
|
title: L10n.Common.Controls.Actions.compose,
|
||||||
image: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate),
|
image: UIImage(systemName: "square.and.pencil")!.withRenderingMode(.alwaysTemplate),
|
||||||
activeImage: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate),
|
activeImage: UIImage(systemName: "square.and.pencil")!.withRenderingMode(.alwaysTemplate),
|
||||||
imageURL: nil
|
imageURL: nil
|
||||||
)
|
)
|
||||||
return collectionView.dequeueConfiguredReusableCell(using: cellRegistration, for: indexPath, item: item)
|
return collectionView.dequeueConfiguredReusableCell(using: cellRegistration, for: indexPath, item: item)
|
||||||
|
|
|
@ -11,6 +11,7 @@ import MetaTextKit
|
||||||
import FLAnimatedImage
|
import FLAnimatedImage
|
||||||
import MastodonCore
|
import MastodonCore
|
||||||
import MastodonUI
|
import MastodonUI
|
||||||
|
import MastodonAsset
|
||||||
|
|
||||||
final class SidebarListContentView: UIView, UIContentView {
|
final class SidebarListContentView: UIView, UIContentView {
|
||||||
|
|
||||||
|
@ -20,7 +21,7 @@ final class SidebarListContentView: UIView, UIContentView {
|
||||||
let avatarButton: CircleAvatarButton = {
|
let avatarButton: CircleAvatarButton = {
|
||||||
let button = CircleAvatarButton()
|
let button = CircleAvatarButton()
|
||||||
button.borderWidth = 2
|
button.borderWidth = 2
|
||||||
button.borderColor = UIColor.label
|
button.borderColor = Asset.Colors.brand.color
|
||||||
return button
|
return button
|
||||||
}()
|
}()
|
||||||
private let accessoryImageView = UIImageView(image: nil)
|
private let accessoryImageView = UIImageView(image: nil)
|
||||||
|
@ -103,10 +104,10 @@ extension SidebarListContentView {
|
||||||
// configure model
|
// configure model
|
||||||
imageView.isHidden = item.imageURL != nil
|
imageView.isHidden = item.imageURL != nil
|
||||||
avatarButton.isHidden = item.imageURL == nil
|
avatarButton.isHidden = item.imageURL == nil
|
||||||
imageView.image = item.isActive ? item.activeImage.withRenderingMode(.alwaysTemplate) : item.image.withRenderingMode(.alwaysTemplate)
|
imageView.image = item.isActive ? item.activeImage : item.image.withRenderingMode(.alwaysTemplate)
|
||||||
accessoryImageView.image = item.accessoryImage
|
accessoryImageView.image = item.accessoryImage
|
||||||
accessoryImageView.isHidden = item.accessoryImage == nil
|
accessoryImageView.isHidden = item.accessoryImage == nil
|
||||||
accessoryImageView.tintColor = item.isActive ? .label : .secondaryLabel
|
accessoryImageView.tintColor = item.isActive ? Asset.Colors.brand.color : .secondaryLabel
|
||||||
avatarButton.avatarImageView.setImage(
|
avatarButton.avatarImageView.setImage(
|
||||||
url: item.imageURL,
|
url: item.imageURL,
|
||||||
placeholder: avatarButton.avatarImageView.image ?? .placeholder(color: .systemFill), // reuse to avoid blink
|
placeholder: avatarButton.avatarImageView.image ?? .placeholder(color: .systemFill), // reuse to avoid blink
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"filename" : "bell.badge.fill.pdf",
|
|
||||||
"idiom" : "universal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
},
|
|
||||||
"properties" : {
|
|
||||||
"preserves-vector-representation" : true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,94 +0,0 @@
|
||||||
%PDF-1.7
|
|
||||||
|
|
||||||
1 0 obj
|
|
||||||
<< >>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
2 0 obj
|
|
||||||
<< /Length 3 0 R >>
|
|
||||||
stream
|
|
||||||
/DeviceRGB CS
|
|
||||||
/DeviceRGB cs
|
|
||||||
q
|
|
||||||
1.000000 0.000000 -0.000000 1.000000 4.000000 3.251190 cm
|
|
||||||
0.000000 0.000000 0.000000 scn
|
|
||||||
17.228973 14.106000 m
|
|
||||||
17.604315 14.106000 17.967243 14.159944 18.310644 14.260609 c
|
|
||||||
18.330521 14.022223 18.340664 13.781026 18.340664 13.537420 c
|
|
||||||
18.340664 9.025727 l
|
|
||||||
19.917404 5.460056 l
|
|
||||||
19.978443 5.322020 20.010000 5.172432 20.010000 5.021130 c
|
|
||||||
20.010000 4.429121 19.537165 3.949203 18.953897 3.949203 c
|
|
||||||
1.056364 3.949203 l
|
|
||||||
0.907638 3.949203 0.760588 3.981087 0.624843 4.042767 c
|
|
||||||
0.092485 4.284660 -0.145878 4.918783 0.092444 5.459118 c
|
|
||||||
1.665367 9.025314 l
|
|
||||||
1.665486 13.551995 l
|
|
||||||
1.670396 13.833986 l
|
|
||||||
1.824999 18.382032 5.507209 22.000000 10.003014 22.000000 c
|
|
||||||
11.607554 22.000000 13.106230 21.539965 14.378001 20.742750 c
|
|
||||||
13.732699 20.037863 13.338069 19.093309 13.338069 18.055204 c
|
|
||||||
13.338069 15.874119 15.080086 14.106000 17.228973 14.106000 c
|
|
||||||
h
|
|
||||||
13.291688 2.819208 m
|
|
||||||
13.026393 1.219061 11.654965 0.000000 10.003014 0.000000 c
|
|
||||||
8.351062 0.000000 6.979633 1.219061 6.714338 2.819208 c
|
|
||||||
13.291688 2.819208 l
|
|
||||||
h
|
|
||||||
17.228973 15.234344 m
|
|
||||||
18.763893 15.234344 20.008190 16.497286 20.008190 18.055204 c
|
|
||||||
20.008190 19.613121 18.763893 20.876064 17.228973 20.876064 c
|
|
||||||
15.694054 20.876064 14.449756 19.613121 14.449756 18.055204 c
|
|
||||||
14.449756 16.497286 15.694054 15.234344 17.228973 15.234344 c
|
|
||||||
h
|
|
||||||
f
|
|
||||||
n
|
|
||||||
Q
|
|
||||||
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
|
|
||||||
3 0 obj
|
|
||||||
1305
|
|
||||||
endobj
|
|
||||||
|
|
||||||
4 0 obj
|
|
||||||
<< /Annots []
|
|
||||||
/Type /Page
|
|
||||||
/MediaBox [ 0.000000 0.000000 28.000000 28.000000 ]
|
|
||||||
/Resources 1 0 R
|
|
||||||
/Contents 2 0 R
|
|
||||||
/Parent 5 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
5 0 obj
|
|
||||||
<< /Kids [ 4 0 R ]
|
|
||||||
/Count 1
|
|
||||||
/Type /Pages
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
6 0 obj
|
|
||||||
<< /Pages 5 0 R
|
|
||||||
/Type /Catalog
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
xref
|
|
||||||
0 7
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000010 00000 n
|
|
||||||
0000000034 00000 n
|
|
||||||
0000001395 00000 n
|
|
||||||
0000001418 00000 n
|
|
||||||
0000001591 00000 n
|
|
||||||
0000001665 00000 n
|
|
||||||
trailer
|
|
||||||
<< /ID [ (some) (id) ]
|
|
||||||
/Root 6 0 R
|
|
||||||
/Size 7
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
1724
|
|
||||||
%%EOF
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"filename" : "bell.badge.pdf",
|
|
||||||
"idiom" : "universal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
},
|
|
||||||
"properties" : {
|
|
||||||
"preserves-vector-representation" : true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,112 +0,0 @@
|
||||||
%PDF-1.7
|
|
||||||
|
|
||||||
1 0 obj
|
|
||||||
<< >>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
2 0 obj
|
|
||||||
<< /Length 3 0 R >>
|
|
||||||
stream
|
|
||||||
/DeviceRGB CS
|
|
||||||
/DeviceRGB cs
|
|
||||||
q
|
|
||||||
1.000000 0.000000 -0.000000 1.000000 4.000000 3.000000 cm
|
|
||||||
0.000000 0.000000 0.000000 scn
|
|
||||||
9.991263 22.000000 m
|
|
||||||
11.600367 22.000000 13.104079 21.540958 14.379686 20.742632 c
|
|
||||||
13.999659 20.330532 13.705750 19.835861 13.527027 19.288073 c
|
|
||||||
12.501425 19.935305 11.289410 20.308149 9.991263 20.308149 c
|
|
||||||
6.295337 20.308149 3.312736 17.291861 3.312205 13.540749 c
|
|
||||||
3.312205 8.567127 l
|
|
||||||
1.816118 5.077236 l
|
|
||||||
18.175934 5.077236 l
|
|
||||||
16.670322 8.566052 l
|
|
||||||
16.670446 13.526248 l
|
|
||||||
16.666271 13.780252 l
|
|
||||||
16.662128 13.902481 16.654818 14.023849 16.644423 14.144276 c
|
|
||||||
16.834492 14.115398 17.029049 14.100430 17.227058 14.100430 c
|
|
||||||
17.602913 14.100430 17.966335 14.154360 18.310204 14.254990 c
|
|
||||||
18.322084 14.112284 18.330519 13.968523 18.335421 13.823792 c
|
|
||||||
18.340088 13.540749 l
|
|
||||||
18.340088 8.919773 l
|
|
||||||
19.876272 5.360107 l
|
|
||||||
19.953144 5.181980 19.992825 4.989672 19.992825 4.795261 c
|
|
||||||
19.992825 4.016609 19.369843 3.385387 18.601355 3.385387 c
|
|
||||||
13.330793 3.383699 l
|
|
||||||
13.330793 1.514933 11.835634 -0.000002 9.991263 -0.000002 c
|
|
||||||
8.212763 -0.000002 6.758977 1.408655 6.657403 3.184881 c
|
|
||||||
6.651230 3.386263 l
|
|
||||||
1.391824 3.385387 l
|
|
||||||
1.201094 3.385387 1.012400 3.425116 0.837460 3.502110 c
|
|
||||||
0.132594 3.812326 -0.190615 4.642769 0.115552 5.356956 c
|
|
||||||
1.642440 8.918699 l
|
|
||||||
1.642440 13.540869 l
|
|
||||||
1.643104 18.227058 5.373904 22.000000 9.991263 22.000000 c
|
|
||||||
h
|
|
||||||
11.660524 3.386263 m
|
|
||||||
8.321499 3.383699 l
|
|
||||||
8.321499 2.449318 9.069077 1.691849 9.991263 1.691849 c
|
|
||||||
10.859203 1.691849 11.572474 2.362822 11.653385 3.220762 c
|
|
||||||
11.660524 3.386263 l
|
|
||||||
h
|
|
||||||
14.488358 18.551571 m
|
|
||||||
14.594155 19.146286 14.884010 19.676186 15.296021 20.078548 c
|
|
||||||
15.796463 20.567268 16.477119 20.867832 17.227058 20.867832 c
|
|
||||||
18.764036 20.867832 20.010000 19.605387 20.010000 18.048080 c
|
|
||||||
20.010000 16.815081 19.228939 15.766922 18.140787 15.383841 c
|
|
||||||
17.854582 15.283082 17.547131 15.228331 17.227058 15.228331 c
|
|
||||||
16.950932 15.228331 16.684196 15.269077 16.432392 15.344961 c
|
|
||||||
15.282606 15.691461 14.444118 16.770555 14.444118 18.048080 c
|
|
||||||
14.444118 18.219936 14.459294 18.388199 14.488358 18.551571 c
|
|
||||||
h
|
|
||||||
f
|
|
||||||
n
|
|
||||||
Q
|
|
||||||
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
|
|
||||||
3 0 obj
|
|
||||||
2038
|
|
||||||
endobj
|
|
||||||
|
|
||||||
4 0 obj
|
|
||||||
<< /Annots []
|
|
||||||
/Type /Page
|
|
||||||
/MediaBox [ 0.000000 0.000000 28.000000 28.000000 ]
|
|
||||||
/Resources 1 0 R
|
|
||||||
/Contents 2 0 R
|
|
||||||
/Parent 5 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
5 0 obj
|
|
||||||
<< /Kids [ 4 0 R ]
|
|
||||||
/Count 1
|
|
||||||
/Type /Pages
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
6 0 obj
|
|
||||||
<< /Pages 5 0 R
|
|
||||||
/Type /Catalog
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
xref
|
|
||||||
0 7
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000010 00000 n
|
|
||||||
0000000034 00000 n
|
|
||||||
0000002128 00000 n
|
|
||||||
0000002151 00000 n
|
|
||||||
0000002324 00000 n
|
|
||||||
0000002398 00000 n
|
|
||||||
trailer
|
|
||||||
<< /ID [ (some) (id) ]
|
|
||||||
/Root 6 0 R
|
|
||||||
/Size 7
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
2457
|
|
||||||
%%EOF
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"filename" : "bell.fill.pdf",
|
|
||||||
"idiom" : "universal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
},
|
|
||||||
"properties" : {
|
|
||||||
"preserves-vector-representation" : true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,88 +0,0 @@
|
||||||
%PDF-1.7
|
|
||||||
|
|
||||||
1 0 obj
|
|
||||||
<< >>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
2 0 obj
|
|
||||||
<< /Length 3 0 R >>
|
|
||||||
stream
|
|
||||||
/DeviceRGB CS
|
|
||||||
/DeviceRGB cs
|
|
||||||
q
|
|
||||||
1.000000 0.000000 -0.000000 1.000000 3.994385 2.997498 cm
|
|
||||||
0.000000 0.000000 0.000000 scn
|
|
||||||
13.471207 3.000130 m
|
|
||||||
13.228097 1.303843 11.769090 0.000013 10.005556 0.000013 c
|
|
||||||
8.242023 0.000013 6.783014 1.303843 6.539904 3.000130 c
|
|
||||||
13.471207 3.000130 l
|
|
||||||
h
|
|
||||||
10.005556 22.002502 m
|
|
||||||
14.615297 22.002502 18.368101 18.333513 18.503042 13.756456 c
|
|
||||||
18.503042 13.501259 l
|
|
||||||
18.506800 13.501259 l
|
|
||||||
18.506556 9.389503 l
|
|
||||||
19.920570 5.745182 l
|
|
||||||
19.958755 5.646759 19.984545 5.544180 19.997494 5.439810 c
|
|
||||||
20.007233 5.282207 l
|
|
||||||
20.007233 4.619465 19.503553 4.074364 18.858105 4.008816 c
|
|
||||||
18.727232 4.002207 l
|
|
||||||
1.280344 4.002207 l
|
|
||||||
1.121637 4.002207 0.964313 4.031721 0.816398 4.089247 c
|
|
||||||
0.198722 4.329462 -0.126749 4.996468 0.046107 5.621784 c
|
|
||||||
0.087384 5.746153 l
|
|
||||||
1.503556 9.390502 l
|
|
||||||
1.504312 13.501259 l
|
|
||||||
1.504312 18.196365 5.310449 22.002502 10.005556 22.002502 c
|
|
||||||
h
|
|
||||||
f
|
|
||||||
n
|
|
||||||
Q
|
|
||||||
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
|
|
||||||
3 0 obj
|
|
||||||
870
|
|
||||||
endobj
|
|
||||||
|
|
||||||
4 0 obj
|
|
||||||
<< /Annots []
|
|
||||||
/Type /Page
|
|
||||||
/MediaBox [ 0.000000 0.000000 28.000000 28.000000 ]
|
|
||||||
/Resources 1 0 R
|
|
||||||
/Contents 2 0 R
|
|
||||||
/Parent 5 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
5 0 obj
|
|
||||||
<< /Kids [ 4 0 R ]
|
|
||||||
/Count 1
|
|
||||||
/Type /Pages
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
6 0 obj
|
|
||||||
<< /Pages 5 0 R
|
|
||||||
/Type /Catalog
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
xref
|
|
||||||
0 7
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000010 00000 n
|
|
||||||
0000000034 00000 n
|
|
||||||
0000000960 00000 n
|
|
||||||
0000000982 00000 n
|
|
||||||
0000001155 00000 n
|
|
||||||
0000001229 00000 n
|
|
||||||
trailer
|
|
||||||
<< /ID [ (some) (id) ]
|
|
||||||
/Root 6 0 R
|
|
||||||
/Size 7
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
1288
|
|
||||||
%%EOF
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"filename" : "bell.pdf",
|
|
||||||
"idiom" : "universal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
},
|
|
||||||
"properties" : {
|
|
||||||
"preserves-vector-representation" : true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,106 +0,0 @@
|
||||||
%PDF-1.7
|
|
||||||
|
|
||||||
1 0 obj
|
|
||||||
<< >>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
2 0 obj
|
|
||||||
<< /Length 3 0 R >>
|
|
||||||
stream
|
|
||||||
/DeviceRGB CS
|
|
||||||
/DeviceRGB cs
|
|
||||||
q
|
|
||||||
1.000000 0.000000 -0.000000 1.000000 3.994385 2.997498 cm
|
|
||||||
0.000000 0.000000 0.000000 scn
|
|
||||||
10.005556 22.002502 m
|
|
||||||
14.615297 22.002502 18.368101 18.333513 18.503042 13.756456 c
|
|
||||||
18.506800 13.501259 l
|
|
||||||
18.506556 8.889502 l
|
|
||||||
19.920570 5.245478 l
|
|
||||||
19.958755 5.147055 19.984545 5.044476 19.997494 4.940105 c
|
|
||||||
20.007233 4.782503 l
|
|
||||||
20.007233 4.119761 19.503553 3.574659 18.858105 3.509111 c
|
|
||||||
18.727232 3.502502 l
|
|
||||||
13.506981 3.501438 l
|
|
||||||
13.506981 1.567654 11.939340 0.000013 10.005556 0.000013 c
|
|
||||||
8.136232 0.000013 6.609047 1.464890 6.509312 3.309326 c
|
|
||||||
6.504000 3.503502 l
|
|
||||||
1.280344 3.502502 l
|
|
||||||
1.121637 3.502502 0.964313 3.532017 0.816398 3.589542 c
|
|
||||||
0.198722 3.829758 -0.126749 4.496763 0.046107 5.122080 c
|
|
||||||
0.087384 5.246449 l
|
|
||||||
1.503556 8.890503 l
|
|
||||||
1.504312 13.501259 l
|
|
||||||
1.504312 18.196365 5.310449 22.002502 10.005556 22.002502 c
|
|
||||||
h
|
|
||||||
12.001492 3.352070 m
|
|
||||||
12.006001 3.503502 l
|
|
||||||
8.004131 3.501438 l
|
|
||||||
8.004131 2.396082 8.900200 1.500013 10.005556 1.500013 c
|
|
||||||
11.060669 1.500013 11.925088 2.316473 12.001492 3.352070 c
|
|
||||||
h
|
|
||||||
10.005556 20.502502 m
|
|
||||||
6.219432 20.502502 3.135237 17.497185 3.008372 13.741951 c
|
|
||||||
3.004312 13.501259 l
|
|
||||||
3.004312 8.749136 l
|
|
||||||
3.004312 8.687140 2.996625 8.625507 2.981514 8.565626 c
|
|
||||||
2.953312 8.477293 l
|
|
||||||
1.601556 5.003502 l
|
|
||||||
18.405556 5.003502 l
|
|
||||||
17.057579 8.477861 l
|
|
||||||
17.035206 8.535532 17.020094 8.595635 17.012506 8.656790 c
|
|
||||||
17.006800 8.749136 l
|
|
||||||
17.006800 13.501259 l
|
|
||||||
17.006800 17.367939 13.872236 20.502502 10.005556 20.502502 c
|
|
||||||
h
|
|
||||||
f
|
|
||||||
n
|
|
||||||
Q
|
|
||||||
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
|
|
||||||
3 0 obj
|
|
||||||
1451
|
|
||||||
endobj
|
|
||||||
|
|
||||||
4 0 obj
|
|
||||||
<< /Annots []
|
|
||||||
/Type /Page
|
|
||||||
/MediaBox [ 0.000000 0.000000 28.000000 28.000000 ]
|
|
||||||
/Resources 1 0 R
|
|
||||||
/Contents 2 0 R
|
|
||||||
/Parent 5 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
5 0 obj
|
|
||||||
<< /Kids [ 4 0 R ]
|
|
||||||
/Count 1
|
|
||||||
/Type /Pages
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
6 0 obj
|
|
||||||
<< /Pages 5 0 R
|
|
||||||
/Type /Catalog
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
xref
|
|
||||||
0 7
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000010 00000 n
|
|
||||||
0000000034 00000 n
|
|
||||||
0000001541 00000 n
|
|
||||||
0000001564 00000 n
|
|
||||||
0000001737 00000 n
|
|
||||||
0000001811 00000 n
|
|
||||||
trailer
|
|
||||||
<< /ID [ (some) (id) ]
|
|
||||||
/Root 6 0 R
|
|
||||||
/Size 7
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
1870
|
|
||||||
%%EOF
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"filename" : "Home-fill.pdf",
|
|
||||||
"idiom" : "universal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
},
|
|
||||||
"properties" : {
|
|
||||||
"preserves-vector-representation" : true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,85 +0,0 @@
|
||||||
%PDF-1.7
|
|
||||||
|
|
||||||
1 0 obj
|
|
||||||
<< >>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
2 0 obj
|
|
||||||
<< /Length 3 0 R >>
|
|
||||||
stream
|
|
||||||
/DeviceRGB CS
|
|
||||||
/DeviceRGB cs
|
|
||||||
q
|
|
||||||
1.000000 0.000000 -0.000000 1.000000 4.000000 2.835022 cm
|
|
||||||
0.000000 0.000000 0.000000 scn
|
|
||||||
8.592125 21.667089 m
|
|
||||||
9.414732 22.326954 10.585270 22.326952 11.407875 21.667089 c
|
|
||||||
19.157869 15.450343 l
|
|
||||||
19.690231 15.023304 19.999994 14.377716 19.999994 13.695241 c
|
|
||||||
19.999994 2.414970 l
|
|
||||||
19.999994 1.172331 18.992638 0.164970 17.749996 0.164970 c
|
|
||||||
15.250000 0.164970 l
|
|
||||||
14.007360 0.164970 13.000000 1.172327 13.000000 2.414968 c
|
|
||||||
13.000000 8.914963 l
|
|
||||||
13.000000 9.329177 12.664214 9.664963 12.250000 9.664963 c
|
|
||||||
7.750000 9.664963 l
|
|
||||||
7.335785 9.664963 7.000000 9.329177 7.000000 8.914964 c
|
|
||||||
7.000000 2.414970 l
|
|
||||||
7.000000 1.172331 5.992641 0.164970 4.750000 0.164970 c
|
|
||||||
2.250000 0.164970 l
|
|
||||||
1.007360 0.164970 0.000000 1.172327 0.000000 2.414968 c
|
|
||||||
0.000000 13.695240 l
|
|
||||||
0.000000 14.377715 0.309763 15.023304 0.842125 15.450343 c
|
|
||||||
8.592125 21.667089 l
|
|
||||||
h
|
|
||||||
f
|
|
||||||
n
|
|
||||||
Q
|
|
||||||
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
|
|
||||||
3 0 obj
|
|
||||||
862
|
|
||||||
endobj
|
|
||||||
|
|
||||||
4 0 obj
|
|
||||||
<< /Annots []
|
|
||||||
/Type /Page
|
|
||||||
/MediaBox [ 0.000000 0.000000 28.000000 28.000000 ]
|
|
||||||
/Resources 1 0 R
|
|
||||||
/Contents 2 0 R
|
|
||||||
/Parent 5 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
5 0 obj
|
|
||||||
<< /Kids [ 4 0 R ]
|
|
||||||
/Count 1
|
|
||||||
/Type /Pages
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
6 0 obj
|
|
||||||
<< /Pages 5 0 R
|
|
||||||
/Type /Catalog
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
xref
|
|
||||||
0 7
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000010 00000 n
|
|
||||||
0000000034 00000 n
|
|
||||||
0000000952 00000 n
|
|
||||||
0000000974 00000 n
|
|
||||||
0000001147 00000 n
|
|
||||||
0000001221 00000 n
|
|
||||||
trailer
|
|
||||||
<< /ID [ (some) (id) ]
|
|
||||||
/Root 6 0 R
|
|
||||||
/Size 7
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
1280
|
|
||||||
%%EOF
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"filename" : "Home.pdf",
|
|
||||||
"idiom" : "universal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
},
|
|
||||||
"properties" : {
|
|
||||||
"preserves-vector-representation" : true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,105 +0,0 @@
|
||||||
%PDF-1.7
|
|
||||||
|
|
||||||
1 0 obj
|
|
||||||
<< >>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
2 0 obj
|
|
||||||
<< /Length 3 0 R >>
|
|
||||||
stream
|
|
||||||
/DeviceRGB CS
|
|
||||||
/DeviceRGB cs
|
|
||||||
q
|
|
||||||
1.000000 0.000000 -0.000000 1.000000 4.000000 2.834961 cm
|
|
||||||
0.000000 0.000000 0.000000 scn
|
|
||||||
8.591907 21.668686 m
|
|
||||||
9.414594 22.328781 10.585405 22.328781 11.408092 21.668686 c
|
|
||||||
19.158089 15.450356 l
|
|
||||||
19.690319 15.023312 19.999994 14.377806 19.999994 13.695429 c
|
|
||||||
19.999994 2.415045 l
|
|
||||||
19.999994 1.172405 18.992638 0.165045 17.749996 0.165045 c
|
|
||||||
14.750000 0.165045 l
|
|
||||||
13.507360 0.165045 12.500000 1.172403 12.500000 2.415045 c
|
|
||||||
12.500000 8.415037 l
|
|
||||||
12.500000 8.829250 12.164213 9.165037 11.750000 9.165037 c
|
|
||||||
8.250000 9.165037 l
|
|
||||||
7.835786 9.165037 7.500000 8.829250 7.500000 8.415037 c
|
|
||||||
7.500000 2.415045 l
|
|
||||||
7.500000 1.172403 6.492640 0.165045 5.250000 0.165045 c
|
|
||||||
2.250000 0.165045 l
|
|
||||||
1.007360 0.165045 0.000000 1.172401 0.000000 2.415043 c
|
|
||||||
0.000000 13.695428 l
|
|
||||||
0.000000 14.377805 0.309674 15.023312 0.841907 15.450356 c
|
|
||||||
8.591907 21.668686 l
|
|
||||||
h
|
|
||||||
10.469363 20.498734 m
|
|
||||||
10.195135 20.718765 9.804865 20.718765 9.530635 20.498734 c
|
|
||||||
1.780635 14.280403 l
|
|
||||||
1.603225 14.138056 1.500000 13.922887 1.500000 13.695428 c
|
|
||||||
1.500000 2.415043 l
|
|
||||||
1.500000 2.000832 1.835786 1.665045 2.250000 1.665045 c
|
|
||||||
5.250000 1.665045 l
|
|
||||||
5.664214 1.665045 6.000000 2.000832 6.000000 2.415045 c
|
|
||||||
6.000000 8.415037 l
|
|
||||||
6.000000 9.657678 7.007360 10.665037 8.250000 10.665037 c
|
|
||||||
11.750000 10.665037 l
|
|
||||||
12.992640 10.665037 14.000000 9.657678 14.000000 8.415037 c
|
|
||||||
14.000000 2.415045 l
|
|
||||||
14.000000 2.000832 14.335787 1.665045 14.750000 1.665045 c
|
|
||||||
17.749996 1.665045 l
|
|
||||||
18.164207 1.665045 18.499994 2.000830 18.499994 2.415045 c
|
|
||||||
18.499994 13.695429 l
|
|
||||||
18.499994 13.922888 18.396770 14.138056 18.219358 14.280403 c
|
|
||||||
10.469363 20.498734 l
|
|
||||||
h
|
|
||||||
f
|
|
||||||
n
|
|
||||||
Q
|
|
||||||
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
|
|
||||||
3 0 obj
|
|
||||||
1604
|
|
||||||
endobj
|
|
||||||
|
|
||||||
4 0 obj
|
|
||||||
<< /Annots []
|
|
||||||
/Type /Page
|
|
||||||
/MediaBox [ 0.000000 0.000000 28.000000 28.000000 ]
|
|
||||||
/Resources 1 0 R
|
|
||||||
/Contents 2 0 R
|
|
||||||
/Parent 5 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
5 0 obj
|
|
||||||
<< /Kids [ 4 0 R ]
|
|
||||||
/Count 1
|
|
||||||
/Type /Pages
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
6 0 obj
|
|
||||||
<< /Pages 5 0 R
|
|
||||||
/Type /Catalog
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
xref
|
|
||||||
0 7
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000010 00000 n
|
|
||||||
0000000034 00000 n
|
|
||||||
0000001694 00000 n
|
|
||||||
0000001717 00000 n
|
|
||||||
0000001890 00000 n
|
|
||||||
0000001964 00000 n
|
|
||||||
trailer
|
|
||||||
<< /ID [ (some) (id) ]
|
|
||||||
/Root 6 0 R
|
|
||||||
/Size 7
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
2023
|
|
||||||
%%EOF
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"filename" : "Search-Fill.pdf",
|
|
||||||
"idiom" : "universal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
},
|
|
||||||
"properties" : {
|
|
||||||
"preserves-vector-representation" : true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,83 +0,0 @@
|
||||||
%PDF-1.7
|
|
||||||
|
|
||||||
1 0 obj
|
|
||||||
<< >>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
2 0 obj
|
|
||||||
<< /Length 3 0 R >>
|
|
||||||
stream
|
|
||||||
/DeviceRGB CS
|
|
||||||
/DeviceRGB cs
|
|
||||||
q
|
|
||||||
1.000000 0.000000 -0.000000 1.000000 2.000000 1.855835 cm
|
|
||||||
0.000000 0.000000 0.000000 scn
|
|
||||||
9.500000 24.144165 m
|
|
||||||
14.746705 24.144165 19.000000 19.890869 19.000000 14.644165 c
|
|
||||||
19.000000 12.562231 18.330292 10.636717 17.194551 9.071299 c
|
|
||||||
23.560659 2.704824 l
|
|
||||||
24.146446 2.119038 24.146446 1.169292 23.560659 0.583506 c
|
|
||||||
23.011484 0.034330 22.142424 0.000008 21.553263 0.480536 c
|
|
||||||
21.439341 0.583506 l
|
|
||||||
15.072866 6.949614 l
|
|
||||||
13.507448 5.813873 11.581934 5.144165 9.500000 5.144165 c
|
|
||||||
4.253295 5.144165 0.000000 9.397460 0.000000 14.644165 c
|
|
||||||
0.000000 19.890869 4.253295 24.144165 9.500000 24.144165 c
|
|
||||||
h
|
|
||||||
9.500000 21.144165 m
|
|
||||||
5.910149 21.144165 3.000000 18.234016 3.000000 14.644165 c
|
|
||||||
3.000000 11.054314 5.910149 8.144165 9.500000 8.144165 c
|
|
||||||
13.089851 8.144165 16.000000 11.054314 16.000000 14.644165 c
|
|
||||||
16.000000 18.234016 13.089851 21.144165 9.500000 21.144165 c
|
|
||||||
h
|
|
||||||
f
|
|
||||||
n
|
|
||||||
Q
|
|
||||||
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
|
|
||||||
3 0 obj
|
|
||||||
887
|
|
||||||
endobj
|
|
||||||
|
|
||||||
4 0 obj
|
|
||||||
<< /Annots []
|
|
||||||
/Type /Page
|
|
||||||
/MediaBox [ 0.000000 0.000000 28.000000 28.000000 ]
|
|
||||||
/Resources 1 0 R
|
|
||||||
/Contents 2 0 R
|
|
||||||
/Parent 5 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
5 0 obj
|
|
||||||
<< /Kids [ 4 0 R ]
|
|
||||||
/Count 1
|
|
||||||
/Type /Pages
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
6 0 obj
|
|
||||||
<< /Pages 5 0 R
|
|
||||||
/Type /Catalog
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
xref
|
|
||||||
0 7
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000010 00000 n
|
|
||||||
0000000034 00000 n
|
|
||||||
0000000977 00000 n
|
|
||||||
0000000999 00000 n
|
|
||||||
0000001172 00000 n
|
|
||||||
0000001246 00000 n
|
|
||||||
trailer
|
|
||||||
<< /ID [ (some) (id) ]
|
|
||||||
/Root 6 0 R
|
|
||||||
/Size 7
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
1305
|
|
||||||
%%EOF
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"filename" : "Search.pdf",
|
|
||||||
"idiom" : "universal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
},
|
|
||||||
"properties" : {
|
|
||||||
"preserves-vector-representation" : true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,83 +0,0 @@
|
||||||
%PDF-1.7
|
|
||||||
|
|
||||||
1 0 obj
|
|
||||||
<< >>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
2 0 obj
|
|
||||||
<< /Length 3 0 R >>
|
|
||||||
stream
|
|
||||||
/DeviceRGB CS
|
|
||||||
/DeviceRGB cs
|
|
||||||
q
|
|
||||||
1.000000 0.000000 -0.000000 1.000000 2.750000 2.679199 cm
|
|
||||||
0.000000 0.000000 0.000000 scn
|
|
||||||
8.750000 22.570801 m
|
|
||||||
13.582491 22.570801 17.500000 18.653292 17.500000 13.820801 c
|
|
||||||
17.500000 11.674633 16.727327 9.708933 15.444990 8.186705 c
|
|
||||||
22.280331 1.351131 l
|
|
||||||
22.573223 1.058239 22.573223 0.583363 22.280331 0.290470 c
|
|
||||||
22.014065 0.024204 21.597401 -0.000004 21.303789 0.217852 c
|
|
||||||
21.219669 0.290470 l
|
|
||||||
14.384096 7.125811 l
|
|
||||||
12.861868 5.843473 10.896168 5.070801 8.750000 5.070801 c
|
|
||||||
3.917509 5.070801 0.000000 8.988310 0.000000 13.820801 c
|
|
||||||
0.000000 18.653292 3.917509 22.570801 8.750000 22.570801 c
|
|
||||||
h
|
|
||||||
8.750000 21.070801 m
|
|
||||||
4.745935 21.070801 1.500000 17.824865 1.500000 13.820801 c
|
|
||||||
1.500000 9.816736 4.745935 6.570801 8.750000 6.570801 c
|
|
||||||
12.754065 6.570801 16.000000 9.816736 16.000000 13.820801 c
|
|
||||||
16.000000 17.824865 12.754065 21.070801 8.750000 21.070801 c
|
|
||||||
h
|
|
||||||
f
|
|
||||||
n
|
|
||||||
Q
|
|
||||||
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
|
|
||||||
3 0 obj
|
|
||||||
885
|
|
||||||
endobj
|
|
||||||
|
|
||||||
4 0 obj
|
|
||||||
<< /Annots []
|
|
||||||
/Type /Page
|
|
||||||
/MediaBox [ 0.000000 0.000000 28.000000 28.000000 ]
|
|
||||||
/Resources 1 0 R
|
|
||||||
/Contents 2 0 R
|
|
||||||
/Parent 5 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
5 0 obj
|
|
||||||
<< /Kids [ 4 0 R ]
|
|
||||||
/Count 1
|
|
||||||
/Type /Pages
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
6 0 obj
|
|
||||||
<< /Pages 5 0 R
|
|
||||||
/Type /Catalog
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
xref
|
|
||||||
0 7
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000010 00000 n
|
|
||||||
0000000034 00000 n
|
|
||||||
0000000975 00000 n
|
|
||||||
0000000997 00000 n
|
|
||||||
0000001170 00000 n
|
|
||||||
0000001244 00000 n
|
|
||||||
trailer
|
|
||||||
<< /ID [ (some) (id) ]
|
|
||||||
/Root 6 0 R
|
|
||||||
/Size 7
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
1303
|
|
||||||
%%EOF
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"filename" : "square.and.pencil.pdf",
|
|
||||||
"idiom" : "universal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"author" : "xcode",
|
|
||||||
"version" : 1
|
|
||||||
},
|
|
||||||
"properties" : {
|
|
||||||
"preserves-vector-representation" : true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,93 +0,0 @@
|
||||||
%PDF-1.7
|
|
||||||
|
|
||||||
1 0 obj
|
|
||||||
<< >>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
2 0 obj
|
|
||||||
<< /Length 3 0 R >>
|
|
||||||
stream
|
|
||||||
/DeviceRGB CS
|
|
||||||
/DeviceRGB cs
|
|
||||||
q
|
|
||||||
1.000000 0.000000 -0.000000 1.000000 3.000000 2.926788 cm
|
|
||||||
0.000000 0.000000 0.000000 scn
|
|
||||||
18.780287 17.792883 m
|
|
||||||
19.073179 18.085777 19.073177 18.560650 18.780285 18.853542 c
|
|
||||||
18.487391 19.146435 18.012516 19.146435 17.719624 18.853540 c
|
|
||||||
7.719669 8.853540 l
|
|
||||||
7.250000 7.323212 l
|
|
||||||
8.780332 7.792883 l
|
|
||||||
18.780287 17.792883 l
|
|
||||||
h
|
|
||||||
3.249999 18.073212 m
|
|
||||||
1.455072 18.073212 0.000000 16.618137 0.000000 14.823212 c
|
|
||||||
0.000000 3.323212 l
|
|
||||||
0.000000 1.528286 1.455075 0.073212 3.250000 0.073212 c
|
|
||||||
14.750000 0.073212 l
|
|
||||||
16.544926 0.073212 18.000000 1.528286 18.000000 3.323212 c
|
|
||||||
18.000000 11.323212 l
|
|
||||||
18.000000 11.737425 17.664213 12.073212 17.250000 12.073212 c
|
|
||||||
16.835787 12.073212 16.500000 11.737425 16.500000 11.323212 c
|
|
||||||
16.500000 3.323212 l
|
|
||||||
16.500000 2.356712 15.716498 1.573212 14.750000 1.573212 c
|
|
||||||
3.250000 1.573212 l
|
|
||||||
2.283502 1.573212 1.500000 2.356712 1.500000 3.323212 c
|
|
||||||
1.500000 14.823212 l
|
|
||||||
1.500000 15.789711 2.283501 16.573212 3.249999 16.573212 c
|
|
||||||
11.249994 16.573212 l
|
|
||||||
11.664207 16.573212 11.999994 16.908998 11.999994 17.323212 c
|
|
||||||
11.999994 17.737425 11.664207 18.073212 11.249994 18.073212 c
|
|
||||||
3.249999 18.073212 l
|
|
||||||
h
|
|
||||||
f
|
|
||||||
n
|
|
||||||
Q
|
|
||||||
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
|
|
||||||
3 0 obj
|
|
||||||
1142
|
|
||||||
endobj
|
|
||||||
|
|
||||||
4 0 obj
|
|
||||||
<< /Annots []
|
|
||||||
/Type /Page
|
|
||||||
/MediaBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
|
||||||
/Resources 1 0 R
|
|
||||||
/Contents 2 0 R
|
|
||||||
/Parent 5 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
5 0 obj
|
|
||||||
<< /Kids [ 4 0 R ]
|
|
||||||
/Count 1
|
|
||||||
/Type /Pages
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
6 0 obj
|
|
||||||
<< /Pages 5 0 R
|
|
||||||
/Type /Catalog
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
|
|
||||||
xref
|
|
||||||
0 7
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000010 00000 n
|
|
||||||
0000000034 00000 n
|
|
||||||
0000001232 00000 n
|
|
||||||
0000001255 00000 n
|
|
||||||
0000001428 00000 n
|
|
||||||
0000001502 00000 n
|
|
||||||
trailer
|
|
||||||
<< /ID [ (some) (id) ]
|
|
||||||
/Root 6 0 R
|
|
||||||
/Size 7
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
1561
|
|
||||||
%%EOF
|
|
|
@ -125,18 +125,9 @@ public enum Asset {
|
||||||
public static let faceSmilingAdaptive = ImageAsset(name: "Human/face.smiling.adaptive")
|
public static let faceSmilingAdaptive = ImageAsset(name: "Human/face.smiling.adaptive")
|
||||||
}
|
}
|
||||||
public enum ObjectsAndTools {
|
public enum ObjectsAndTools {
|
||||||
public static let bellBadgeFill = ImageAsset(name: "ObjectsAndTools/bell.badge.fill")
|
|
||||||
public static let bellBadge = ImageAsset(name: "ObjectsAndTools/bell.badge")
|
|
||||||
public static let bellFill = ImageAsset(name: "ObjectsAndTools/bell.fill")
|
|
||||||
public static let bell = ImageAsset(name: "ObjectsAndTools/bell")
|
|
||||||
public static let bookmarkFill = ImageAsset(name: "ObjectsAndTools/bookmark.fill")
|
public static let bookmarkFill = ImageAsset(name: "ObjectsAndTools/bookmark.fill")
|
||||||
public static let bookmark = ImageAsset(name: "ObjectsAndTools/bookmark")
|
public static let bookmark = ImageAsset(name: "ObjectsAndTools/bookmark")
|
||||||
public static let gear = ImageAsset(name: "ObjectsAndTools/gear")
|
public static let gear = ImageAsset(name: "ObjectsAndTools/gear")
|
||||||
public static let houseFill = ImageAsset(name: "ObjectsAndTools/house.fill")
|
|
||||||
public static let house = ImageAsset(name: "ObjectsAndTools/house")
|
|
||||||
public static let magnifyingglassFill = ImageAsset(name: "ObjectsAndTools/magnifyingglass.fill")
|
|
||||||
public static let magnifyingglass = ImageAsset(name: "ObjectsAndTools/magnifyingglass")
|
|
||||||
public static let squareAndPencil = ImageAsset(name: "ObjectsAndTools/square.and.pencil")
|
|
||||||
public static let starFill = ImageAsset(name: "ObjectsAndTools/star.fill")
|
public static let starFill = ImageAsset(name: "ObjectsAndTools/star.fill")
|
||||||
public static let star = ImageAsset(name: "ObjectsAndTools/star")
|
public static let star = ImageAsset(name: "ObjectsAndTools/star")
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ struct SystemTheme: Theme {
|
||||||
let sidebarBackgroundColor = Asset.Theme.System.sidebarBackground.color
|
let sidebarBackgroundColor = Asset.Theme.System.sidebarBackground.color
|
||||||
|
|
||||||
let tabBarBackgroundColor = Asset.Theme.System.tabBarBackground.color
|
let tabBarBackgroundColor = Asset.Theme.System.tabBarBackground.color
|
||||||
let tabBarItemSelectedIconColor = ThemeService.tintColor
|
let tabBarItemSelectedIconColor = Asset.Colors.brand.color
|
||||||
let tabBarItemFocusedIconColor = Asset.Theme.System.tabBarItemInactiveIconColor.color
|
let tabBarItemFocusedIconColor = Asset.Theme.System.tabBarItemInactiveIconColor.color
|
||||||
let tabBarItemNormalIconColor = Asset.Theme.System.tabBarItemInactiveIconColor.color
|
let tabBarItemNormalIconColor = Asset.Theme.System.tabBarItemInactiveIconColor.color
|
||||||
let tabBarItemDisabledIconColor = Asset.Theme.System.tabBarItemInactiveIconColor.color
|
let tabBarItemDisabledIconColor = Asset.Theme.System.tabBarItemInactiveIconColor.color
|
||||||
|
|
|
@ -72,7 +72,6 @@ extension ThemeService {
|
||||||
tabBarAppearance.compactInlineLayoutAppearance = tabBarItemAppearance
|
tabBarAppearance.compactInlineLayoutAppearance = tabBarItemAppearance
|
||||||
|
|
||||||
tabBarAppearance.backgroundColor = theme.tabBarBackgroundColor
|
tabBarAppearance.backgroundColor = theme.tabBarBackgroundColor
|
||||||
tabBarAppearance.selectionIndicatorTintColor = ThemeService.tintColor
|
|
||||||
UITabBar.appearance().standardAppearance = tabBarAppearance
|
UITabBar.appearance().standardAppearance = tabBarAppearance
|
||||||
UITabBar.appearance().scrollEdgeAppearance = tabBarAppearance
|
UITabBar.appearance().scrollEdgeAppearance = tabBarAppearance
|
||||||
UITabBar.appearance().barTintColor = theme.tabBarBackgroundColor
|
UITabBar.appearance().barTintColor = theme.tabBarBackgroundColor
|
||||||
|
|
|
@ -13,7 +13,7 @@ public final class CircleAvatarButton: AvatarButton {
|
||||||
@Published public var needsHighlighted = false
|
@Published public var needsHighlighted = false
|
||||||
|
|
||||||
public var borderColor: UIColor = UIColor.systemFill
|
public var borderColor: UIColor = UIColor.systemFill
|
||||||
public var borderWidth: CGFloat = 1.0
|
public var borderWidth: CGFloat = 2.0
|
||||||
|
|
||||||
public override func updateAppearance() {
|
public override func updateAppearance() {
|
||||||
super.updateAppearance()
|
super.updateAppearance()
|
||||||
|
|
Loading…
Reference in New Issue