| 1 |
import { useState, useEffect } from "@wordpress/element"; |
| 2 |
import axios from "axios"; |
| 3 |
|
| 4 |
const useGetOptions = (blocksSettings, modulesOptions, integrationOptions) => { |
| 5 |
const [success, setSuccess] = useState(true); |
| 6 |
|
| 7 |
const formData = new FormData(); |
| 8 |
formData.append("nonce", sp_pcp_block_settings.nonce); |
| 9 |
formData.append("action", "sp_smart_post_block_option"); |
| 10 |
formData.append("optionData", JSON.stringify(blocksSettings)); |
| 11 |
formData.append("modulesData", JSON.stringify(modulesOptions)); |
| 12 |
formData.append("integrations", JSON.stringify(integrationOptions)); |
| 13 |
|
| 14 |
const fetchApi = async (data) => { |
| 15 |
try { |
| 16 |
const response = await axios.post(ajaxurl, data); |
| 17 |
if (200 !== response.status) { |
| 18 |
setSuccess(false); |
| 19 |
} |
| 20 |
} catch (error) { |
| 21 |
setSuccess(false); |
| 22 |
console.error("Error fetching posts:", error.message); |
| 23 |
} |
| 24 |
}; |
| 25 |
|
| 26 |
useEffect(() => { |
| 27 |
fetchApi(formData); |
| 28 |
}, [blocksSettings, modulesOptions, integrationOptions]); |
| 29 |
|
| 30 |
return success; |
| 31 |
}; |
| 32 |
|
| 33 |
export default useGetOptions; |
| 34 |
|