Skip to content

Commit 04c42e8

Browse files
committed
WIP with add-to-wishlist
1 parent ecedcdf commit 04c42e8

1 file changed

Lines changed: 48 additions & 0 deletions

File tree

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
declare(strict_types=1);
3+
4+
/** @version 0.0.6 */
5+
6+
use Magento\Framework\View\Element\Template;
7+
8+
/** @var Template $block */
9+
?>
10+
<script>
11+
document.addEventListener('alpine:init', () => {
12+
const element = document.querySelector('[data-js-component="LumaAddToWishlist"]');
13+
if (!element) {
14+
return;
15+
}
16+
17+
element.addEventListener('click', (e) => {
18+
e.preventDefault();
19+
20+
const customerSection = Alpine.store('LumaLocalStorage').get('customer');
21+
if (!customerSection.fullname) {
22+
Alpine.store('LumaMessageStore').addNoticeMessage('<?= __('You need to login to use the wishlist') ?>');
23+
return;
24+
}
25+
26+
const data = JSON.parse(element.getAttribute('data-post'));
27+
data.data.form_key = window.FORM_KEY;
28+
29+
const form = document.createElement('form');
30+
form.method = 'POST';
31+
form.action = data.action;
32+
form.style.display = 'none';
33+
34+
Object.entries(data.data).forEach(pair => {
35+
const key = pair[0];
36+
const value = pair[1];
37+
const field = document.createElement('input');
38+
field.type = 'hidden';
39+
field.name = key;
40+
field.value = value;
41+
form.appendChild(field);
42+
});
43+
44+
document.body.appendChild(form);
45+
form.submit();
46+
})
47+
});
48+
</script>

0 commit comments

Comments
 (0)