Added a success event to the message bus for better ux

This commit is contained in:
krut_ni 2025-04-10 20:49:23 +02:00
parent 62a4549f89
commit ca98c5548e
3 changed files with 18 additions and 0 deletions

View File

@ -14,3 +14,18 @@ public readonly record struct Error(string Icon, string Message)
}); });
} }
} }
public readonly record struct Success(string Icon, string Message)
{
public void Show(ISnackbar snackbar)
{
var icon = this.Icon;
snackbar.Add(this.Message, Severity.Success, config =>
{
config.Icon = icon;
config.IconSize = Size.Large;
config.HideTransitionDuration = 600;
config.VisibleStateDuration = 10_000;
});
}
}

View File

@ -10,6 +10,7 @@ public enum Event
COLOR_THEME_CHANGED, COLOR_THEME_CHANGED,
PLUGINS_RELOADED, PLUGINS_RELOADED,
SHOW_ERROR, SHOW_ERROR,
SHOW_SUCCESS,
// Update events: // Update events:
USER_SEARCH_FOR_UPDATE, USER_SEARCH_FOR_UPDATE,

View File

@ -68,6 +68,8 @@ public sealed class MessageBus
public Task SendError(Error error) => this.SendMessage(null, Event.SHOW_ERROR, error); public Task SendError(Error error) => this.SendMessage(null, Event.SHOW_ERROR, error);
public Task SendSuccess(Success success) => this.SendMessage(null, Event.SHOW_SUCCESS, success);
public void DeferMessage<T>(ComponentBase? sendingComponent, Event triggeredEvent, T? data = default) public void DeferMessage<T>(ComponentBase? sendingComponent, Event triggeredEvent, T? data = default)
{ {
if (this.deferredMessages.TryGetValue(triggeredEvent, out var queue)) if (this.deferredMessages.TryGetValue(triggeredEvent, out var queue))