fix(ui): portal tooltips, opaque glass, settings rail+stable height, notif test, channel help
- Tooltip: render in a portal with fixed positioning + edge-flip so hints are never clipped by overflow/stacking ancestors (fixes mispositioned/hidden bubbles app-wide). - Glass: raise opacity so overlay menus/panels stay readable over content. - SettingsPanel: vertical tab rail (no wrapping/jumping), content grid-stacked so the panel sizes to the tallest tab (stable height) and floats to its content height. - Notifications: the test toast is now a normal auto-dismissing toast (with countdown bar) that also plays the sound via a new force-sound flag. - Channel manager: explain priority/tags/hide and what 'Sync subscriptions' does; add a 'Channel priority' feed sort so priority is actually meaningful.
This commit is contained in:
parent
002579e5e5
commit
bc9b9a854c
7 changed files with 160 additions and 79 deletions
|
|
@ -41,6 +41,7 @@ export interface NotifyInput {
|
|||
action?: NotifAction;
|
||||
meta?: NotifMeta;
|
||||
requiresInteraction?: boolean;
|
||||
sound?: boolean; // force the alert tone (when sound is enabled) even for an info toast
|
||||
}
|
||||
|
||||
const HISTORY_KEY = "subfeed.notifications";
|
||||
|
|
@ -177,7 +178,7 @@ export function notify(input: NotifyInput): number {
|
|||
},
|
||||
];
|
||||
emit();
|
||||
if (config.sound && (requiresInteraction || level === "error" || level === "fatal")) {
|
||||
if (config.sound && (input.sound || requiresInteraction || level === "error" || level === "fatal")) {
|
||||
beep();
|
||||
}
|
||||
if (duration) setTimeout(() => dismiss(id), duration);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue