Add notification channels and a provider abstraction
Users get a notification_channels table (replacing users.ntfy_topic); pages fan
out to every enabled channel through a notify.Provider registry, with ntfy as
the first provider. Fallbacks are typed {type, address}. Schema edited in place:
existing databases must be recreated.
Claude-Session: https://claude.ai/code/session_016mBLURvJoMuUEr9cB2RpUN
This commit is contained in:
@@ -826,6 +826,16 @@ details[open] > summary { margin-bottom: 8px; }
|
||||
.pw-form { display: grid; gap: 12px; padding: 16px; }
|
||||
.account-fold { border-top: 1px solid var(--border); padding-top: 12px; }
|
||||
.account-fold .stacked-form { margin-top: 8px; }
|
||||
|
||||
/* Notification channels on the Account page: a row per channel, the kind and
|
||||
address on the left and its actions under or beside them. Wrapping rather
|
||||
than a fixed grid, because an address can be as long as a topic is secret. */
|
||||
.channels { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
|
||||
.channel { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
|
||||
.channel.off .channel-main { opacity: 0.6; }
|
||||
.channel-main { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; min-width: 0; }
|
||||
.channel-main code { overflow-wrap: anywhere; }
|
||||
.channel .row-actions { margin-top: 0; gap: 6px; }
|
||||
.form-ok {
|
||||
margin: 0; padding: 10px 12px;
|
||||
background: var(--ok-soft); color: var(--ok);
|
||||
|
||||
Reference in New Issue
Block a user