import { useCallback, useState } from "react"; import { ConfigTab } from "./tabs/ConfigTab"; import { ThemedBannerTab } from "./tabs/ThemedBannerTab"; import { HeadlessTab } from "./tabs/HeadlessTab"; import { DebugTab } from "./tabs/DebugTab"; export interface EventEntry { time: string; type: string; detail: unknown; } const tabs = [ { id: "config", label: "Config" }, { id: "themed", label: "Themed Banner" }, { id: "headless", label: "Headless" }, { id: "debug", label: "Debug" }, ] as const; type TabId = (typeof tabs)[number]["id"]; export function App() { const [activeTab, setActiveTab] = useState("config"); const [themedEvents, setThemedEvents] = useState([]); const [headlessEvents, setHeadlessEvents] = useState([]); const pushThemedEvent = useCallback((type: string, detail: unknown) => { setThemedEvents((prev) => [ { time: new Date().toISOString(), type, detail }, ...prev, ]); }, []); const pushHeadlessEvent = useCallback((type: string, detail: unknown) => { setHeadlessEvents((prev) => [ { time: new Date().toISOString(), type, detail }, ...prev, ]); }, []); return (

@probo/cookie-banner

SDK example — React

{activeTab === "config" && } {activeTab === "themed" && } {activeTab === "headless" && } {activeTab === "debug" && }
); }