Add a Snackbar to your View - zaniluca/SwiftUISnackbar GitHub Wiki

To add a Snackbar to your SwiftUI View you must first import the package

import SwiftUISnackbar

Then to use it just add to your view the custom View's method .snackbar

Text("Hello, World!")
   .snackbar(...)
}

View props

To set the values on the Snackbar you can either define them individually like so

import SwiftUI
import SwiftUISnackbar

struct YourView: View {
    
    var title: String = "Snackbar Title"
    var text: String = "Hi I'm the Snackbar's text"
    @State var show: Bool = true
    
    var body: some View {
        Text("Hello, World!")
            .snackbar(isShowing: $show, title: title, text: text, style: .custom(.blue))
    }
}

SnackbarStore

Or by using the Wrapper SnackbarStore that you can use to interact with the Snackbar

The SnackbarStore lets you interact with the Snackbar via some methods as shown in This Page

You can use it as a @StateObject or as an @EnvironmentObject so that you can use it by injecting it in the View Hierarchy making it accessible from any children view

@StateObject

struct MyView: View {
    
    @StateObject var store = SnackbarStore()
    
    var body: some View {
        Text("Hello, World!")
            .snackbar(isShowing: $store.show, title: store.title, text: store.text, style: store.style, actionText: store.actionText, action: store.action)
    }
}

@EnvironmentObject

Remember to inject it in the View Hierarchy like so

MyView()
    .environmentObject(SnackbarStore())

And the you can use it normally

struct MyView: View {
    
    @EnvironmentObject var store: SnackbarStore
    
    var body: some View {
        Text("Hello, World!")
            .snackbar(isShowing: $store.show, title: store.title, text: store.text, style: store.style, actionText: store.actionText, action: store.action)
    }
}

Result Screenshot