import {create} from 'zustand';
import * as rsssl_api from "../../utils/api";
const useCaptchaData = create(( set, get ) => ({
reloadCaptcha: false,
setReloadCaptcha: ( value ) => set({ reloadCaptcha: value }),
verifyCaptcha: async ( responseToken ) => {
try {
const response = await rsssl_api.doAction('verify_captcha', { responseToken: responseToken });
// Handle the response
if ( !response ) {
console.error('No response received from the server.');
return;
}
return response;
} catch (error) {
console.error('Error:', error);
}
},
removeRecaptchaScript: async(source = 'recaptcha') => {
if (window.grecaptcha) {
window.grecaptcha.reset();
delete window.grecaptcha;
}
const scriptTags = document.querySelectorAll('script[src^="https://www.google.com/recaptcha/api.js"]');
// For each found script tag
scriptTags.forEach((scriptTag) => {
scriptTag.remove(); // Remove it
});
const rescriptTags = document.querySelectorAll('script[src^="https://www.google.com/recaptcha/api.js"]');
// now we check if reCaptcha was still rendered.
const recaptchaContainer = document.getElementById('recaptchaContainer');
if (recaptchaContainer) {
recaptchaContainer.remove();
}
},
}));
export default useCaptchaData;