working on a new backend fetch way

This commit is contained in:
Antoine M 2024-02-21 14:45:38 +01:00
parent 86a5d4da74
commit 1a87fd49be

View File

@ -6,9 +6,9 @@ const BASE_URL = "https://staysafe.deligraph.info/wp-json/wp/v2";
const BASE_CUSTOM_URL = "https://staysafe.deligraph.info/wp-json/lhoist-datas"; const BASE_CUSTOM_URL = "https://staysafe.deligraph.info/wp-json/lhoist-datas";
const WORDPRESS_API_TOKEN = process.env.REACT_APP_WORDPRESS_API_TOKEN; const WORDPRESS_API_TOKEN = process.env.REACT_APP_WORDPRESS_API_TOKEN;
const UMAMI_API_TOKEN = process.env.REACT_APP_UMAMI_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_WEBSITE_ID = process.env.REACT_APP_UMAMI_WEBSITE_ID;
const UMAMI_API_BASE_ENDPOINT = process.env.REACT_APP_UMAMI_API_BASE_ENDPOINT; // const UMAMI_API_BASE_ENDPOINT = process.env.REACT_APP_UMAMI_API_BASE_ENDPOINT;
const umamiBaseEndpoint = process.env.REACT_APP_UMAMI_API_BASE_ENDPOINT; const umamiBaseEndpoint = process.env.REACT_APP_UMAMI_API_BASE_ENDPOINT;
@ -30,6 +30,7 @@ function useWordpressCustomData(url) {
return data; return data;
} }
function useWordpressData(url) { function useWordpressData(url) {
const [data, setData] = useState(); const [data, setData] = useState();
@ -46,6 +47,29 @@ function useWordpressData(url) {
return data; return data;
} }
async function postGameStatisticsDataBackend(requestDatas) {
const requestDataExample = {
user_locale: "zz",
user_country: "France",
level_post_id: 43,
level_score: 3,
level_completion_time: 800,
};
const options = {
method: "POST",
url: "http://localhost:8000/post-statistics",
data: requestDataExample,
};
axios.request(options)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});
}
async function postGameStatisticsData(requestDatas) { async function postGameStatisticsData(requestDatas) {
// console.log(requestDatas); // console.log(requestDatas);
// const locals = ["FR", "BE", "DE", "NL", "UK", "US", "FR"]; // const locals = ["FR", "BE", "DE", "NL", "UK", "US", "FR"];
@ -101,80 +125,87 @@ async function postGameStatisticsData(requestDatas) {
} }
} }
function useUmamiDatas() { // function useUmamiDatas() {
const umamiUrl = "https://umami.deligraph.be/api/websites"; // const umamiUrl = "https://umami.deligraph.be/api/websites";
const bearerToken = // const bearerToken =
"Ii96P0XNdBE0gD0l8lX5Qf3+Lt7T0RsEoWUjf8qNaifyPbhi/PXmGygkIHuGbMm6bJ9iHPe9pIzfBJeFvG+ehlQSd4MWuWr3xKEmxtcwDMOlN4aDo3rlSf9phB02sjx0QcBhngfl0p9g/nI30d1XTWvHspw5BCNT7+NRzb5gDa24tbbSS/a/wL9+TN+mCjCUsaMOt9o/t0D3kNtE6qSgK4gAFijbDBXsgjbiPwb3HemrEb19JfY9gtMMpwBVE2KKst0j6kyKUWWDeJiBz3LQHO+FSthwG9tQCovVFgHNzLh+L+6fcmUkEpDC3nA62UCPmVAy3zJgjFWgtVZdXaSeFm7mLF1/Wsqk3g=="; // "Ii96P0XNdBE0gD0l8lX5Qf3+Lt7T0RsEoWUjf8qNaifyPbhi/PXmGygkIHuGbMm6bJ9iHPe9pIzfBJeFvG+ehlQSd4MWuWr3xKEmxtcwDMOlN4aDo3rlSf9phB02sjx0QcBhngfl0p9g/nI30d1XTWvHspw5BCNT7+NRzb5gDa24tbbSS/a/wL9+TN+mCjCUsaMOt9o/t0D3kNtE6qSgK4gAFijbDBXsgjbiPwb3HemrEb19JfY9gtMMpwBVE2KKst0j6kyKUWWDeJiBz3LQHO+FSthwG9tQCovVFgHNzLh+L+6fcmUkEpDC3nA62UCPmVAy3zJgjFWgtVZdXaSeFm7mLF1/Wsqk3g==";
const [data, setData] = useState(); // const [data, setData] = useState();
useEffect(() => { // useEffect(() => {
const dataFetch = async () => { // const dataFetch = async () => {
const data = await ( // const data = await (
await fetch(umamiUrl, { // await fetch(umamiUrl, {
method: "GET", // method: "GET",
headers: { // headers: {
"Content-Type": "application/json", // "Content-Type": "application/json",
Authorization: `Bearer ${bearerToken}`, // Authorization: `Bearer ${bearerToken}`,
}, // },
}) // })
).json(); // ).json();
setData(data); // 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,
postGameStatisticsDataBackend,
postGameStatisticsData,
// useUmamiDatas,
// useUmamiUpdateDatas,
}; };
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, postGameStatisticsData, useUmamiDatas, useUmamiUpdateDatas };