2 Commits
Author SHA1 Message Date
LeoVasanko cb046fe867 contact messages: live language switching, language-neutral visitor UI
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.
2026-09-29 03:29:21 +00:00
LeoVasanko d3c89e8c66 Visitor contact messaging: in site communication system with email readiness (#3)
- `{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
2026-09-29 03:01:00 +00:00