64 lines
2.0 KiB
JavaScript
64 lines
2.0 KiB
JavaScript
// internal
|
|
import BasePage from "../base.js";
|
|
// vendor
|
|
import { Altcha } from "../../vendor/altcha.js";
|
|
|
|
export default class PageContact extends BasePage {
|
|
static hash = hashPageContact;
|
|
|
|
constructor(router) {
|
|
super(router);
|
|
}
|
|
|
|
initialize() {
|
|
this.sharedInitialize();
|
|
// this.hookupALTCHAByLocalServer();
|
|
this.hookupButtonSubmitFormContactUs();
|
|
}
|
|
|
|
/*
|
|
hookupALTCHAByAPI() {
|
|
const form = document.querySelector(idContactForm);
|
|
const altchaWidget = form.querySelector('altcha-widget');
|
|
|
|
// Listen for verification events from the ALTCHA widget
|
|
if (altchaWidget) {
|
|
altchaWidget.addEventListener('serververification', function(event) {
|
|
// Create or update the hidden input for ALTCHA
|
|
let altchaInput = form.querySelector('input[name="altcha"]');
|
|
if (!altchaInput) {
|
|
altchaInput = document.createElement('input');
|
|
altchaInput.type = 'hidden';
|
|
altchaInput.name = 'altcha';
|
|
form.appendChild(altchaInput);
|
|
}
|
|
|
|
// Set the verification payload
|
|
altchaInput.value = event.detail.payload;
|
|
});
|
|
}
|
|
}
|
|
*/
|
|
hookupALTCHAByLocalServer() {
|
|
window.ALTCHA = { init: (config) => {
|
|
document.querySelectorAll(config.selector).forEach(el => {
|
|
new Altcha({
|
|
target: el,
|
|
props: {
|
|
challengeurl: config.challenge.url,
|
|
auto: 'onload'
|
|
}
|
|
}).$on('verified', (e) => {
|
|
config.challenge.onSuccess(e.detail.payload, el);
|
|
});
|
|
});
|
|
}};
|
|
}
|
|
|
|
hookupButtonSubmitFormContactUs() {
|
|
const button = document.querySelector('form input[type="submit"]');
|
|
button.classList.add(flagButton);
|
|
button.classList.add(flagButtonPrimary);
|
|
}
|
|
}
|