@freshheads/cookie-guard
TypeScript icon, indicating that this package has built-in type declarations

4.0.1 • Public • Published

FHCookieGuard

A set of hooks to use to save a user's cookie preferences in a cookie(🥲).

The cookie settings are stored as follows:

'["functional","analytics","marketing"]'

Setup with @freshheads/analytics-essentials

Usage

You can use the build in cookieguard to get up and running quickly or use the provided hooks to make your own.

The cookiebanner makes use of Context to share the cookie state throughout the app.

  • Wrap your app with the Provider:
import { CookieGuardContextProvider } from '@freshheads/cookie-guard';

<CookieGuardContextProvider>
    <App />
</CookieGuardContextProvider>;
  • The provider optionally accepts:

    • onCookiesChange
    • onCookiesSet
    • onCookiesCleared

    e.g. If you want to change the Google consent options based on the cookie settings

  • Add the premade Cookie Banner to your app

import {
    CookieBanner,
    CookieCategorySettings,
    CookieGuardProvider
} from '@freshheads/cookie-guard';
import '@freshheads/cookie-guard/dist/style.css';

const CookieGuardProps = {
    title: 'Onze site maakt gebruik van cookies.',
    description:
        'Wij gebruiken cookies voor de werking van de website, analyse en verbetering en marketingdoeleinden.',
    acceptAllLabel: 'Alle cookies accepteren',
    saveLabel: 'Opslaan',
    requiredLabel: 'Noodzakelijke cookies'.
    functionalLabel: 'Functionele cookies',
    analyticsLabel: 'Analytische cookies',
    marketingLabel: 'Marketing cookies',
}

return (
    <CookieGuardProvider>
        {/** your app components **/}
        <CookieBanner {...CookieGuardProps} />
    </CookieGuardProvider>
);
  • To style look at the source code /src/popupstyles.css and import your own css.

  • You can also use the hooks to make your own custom cookiebanner

Examples

Readme

Keywords

none

Package Sidebar

Install

npm i @freshheads/cookie-guard

Weekly Downloads

0

Version

4.0.1

License

MIT

Unpacked Size

123 kB

Total Files

16

Last publish

Collaborators

  • tech-freshheads