summaryrefslogtreecommitdiff
path: root/src/client/app/common/views/directives/particle.ts
blob: 5f8413117f4b94d2d4a7f3ffc10b0b5964697eeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import Particle from '../components/particle.vue';

export default {
	bind(el, binding, vn) {
		if (vn.context.$store.state.device.reduceMotion) return;

		el.addEventListener('click', () => {
			if (binding.value === false) return;

			const rect = el.getBoundingClientRect();

			const x = rect.left + (el.clientWidth / 2);
			const y = rect.top + (el.clientHeight / 2);

			const particle = new Particle({
				parent: vn.context,
				propsData: {
					x,
					y
				}
			}).$mount();

			document.body.appendChild(particle.$el);
		});
	}
};