1+ using System ;
12using Flarial . Launcher . Xaml ;
23using Windows . UI . Core ;
34using Windows . UI . Xaml ;
@@ -11,8 +12,8 @@ namespace Flarial.Launcher.Controls;
1112
1213abstract class PromotionImageButton : XamlElement < Image >
1314{
14- protected abstract string ImageUri { get ; }
15- protected abstract string NavigateUri { get ; }
15+ protected abstract string ? ImageUri { get ; }
16+ protected abstract string ? NavigateUri { get ; }
1617
1718 static readonly CoreCursor _hand = new ( CoreCursorType . Hand , 0 ) ;
1819 static readonly CoreCursor _arrow = new ( CoreCursorType . Arrow , 0 ) ;
@@ -25,8 +26,8 @@ protected PromotionImageButton() : base(new())
2526
2627 ( ~ this ) . Source = new BitmapImage
2728 {
28- UriSource = new ( ImageUri ) ,
29- DecodePixelType = DecodePixelType . Logical
29+ DecodePixelType = DecodePixelType . Logical ,
30+ UriSource = ImageUri is { } ? new ( ImageUri ) : null
3031 } ;
3132
3233 ( ~ this ) . ImageOpened += OnImageOpened ;
@@ -51,12 +52,19 @@ unsafe static void OnImagePointerPressed(object sender, RoutedEventArgs args)
5152 static void OnImagePointerExited ( object sender , RoutedEventArgs args ) => CoreWindow . GetForCurrentThread ( ) . PointerCursor = _arrow ;
5253}
5354
55+ sealed class StubImageButton : PromotionImageButton
56+ {
57+ protected override string ImageUri => null ! ;
58+ protected override string NavigateUri => null ! ;
59+ }
60+
5461sealed class LiteByteHostingImageButton : PromotionImageButton
5562{
5663 protected override string ImageUri => "https://litebyte.co/images/flarial.png" ;
5764 protected override string NavigateUri => "https://litebyte.co/minecraft?utm_source=flarial-client&utm_medium=app&utm_campaign=bedrock-launch" ;
5865}
5966
67+ [ Obsolete ( "" , true ) ]
6068sealed class CollapseNetworkImageButton : PromotionImageButton
6169{
6270 protected override string ImageUri => "https://collapsemc.com/assets/other/ad-banner.png" ;
0 commit comments