@@ -26,6 +26,7 @@ public sealed class NotificationBuilder
2626 private string _title = string . Empty ;
2727 private string ? _body ;
2828 private string ? _imagePath ;
29+ private string ? _heroImagePath ;
2930 private readonly List < NotificationButton > _buttons = new List < NotificationButton > ( ) ;
3031 private INotificationHandler ? _handler ;
3132 private TimeSpan ? _expiration ;
@@ -58,13 +59,23 @@ public NotificationBuilder WithBody(string body)
5859 return this ;
5960 }
6061
61- /// <summary>Sets the absolute path of an image to display in the notification .</summary>
62+ /// <summary>Sets the absolute path of an image to display as a square thumbnail .</summary>
6263 public NotificationBuilder WithImage ( string imagePath )
6364 {
6465 _imagePath = imagePath ;
6566 return this ;
6667 }
6768
69+ /// <summary>
70+ /// Sets the absolute path of an image to display full-width above the notification title,
71+ /// preserving the image's aspect ratio. Windows only — ignored on Linux and macOS.
72+ /// </summary>
73+ public NotificationBuilder WithHeroImage ( string imagePath )
74+ {
75+ _heroImagePath = imagePath ;
76+ return this ;
77+ }
78+
6879 /// <summary>Adds an action button with an optional click callback.</summary>
6980 /// <param name="label">Text shown on the button.</param>
7081 /// <param name="callback">Called with the notification ID when the button is clicked.</param>
@@ -166,6 +177,7 @@ public NotificationRequest Build()
166177 title : _title ,
167178 body : _body ,
168179 imagePath : _imagePath ,
180+ heroImagePath : _heroImagePath ,
169181 buttons : _buttons . AsReadOnly ( ) ,
170182 handler : handler ,
171183 expiration : _expiration ,
0 commit comments