diff --git a/MVMCoreUI/Atomic/Atoms/Views/TileletModel.swift b/MVMCoreUI/Atomic/Atoms/Views/TileletModel.swift index c6685364..620e0940 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/TileletModel.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/TileletModel.swift @@ -65,9 +65,9 @@ open class TileletModel: MoleculeModelProtocol { public func titleModel(delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) -> Tilelet.TitleModel? { guard let title else { return nil } let attrs = title.attributes?.toVDSLabelAttributeModel(delegateObject: delegateObject, additionalData: additionalData) - let style: Tilelet.TitleModel.TextStyle? = title.fontStyle?.vdsSubsetStyle() - if let style { - return .init(text: title.text, textAttributes: attrs, textStyle: style) + let style: TextStyle? = title.fontStyle?.vdsTextStyle() + if let style, let standardStyle = Tilelet.TitleModel.StandardStyle(rawValue: style.toStandardStyle().rawValue) { + return .init(text: title.text, textAttributes: attrs, standardStyle: standardStyle) } else { return .init(text: title.text, textAttributes: attrs) } @@ -75,11 +75,12 @@ open class TileletModel: MoleculeModelProtocol { public func subTitleModel(delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) -> Tilelet.SubTitleModel? { guard let subTitle else { return nil } - let style: Tilelet.SubTitleModel.TextStyle? = subTitle.fontStyle?.vdsSubsetStyle() - if let style { - return .init(text: subTitle.text, textStyle: style) + let attrs = subTitle.attributes?.toVDSLabelAttributeModel(delegateObject: delegateObject, additionalData: additionalData) + let style: TextStyle? = subTitle.fontStyle?.vdsTextStyle() + if let style, let standardStyle = Tilelet.SubTitleModel.StandardStyle(rawValue: style.toStandardStyle().rawValue) { + return .init(text: subTitle.text, textAttributes: attrs, standardStyle: standardStyle) } else { - return .init(text: subTitle.text) + return .init(text: subTitle.text, textAttributes: attrs) } } diff --git a/MVMCoreUI/Notification/NotificationContainerView.swift b/MVMCoreUI/Notification/NotificationContainerView.swift index f55fd5a2..62d05a9d 100644 --- a/MVMCoreUI/Notification/NotificationContainerView.swift +++ b/MVMCoreUI/Notification/NotificationContainerView.swift @@ -12,7 +12,6 @@ import MVMCore /// A simple container view that shows and hides a notification. public class NotificationContainerView: UIView { - public var currentModel: NotificationModel? public var currentNotificationView: UIView? lazy private var height = heightAnchor.constraint(equalToConstant: 0) @@ -82,17 +81,7 @@ extension NotificationContainerView: NotificationTransitionDelegateProtocol { @MainActor public func update(with model: NotificationModel, delegateObject: MVMCoreUIDelegateObject?) { - guard let currentModel = currentModel, - currentModel.type == model.type else { return } - guard let molecule = currentNotificationView as? MoleculeViewProtocol, - currentModel.molecule.moleculeName == model.molecule.moleculeName else { - // Log that we couldn't update. - if let errorObject = MVMCoreErrorObject(title: nil, message: nil, messageToLog: nil, code: ErrorCode.parsingJSON.rawValue, domain: ErrorDomainNative, location: "TopNotification update \(String(describing: model.type))") { - MVMCoreUILoggingHandler.addError(toLog: errorObject) - } - return - } - + guard let molecule = currentNotificationView as? MoleculeViewProtocol else { return } // Update molecule molecule.reset() molecule.set(with: model.molecule, delegateObject, nil) diff --git a/MVMCoreUI/Notification/NotificationHandler.swift b/MVMCoreUI/Notification/NotificationHandler.swift index 8a84227e..ff9d90ad 100644 --- a/MVMCoreUI/Notification/NotificationHandler.swift +++ b/MVMCoreUI/Notification/NotificationHandler.swift @@ -563,8 +563,9 @@ extension NotificationOperation { !isCancelled else { return } self.log(message: "Operation Updated") updateStopTimer() - Task { @MainActor in - transitionDelegate.update(with: notificationModel, delegateObject: delegateObject) + Task { + await transitionDelegate.update(with: notificationModel, delegateObject: delegateObject) + NotificationHandler.shared()?.onNotificationUpdated.send((notification, notificationModel)) } }