Show a little red badge when there are notifications (#1132)

This commit is contained in:
Nathan Mattes 2023-10-11 17:32:22 +02:00
parent d0e1c616f6
commit e11ada8277
2 changed files with 15 additions and 14 deletions

View File

@ -231,14 +231,15 @@ extension MainTabBarController {
let count = UserDefaults.shared.getNotificationCountWithAccessToken(accessToken: authentication.accessToken)
return count > 0
} ?? false
let image: UIImage
if hasUnreadPushNotification {
let imageConfiguration = UIImage.SymbolConfiguration(paletteColors: [.red, SystemTheme.tabBarItemNormalIconColor])
image = UIImage(systemName: "bell.badge", withConfiguration: imageConfiguration)!
} else {
image = Tab.notifications.image
}
let image: UIImage = {
if hasUnreadPushNotification {
return UIImage(systemName: "bell.badge")!
} else {
return Tab.notifications.image
}
}()
notificationViewController.tabBarItem.image = image.imageWithoutBaseline()
notificationViewController.navigationController?.tabBarItem.image = image.imageWithoutBaseline()
}

View File

@ -119,13 +119,13 @@ extension SidebarViewModel {
return count > 0
}()
let image: UIImage = {
if hasUnreadPushNotification {
return UIImage(systemName: "bell.badge")!
} else {
return MainTabBarController.Tab.notifications.image
}
}()
let image: UIImage
if hasUnreadPushNotification {
let imageConfiguration = UIImage.SymbolConfiguration(paletteColors: [.red, SystemTheme.tabBarItemNormalIconColor])
image = UIImage(systemName: "bell.badge", withConfiguration: imageConfiguration)!
} else {
image = MainTabBarController.Tab.notifications.image
}
cell.item?.image = image
cell.item?.activeImage = image.withTintColor(Asset.Colors.Brand.blurple.color, renderingMode: .alwaysOriginal)
cell.setNeedsUpdateConfiguration()