PhoenixKitWeb.Live.Notifications.Settings (phoenix_kit v1.7.225)

Copy Markdown View Source

"My Settings" — the current user's notification preferences.

The page is a single matrix: each notification type/sub-type is a row, and the columns are the destinations — In-app (the website inbox) and Email are always present (Email uses the account address, no setup), plus one column per additional channel (Telegram, …). A channel that needs connecting shows a Connect action in its header and disabled cells until it's linked. Destinations are independent — a type can go to Email but not the inbox, etc.

Each type also has an Aggregate control opening a popup where the delivery cadence per push channel is chosen (Immediate / Hourly / 12h / Daily / Weekly) — so "1,432 likes/hour" becomes one hourly summary instead of a flood.

In-app routing lives in notification_preferences; per-channel routing + cadence live in notification_channel:<key>. Access is gated by the base notifications permission; the scope's user is always the subject.