diff --git a/packages/cookie-banner/src/components/category.ts b/packages/cookie-banner/src/components/category.ts index a9d79d7b1..3b59c1918 100644 --- a/packages/cookie-banner/src/components/category.ts +++ b/packages/cookie-banner/src/components/category.ts @@ -18,7 +18,7 @@ import { ProboElement } from "./base"; export class ProboCategory extends ProboElement { get categoryName(): string { - return this.getAttribute("name") ?? ""; + return this.getAttribute("name") ?? "Other"; } get required(): boolean { diff --git a/packages/cookie-banner/src/components/cookie-banner-root.ts b/packages/cookie-banner/src/components/cookie-banner-root.ts index 2b0f98c5a..f5f79ac6e 100644 --- a/packages/cookie-banner/src/components/cookie-banner-root.ts +++ b/packages/cookie-banner/src/components/cookie-banner-root.ts @@ -53,6 +53,13 @@ export class ProboCookieBannerRoot extends ProboElement implements ProboRootElem this.initClient(); } + disconnectedCallback(): void { + if (this._client) { + this._client.destroy(); + this._client = null; + } + } + setState(state: ProboState): void { const prev = this._state; this._state = state; diff --git a/packages/cookie-banner/src/components/preference-panel.ts b/packages/cookie-banner/src/components/preference-panel.ts index d680ffd91..552947acb 100644 --- a/packages/cookie-banner/src/components/preference-panel.ts +++ b/packages/cookie-banner/src/components/preference-panel.ts @@ -26,6 +26,9 @@ export class ProboPreferencePanel extends ProboElement { private onStateChange = (e: Event): void => { const { state } = (e as CustomEvent).detail; this.hidden = state !== "panel"; + if (state === "panel") { + (this.root as ProboCookieBannerRoot).resetDraft(); + } }; connectedCallback(): void { @@ -34,12 +37,6 @@ export class ProboPreferencePanel extends ProboElement { if (this.root) { this.root.addEventListener("probo-state", this.onStateChange); - this.root.addEventListener("probo-state", (e: Event) => { - const { state } = (e as CustomEvent).detail; - if (state === "panel") { - (this.root as ProboCookieBannerRoot).resetDraft(); - } - }); } this.scheduleValidation(() => this.validate());