using BuyMeCofee.Maui.Services; using SkiaSharp.Views.Maui.Controls.Hosting; namespace BuyMeCofee.Maui; public static class BuyMeACoffeeExtensions { /// /// Registers Buy Me a Coffee controls and their dependencies (SkiaSharp). /// Call this in your MauiProgram.cs CreateMauiApp() builder. /// public static MauiAppBuilder UseBuyMeACoffee(this MauiAppBuilder builder) { builder.UseSkiaSharp(); return builder; } /// /// Registers Buy Me a Coffee controls with optional supporter verification. /// When an AccessToken is provided, controls with HideIfSupporter=true /// will auto-hide for verified supporters. /// /// /// builder.UseBuyMeACoffee(options => /// { /// options.AccessToken = "your-bmc-api-token"; /// options.CacheDuration = TimeSpan.FromHours(2); /// }); /// public static MauiAppBuilder UseBuyMeACoffee(this MauiAppBuilder builder, Action configure) { builder.UseSkiaSharp(); var options = new BmcOptions(); configure(options); if (!string.IsNullOrWhiteSpace(options.AccessToken)) { BmcConfiguration.SupporterService = new BmcSupporterService( options.AccessToken, options.CacheDuration); } return builder; } }