A Snackbar/Toast Implementation independent of CSS framework especially for Nuxt 3
Nuxt Snackbar provides a wrapper for vue3-snackbar to be used with Nuxt.js
nuxt-snackbar dependency to your projectnpx nuxi@latest module add snackbar
nuxt-snackbar to the modules section of nuxt.config.tsexport default defineNuxtConfig({
modules: ['nuxt-snackbar'],
snackbar: {
bottom: true,
right: true,
duration: 5000
}
})
app.vue<template>
<div>
<main>
Main Content
</main>
<NuxtSnackbar />
</div>
</template>
app.vue should look something like this. <template>
<NuxtLayout>
<NuxtPage />
<NuxtSnackbar />
</NuxtLayout>
</template>
layouts/default.vue instead<template>
<div>
<slot />
<NuxtSnackbar />
</div>
</template>
useSnackbar() to use snackbar methods and features.const snackbar = useSnackbar();
snackbar.add({
type: 'success',
text: 'This is a snackbar message'
})
export default {
methods: {
successMessage() {
this.$snackbar.add({
type: 'success',
text: 'This is a snackbar message'
})
}
}
}
That's it! You can now use Nuxt Snackbar in your Nuxt app ✨
# Install dependencies
yarn install
# Generate type stubs
yarn dev:prepare
# Develop with the playground
yarn dev
# Build the playground
yarn dev:build
# Run ESLint
yarn lint
# Run Vitest
yarn test
yarn test:watch
# Release new version
yarn release