From a6e41c37cef5a1e9d2206745e91d27bb2f55218a Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Tue, 7 May 2024 17:10:47 +0200 Subject: [PATCH] Add moderation-warning-notification-type (IOS-264) --- Mastodon/Coordinator/SceneCoordinator.swift | 3 ++- .../NotificationView+Configuration.swift | 2 ++ .../Service/API/APIService+Notification.swift | 1 + .../Entity/Mastodon+Entity+Notification.swift | 17 ++++------------- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/Mastodon/Coordinator/SceneCoordinator.swift b/Mastodon/Coordinator/SceneCoordinator.swift index 7259f6540..acf985fee 100644 --- a/Mastodon/Coordinator/SceneCoordinator.swift +++ b/Mastodon/Coordinator/SceneCoordinator.swift @@ -131,7 +131,8 @@ final public class SceneCoordinator { from: from, transition: .show ) - + case .moderationWarning: + break case ._other: assertionFailure() break diff --git a/Mastodon/Scene/Notification/NotificationView/NotificationView+Configuration.swift b/Mastodon/Scene/Notification/NotificationView/NotificationView+Configuration.swift index 90c7a255e..0a3eda33f 100644 --- a/Mastodon/Scene/Notification/NotificationView/NotificationView+Configuration.swift +++ b/Mastodon/Scene/Notification/NotificationView/NotificationView+Configuration.swift @@ -52,6 +52,8 @@ extension NotificationView { quoteStatusView.configure(status: status) setQuoteStatusViewDisplay() } + case .moderationWarning: + setAuthorContainerBottomPaddingViewDisplay() case ._other: setAuthorContainerBottomPaddingViewDisplay() assertionFailure() diff --git a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Notification.swift b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Notification.swift index 2a30c2b7c..c6dab4cb2 100644 --- a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Notification.swift +++ b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Notification.swift @@ -60,6 +60,7 @@ extension APIService { .favourite, .poll, .status, + .moderationWarning ] case .mentions: return [ diff --git a/MastodonSDK/Sources/MastodonSDK/Entity/Mastodon+Entity+Notification.swift b/MastodonSDK/Sources/MastodonSDK/Entity/Mastodon+Entity+Notification.swift index d6a2f038d..787fea727 100644 --- a/MastodonSDK/Sources/MastodonSDK/Entity/Mastodon+Entity+Notification.swift +++ b/MastodonSDK/Sources/MastodonSDK/Entity/Mastodon+Entity+Notification.swift @@ -46,21 +46,10 @@ extension Mastodon.Entity.Notification { case favourite case poll case status - + case moderationWarning + case _other(String) - public static var knownCases: [NotificationType] { - return [ - .follow, - .followRequest, - .mention, - .reblog, - .favourite, - .poll, - .status - ] - } - public init?(rawValue: String) { switch rawValue { case "follow": self = .follow @@ -70,6 +59,7 @@ extension Mastodon.Entity.Notification { case "favourite": self = .favourite case "poll": self = .poll case "status": self = .status + case "moderation_warning": self = .moderationWarning default: self = ._other(rawValue) } } @@ -83,6 +73,7 @@ extension Mastodon.Entity.Notification { case .favourite: return "favourite" case .poll: return "poll" case .status: return "status" + case .moderationWarning: return "moderation_warning" case ._other(let value): return value } }