Skip to content
Snippets Groups Projects
favourites.js 986 B
Newer Older
import Vue from "vue"
import Tooltip from "~/node_modules/bootstrap/js/dist/tooltip"

export default (context, inject) => {
	let liste_favoris = localStorage.favourites
		? JSON.parse(localStorage.favourites)
		: []

	let toggleFavourite = (uid, e) => {
		let btn = e.currentTarget
		let tooltip = new Tooltip(btn, {
			title: function () {
				return context.$favourites.list.includes(uid)
					? context.app.i18n.t("favoris.supprime")
					: context.app.i18n.t("favoris.enregistre")
			},
			html: true,
			trigger: "manual"
		})
		tooltip.show()
		setTimeout(() => {
			tooltip.hide()
		}, 1000)

		if (!context.$favourites.list.includes(uid)) {
			context.$favourites.list.push(uid)
		} else {
			context.$favourites.list = context.$favourites.list.filter(
				(item) => item !== uid
			)
		}

		localStorage.favourites = JSON.stringify(context.$favourites.list)
	}

	inject(
		"favourites",
		Vue.observable({
			list: liste_favoris,
			toggleFavourite: toggleFavourite
		})
	)
}