mirror of
https://github.com/XFox111/my-website.git
synced 2026-04-22 07:28:01 +03:00
30 lines
668 B
TypeScript
30 lines
668 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(() =>
|
|
{
|
|
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;
|