Adding a cookie consent banner
When in Europe and using cookies we need to show a cookie consent banner so our users are aware that we are using cookies on the site.
To add a cookie banner to your Nuxt.js application you can use the vue-cookieconsent-component
yarn add vue-cookieconsent-component
We then create a cookie box component with the props of message and link-label.
<template>
<CookieConsent
message="We use Cookies for user analysis and on-page improvements!"
link-label="Learn about cookies"
/>
</template>
And we then import our CookieConsent component.
<script>
import CookieConsent from 'vue-cookieconsent-component/src/components/CookieConsent.vue'
export default {
components: {
CookieConsent
}
}
</script>
We then add the styles so it looks how we want it to, positioned at the top or bottom of the page.
<style>
.cookie-consent {
display: flex;
padding: 10px;
align-items: center;
align-self: center;
justify-content: center;
border-bottom: 1px solid white;
color: white;
}
.cookie-consent button {
border: 1px solid white;
padding: 10px;
margin-left: 20px;
min-width: 140px;
}
</style>
We can also add a package called VueIfBot which will hide your cookie consent for search engine crawlers.
yarn add vue-if-bot
We then wrap our CookieConsent component in the IfBot component.
<template>
<VueIfBot>
<CookieConsent
message="We use Cookies for user analysis and on-page improvements!"
link-label="Learn about cookies"
/>
</VueIfBot>
</template>
Or you could create your own content
<cookie-consent>
<template slot="message">
This website uses cookies
<a class="btn btn-link" href="/my-cookies">Read more</a>
</template>
<template slot="button">
<button class="btn btn-info">Accept</button>
</template>
</cookie-consent>
And of course we must import it in our script tag
<script>
import VueIfBot from 'vue-if-bot/dist/vue-if-bot.es'
import CookieConsent from 'vue-cookieconsent-component/src/components/CookieConsent.vue'
export default {
components: {
VueIfBot,
CookieConsent
}
}
</script>
We can then add our component to our header or footer or wherever we want to place it.
<footer>
<TheCookieBox />
</footer>
And that's it. we now have a cookie consent banner on our site