OpenHands / frontend /src /hooks /use-migrate-user-consent.ts
Backup-bdg's picture
Upload 565 files
b59aa07 verified
import React from "react";
import { handleCaptureConsent } from "#/utils/handle-capture-consent";
import { useSaveSettings } from "./mutation/use-save-settings";
export const useMigrateUserConsent = () => {
const { mutate: saveUserSettings } = useSaveSettings();
/**
* Migrate user consent to the settings store on the server.
*/
const migrateUserConsent = React.useCallback(
async (args?: { handleAnalyticsWasPresentInLocalStorage: () => void }) => {
const userAnalyticsConsent = localStorage.getItem("analytics-consent");
if (userAnalyticsConsent) {
args?.handleAnalyticsWasPresentInLocalStorage();
await saveUserSettings(
{ user_consents_to_analytics: userAnalyticsConsent === "true" },
{
onSuccess: () => {
handleCaptureConsent(userAnalyticsConsent === "true");
},
},
);
localStorage.removeItem("analytics-consent");
}
},
[],
);
return { migrateUserConsent };
};