diff --git a/src/hooks/WordpressFetchData.js b/src/hooks/WordpressFetchData.js index e6f13ff..2c39d7d 100644 --- a/src/hooks/WordpressFetchData.js +++ b/src/hooks/WordpressFetchData.js @@ -1,10 +1,17 @@ import { useEffect, useState } from "react"; import { useLanguage } from "./useLanguage"; +import axios from "axios"; const BASE_URL = "http://lhoist-stay-safe.local/wp-json/wp/v2"; const BASE_CUSTOM_URL = "http://lhoist-stay-safe.local/wp-json/lhoist-datas"; const apiToken = process.env.REACT_APP_API_TOKEN; +const UMAMI_API_TOKEN = process.env.REACT_APP_UMAMI_API_TOKEN; +const UMAMI_WEBSITE_ID = process.env.REACT_APP_UMAMI_WEBSITE_ID; +const UMAMI_API_BASE_ENDPOINT = process.env.REACT_APP_UMAMI_API_BASE_ENDPOINT; + +const umamiBaseEndpoint = process.env.REACT_APP_UMAMI_API_BASE_ENDPOINT; + function useWordpressCustomData(url) { const [data, setData] = useState(); const { language } = useLanguage(); @@ -37,11 +44,12 @@ function useWordpressData(url) { return data; } -async function postWordpressStatisticsData(url) { + +async function postWordpressStatisticsData(url, language) { const requestData = { - user_name: "Antoine", - user_locale: "fr", - user_country: "France", + user_name: "Michel", + user_locale: language, + user_country: "Belgium", level_post_id: 154, level_is_completed: 0, level_completion_time: 20000, @@ -68,4 +76,81 @@ async function postWordpressStatisticsData(url) { console.error(error); } } -export { useWordpressData, useWordpressCustomData, postWordpressStatisticsData }; + +function useUmamiDatas() { + const umamiUrl = "https://umami.deligraph.be/api/websites"; + const bearerToken = + "Ii96P0XNdBE0gD0l8lX5Qf3+Lt7T0RsEoWUjf8qNaifyPbhi/PXmGygkIHuGbMm6bJ9iHPe9pIzfBJeFvG+ehlQSd4MWuWr3xKEmxtcwDMOlN4aDo3rlSf9phB02sjx0QcBhngfl0p9g/nI30d1XTWvHspw5BCNT7+NRzb5gDa24tbbSS/a/wL9+TN+mCjCUsaMOt9o/t0D3kNtE6qSgK4gAFijbDBXsgjbiPwb3HemrEb19JfY9gtMMpwBVE2KKst0j6kyKUWWDeJiBz3LQHO+FSthwG9tQCovVFgHNzLh+L+6fcmUkEpDC3nA62UCPmVAy3zJgjFWgtVZdXaSeFm7mLF1/Wsqk3g=="; + + const [data, setData] = useState(); + + useEffect(() => { + const dataFetch = async () => { + const data = await ( + await fetch(umamiUrl, { + method: "GET", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${bearerToken}`, + }, + }) + ).json(); + + setData(data); + }; + + dataFetch(); + }, []); + return data; +} + +function useUmamiUpdateDatas() { + const [result, setResult] = useState(null); // État local pour stocker le résultat + + const eventName = "event-name-de-test"; + + const UMAMI_SEND_URL = UMAMI_API_BASE_ENDPOINT + "/send"; + + const dataPayload = { + payload: { + hostname: window.location.hostname, + language: navigator.language, + referrer: document.referrer, + screen: `${window.screen.width}x${window.screen.height}`, + title: document.title, + url: window.location.pathname, + website: UMAMI_WEBSITE_ID, + name: "puzzle-1-complete", + data: { + lang: "fr", + country: "France", + level_post_id: 154, + level_is_completed: 0, + level_completion_time: 20000, + level_score: 12, + }, + }, + type: "event", + }; + useEffect(() => { + const dataFetch = async () => { + try { + await axios.post(UMAMI_SEND_URL, dataPayload, { + headers: { + "User-Agent": navigator.userAgent, + }, + }); + setResult(`Event '${eventName}' sent successfully to Umami.`); + console.log(`Event '${eventName}' sent successfully to Umami.`); + } catch (error) { + setResult("Error sending Umami event:"); + console.error("Error sending Umami event:", error); + } + }; + + dataFetch(); + }, []); + return result; +} + +export { useWordpressData, useWordpressCustomData, postWordpressStatisticsData, useUmamiDatas, useUmamiUpdateDatas };