introducing umami datat push features
This commit is contained in:
parent
f8251d6169
commit
0555e3d5c4
|
|
@ -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 };
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user