The asset config now carries every site language's label/subject variant
(pagerite:contact-langs, JSON); the client re-picks the dialog title and
mailto subject from <html lang> as the language selector swaps pages in
place (the config block itself is not swapped).
The visitor-facing dialog no longer has hardcoded English: empty state
and intro fields are glyphs (✉️, 👤/📧), the composer placeholder and
toolbar are symbols, upload errors flag the file with ⚠️ (details to
the console), and closing a conversation is a two-tap-armed ⟲ instead
of a text confirm(). The admin inbox stays English.
- `{contact}` or `{contact: Label}` to add a button on article, additional access on top right corner letter emoji
- Article button styling (with custom shape for Nitro theme)
- Visitor contact panel: live thread over the activity socket, rich composer (formatting,/file uploads), PoW anti-spam gating, contact email reveal after proof
- Admin inbox in the same overlay: thread list, replies, read marking, unread badge; background watch keeps badge and notifications live
- Messaging site settings (button label, email subject, our email) with per-language overrides and auto-translation support
- Browser notifications for new messages on both sides, with click-through to the new content
- Close conversation: archives the thread for admins, starts visitors fresh
Reviewed-on: https://git.zi.fi/LeoVasanko/pagerite/pulls/3