MessageCenterContent

@MainActor
public struct MessageCenterContent : View

The Message Center content view. This view can be used to construct a custom Message Center. For a more turnkey solution, see MessageCenterView.

To use this view, a MessageCenterController must be supplied. The controller will be shared between the list and message views, keeping the state in sync.

### Using it with your own navigation stack:

    @StateObject
    private var messageCenterController = MessageCenterController()

    var body: some View {
        NavigationStack(path: $messageCenterController.path) {
            MessageCenterContent(controller: messageCenterController)
                .navigationDestination(for: MessageCenterController.Route.self) { route in
                    switch(route) {
                    case .message(let messageID):
                        MessageCenterMessageViewWithNavigation(messageID: messageID)
                    @unknown default:
                        fatalError()
                    }
                }
        }
    }

### Using it in a deprecated NavigationView or UIKIt:

     @StateObject
     private var messageCenterController = MessageCenterController()

     var body: some View {
         NavigationView {
             ZStack {
                 MessageCenterContent(controller: self.messageCenterController)
                 NavigationLink(
                     destination: Group {
                         if case .message(let messageID) = self.messageCenterController.path.last {
                             MessageCenterMessageViewWithNavigation(messageID: messageID) {
                                 // Clear selection on close
                                 self.messageCenterController.path.removeAll()
                             }
                         } else {
                             EmptyView()
                         }
                     },
                     isActive: Binding(
                         get: { self.messageCenterController.path.last != nil },
                         set: { isActive in
                             if !isActive { self.messageCenterController.path.removeAll() }
                         }
                     )
                 ) {
                     EmptyView()
                 }
                 .hidden()
             }
         }
     }