Code/ui/ToastPanel.cs
using Sandbox.UI;
using Sandbox.UI.Construct;
public class ToastPanel : Panel
{
public ToastPanel( Toast toast )
{
AddClass( toast.Status.ToString() );
AddClass( toast.Position.ToString() );
Add.Icon( toast.Status switch
{
ToastStatus.Info => "info",
ToastStatus.Warning => "warning_amber",
ToastStatus.Success => "check_circle_outline",
ToastStatus.Error => "error_outline",
_ => "",
} );
Add.Label( toast.Text, "text" );
AddEventListener( "onclick", ( PanelEvent _ ) => Delete() );
Invoke( toast.Duration, () => Delete() );
}
protected override int BuildHash() => HashCode.Combine( 1 );
}