- Add subtitle below the toolbar title to indicate the state of the filter - Add settings icon to take user to the notification settings page, and thus make that more discoverable Testing ------- PASS Device: iPhone 13 mini iOS: 17.6.1 Coverage: 1. Switching back and forth between the notifications tab and other tabs causes subtitle to show/hide as expected in both filter options (all, friends) 2. Subtitle follows the friends filter 3. Subtitle shows after restarting the app 4. Settings icon appears and takes user to the notification setting view 5. Notification settings can be updated from that view. Changelog-Changed: Improve notification view filtering UX Closes: https://github.com/damus-io/damus/issues/2480 Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
45 lines
1.1 KiB
Swift
45 lines
1.1 KiB
Swift
//
|
|
// FriendsButton.swift
|
|
// damus
|
|
//
|
|
// Created by William Casarin on 2023-04-21.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct FriendsButton: View {
|
|
@Binding var filter: FriendFilter
|
|
|
|
var body: some View {
|
|
Button(action: {
|
|
switch self.filter {
|
|
case .all:
|
|
self.filter = .friends_of_friends
|
|
case .friends_of_friends:
|
|
self.filter = .all
|
|
}
|
|
}) {
|
|
if filter == .friends_of_friends {
|
|
LINEAR_GRADIENT
|
|
.mask(Image("user-added")
|
|
.resizable()
|
|
).frame(width: 28, height: 28)
|
|
} else {
|
|
Image("user-added")
|
|
.resizable()
|
|
.frame(width: 28, height: 28)
|
|
.foregroundColor(.gray)
|
|
}
|
|
}
|
|
.buttonStyle(.plain)
|
|
}
|
|
}
|
|
|
|
struct FriendsButton_Previews: PreviewProvider {
|
|
@State static var enabled: FriendFilter = .all
|
|
|
|
static var previews: some View {
|
|
FriendsButton(filter: $enabled)
|
|
}
|
|
}
|