dokumentacja · dla deweloperów
SDK dla frameworków
Lekkie pakiety, które umieszczają tag w head każdej strony tak, jak oczekuje Twój framework, plus kilka komponentów i helperów. Prawdziwą pracę wykonuje runtime; SDK poprawnie go umieszczają.
Wspólny zestaw opcji
Każde SDK przyjmuje te same opcje: site (wymagana, Twój klucz publiczny), env (production lub preview), api, runtimeUrl, lang, declaration i auto (domyślnie true; ustaw false, by samodzielnie umieścić tag komponentem pakietu).
Next.js
// app/layout.tsx
import Script from 'next/script';
<Script src="https://app.cookiecrumbs.eu/runtime/cc.js"
strategy="beforeInteractive"
data-cc-site="pk_live_…" data-cc-env="production" />
strategy="beforeInteractive" utrzymuje wartości domyślne zgody przed hydratacją i jakimkolwiek menedżerem tagów. Pakiet @cookiecrumbs/next to opakowuje i dodaje helpery serwerowe oraz wspólne komponenty.
Astro
npm i @cookiecrumbs/astro
// astro.config.mjs
import { defineConfig } from 'astro/config';
import cookiecrumbs from '@cookiecrumbs/astro';
export default defineConfig({
integrations: [cookiecrumbs({ site: 'pk_live_…', env: 'production' })],
});
Integracja wstawia tag jako pierwszy element head każdej strony: w czasie budowania dla stron prerenderowanych, przy każdym żądaniu w SSR. Z auto: false sam umieszczasz <CookieCrumbs /> z @cookiecrumbs/astro/CookieCrumbs.astro w swoim layoucie. Middleware wypełnia serwerowy czytnik cookie.
Nuxt
npm i @cookiecrumbs/nuxt
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@cookiecrumbs/nuxt'],
cookiecrumbs: { site: 'pk_live_…', env: 'production' },
});
Moduł wstawia skrypt na początek app.head.script z tagPriority: 'critical', przed chunkiem wejściowym Nuxt. Automatycznie importuje useConsent(), composable udostępniający status, consent, regime, country, lang, version, consentId, isGranted, accept, reject, set, open, close, withdraw, setLang, plus trzy komponenty.
SvelteKit
npm i @cookiecrumbs/sveltekit
// src/hooks.server.ts
import { cookiecrumbsHandle } from '@cookiecrumbs/sveltekit/server';
export const handle = cookiecrumbsHandle({ site: 'pk_live_…', env: 'production' });
Hook wstawia tag jako pierwszy element head każdej odpowiedzi HTML i ustawia event.locals.consent. Połącz z innymi hookami przez sequence(). Umieść %cookiecrumbs.head% w src/app.html, by samodzielnie wybrać dokładną pozycję. Pakiet dostarcza komponenty Svelte ConsentGate, CookieDeclaration i ManageCookiesLink oraz store’y zgody.
React (czysty)
Dla Vite, CRA i podobnych: dodaj tag do index.html przed bundle’em, a potem używaj API runtime z dowolnego miejsca w aplikacji. @cookiecrumbs/react dostarcza wspólne komponenty dla drzew React.
Wspólne komponenty
- ConsentGate: renderuje dzieci tylko wtedy, gdy kategoria jest przyznana; w przeciwnym razie pokazuje Twój fallback.
- CookieDeclaration: montuje publiczną listę cookies inline na dowolnej stronie.
- ManageCookiesLink: element ponownego otwarcia jako zwykły link do stopki.