Add swipe-action to dismiss (IOS-241)

This commit is contained in:
Nathan Mattes 2024-07-24 09:44:08 +02:00
parent f5bc847b30
commit ff48cc2f01

View File

@ -3,6 +3,7 @@
import UIKit import UIKit
import MastodonSDK import MastodonSDK
import MastodonCore import MastodonCore
import MastodonAsset
enum NotificationRequestsSection: Hashable { enum NotificationRequestsSection: Hashable {
case main case main
@ -84,6 +85,22 @@ extension NotificationRequestsTableViewController: UITableViewDelegate {
await DataSourceFacade.coordinateToNotificationRequest(request: request, provider: self) await DataSourceFacade.coordinateToNotificationRequest(request: request, provider: self)
} }
} }
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let dismissAction = UIContextualAction(style: .normal, title: "Dismiss") { [weak self] action, view, completion in
guard let request = self?.viewModel.requests[indexPath.row], let cell = tableView.cellForRow(at: indexPath) as? NotificationRequestTableViewCell else { return completion(false) }
self?.rejectNotificationRequest(cell, notificationRequest: request)
completion(true)
}
dismissAction.image = UIImage(systemName: "speaker.slash")
let swipeAction = UISwipeActionsConfiguration(actions: [dismissAction])
swipeAction.performsFirstActionWithFullSwipe = true
return swipeAction
}
} }
// MARK: - AuthContextProvider // MARK: - AuthContextProvider