1
0
mirror of https://github.com/XFox111/my-website.git synced 2026-04-22 07:28:01 +03:00
Files
my-website/app/_components/RevokeConsentButton.tsx

31 lines
730 B
TypeScript

"use client";
import Button from "@/_components/Button";
import React, { useCallback, useEffect, useState } from "react";
import { getCookieChoice, rejectCookies } from "../_utils/analytics/client";
const RevokeConsentButton: React.FC = () =>
{
const [hasConsent, setHasConsent] = useState<boolean>(false);
useEffect(() =>
{
// eslint-disable-next-line react-hooks/set-state-in-effect
setHasConsent(getCookieChoice() === "accepted");
}, []);
const revoke = useCallback(() =>
{
rejectCookies();
setHasConsent(false);
window.alert("Your consent has been revoked");
}, []);
if (!hasConsent)
return null;
return <Button onClick={ revoke }>Revoke my consent</Button>;
};
export default RevokeConsentButton;