Widget Invite Card Test Page

This page tests the auto-popup invite card feature.

Expected behavior:

Popular Topics in Chat Panel

Theme Color Preview

Pick a color and Apply, or use a preset. Each click tears down the old widget (host + script + invite dismissal state) and re-embeds with data-color. "Test Broken Avatar" points data-avatar at a missing image to verify the 🤖 emoji fallback.

Assertion Panel

Runs on every widget (re)embed. Checks: derived default palette vs current hardcoded values (max per-channel Δ ≤ 8), derive(default) === DEFAULT_PALETTE, inline widget.js copy === theme.js copy, invalid input falls back to DEFAULT_PALETTE.

Current Page:

Storage Key: widget_invite_dismissed_<slug>_ (Task 10: key 按租户 slug 命名空间化)