Snackify
A Vuetify snackbar for Nuxt
Snackify is a lightweight and versatile Nuxt module that leverages Vuetify to display snackbars (toasts) on your app or website. With a focus on ease of use and flexibility, Snackify offers a wide array of customizable options, allowing developers to create notifications that feel native to their app's design.
Features
- Easy integration with Nuxt and Vuetify
- Vuex store integrated for state management
- Customizable through module options
- Queue system for displaying multiple snackbars in sequence
Installation
npm install snackify
# OR
yarn add snackify
Usage
First, make sure you have Vuetify installed and configured with Nuxt. Then, add snackify
to your nuxt.config.js
file:
export default {
// ... other configuration
buildModules: [
// ... other build modules
'snackify',
],
snackify: {
// ... your custom options
},
}
Documentation
Options
You can pass options to snackify
through the snackify
property in your nuxt.config.js
file. The following options are available:
export default {
snackify: {
msg: 'Your default message',
color: 'success',
icon: true,
timeout: 3000,
top: true,
// ... other default options
}
}
Default Options
When using Snackify, the following default options are provided out of the box. You can override these by providing your own settings:
Option | Type | Default | Description |
---|---|---|---|
msg |
String | 'Success!' | The message text that appears in the snackbar. |
icon |
Boolean | true |
Controls the visibility of the icon in the snackbar. If true , an icon is displayed. |
color |
String | 'success' | Applies a color theme to the snackbar. The default is 'success', which typically styles the snackbar in green. |
class |
String | 'pb-6' | A class that can be used to add custom styling to the snackbar, pb-6 adds padding-bottom of 6 units. |
style |
String | '' | Any inline styles you want to apply directly to the snackbar component. |
timeout |
Number | 2000 | The duration in milliseconds that the snackbar will remain visible before automatically closing. |
top |
String | null | If set, the snackbar will appear at the top of the viewport. The value should be a valid CSS property. |
bottom |
String | null | If set, the snackbar will appear at the bottom of the viewport. The value should be a valid CSS property. |
left |
String | null | If set, the snackbar will align to the left of the viewport. The value should be a valid CSS property. |
right |
String | null | If set, the snackbar will align to the right of the viewport. The value should be a valid CSS property. |
Methods
To display a snackbar, use the $snackify
method injected into the Vue instance:
this.$snackify('This is a message', 'error')
You can also pass an object to customize the snackbar further:
this.$snackify({ msg: 'Hello World', color: 'info', timeout: 5000 })
Tests
In order to run the test suite, simply clone the repository and install its dependencies:
git clone https://github.com/basedwon/snackify.git
cd snackify
npm install
To run the tests:
npm test
Contributing
Thank you! Please see our contributing guidelines for details.
Donations
If you find this project useful and want to help support further development, please send us some coin. We greatly appreciate any and all contributions. Thank you!
Bitcoin (BTC):
1JUb1yNFH6wjGekRUW6Dfgyg4J4h6wKKdF
Monero (XMR):
46uV2fMZT3EWkBrGUgszJCcbqFqEvqrB4bZBJwsbx7yA8e2WBakXzJSUK8aqT4GoqERzbg4oKT2SiPeCgjzVH6VpSQ5y7KQ
License
snackify is MIT licensed.