diff --git a/ViewModels/MainViewModel.cs b/ViewModels/MainViewModel.cs index 53b6536..d4e4a21 100644 --- a/ViewModels/MainViewModel.cs +++ b/ViewModels/MainViewModel.cs @@ -144,14 +144,14 @@ public class MainViewModel : ViewModelBase // integration test can assert they point at real destinations. public const string ChannelUrl = "https://youtube.com/@llamachileshop"; public const string MastodonUrl = "https://mastodon.llamachile.tube/@gramps"; - // Tabled 2026-08-14: the billing provider is not chosen yet (Gumroad/Lemon Squeezy — TASK 23); + // Tabled 2026-08-14: billing provider chosen (Polar — polar.sh); // the subscription page (premium unlock) lands here once set up. Coffee/thanks URL is live. public const string PremiumUrl = ""; public const string CoffeeUrl = "https://buymeacoffee.com/llamachiley"; public static string AppVersionLabel => $"Version {typeof(MainViewModel).Assembly.GetName().Version?.ToString(3)}"; /// The About hub's Unlock Premium button lights up only once the - /// billing URL is set (tabled 2026-08-14 — provider undecided, TASK 23). + /// billing URL is set (Polar — polar.sh, pending TASK 10 implementation). public bool IsPremiumAvailable => PremiumUrl.Length > 0; /// Full in-app licensing/legal text, loaded on demand from the @@ -257,7 +257,7 @@ public class MainViewModel : ViewModelBase public SocialsConfig? Socials => _socials; /// Freemium: 6 slots — YT + 1 other, the rest locked. Premium seam: all 6 open. - private static bool IsPremium => false; // unlock deferred (TASK 23) — seam only + private static bool IsPremium => false; // unlock deferred (TASK 10) — seam only /// Canvas.Top for the social bar: 0 = top, 1040 = bottom (40px from the 1080 edge). public double SocialBarTop => _socials?.BarPosition == SocialBarPosition.Top ? 0 : 1040; diff --git a/ai.md b/ai.md index b76f900..32cb647 100644 --- a/ai.md +++ b/ai.md @@ -609,9 +609,9 @@ annual subscription** (settled 2026-08-14 — replaces the earlier "one-time unl keep the promise simple). - **Billing:** NOT locked to itch.io (creator's call 2026-08-14). Hunted fact — **itch.io has no native subscription billing** (no annual/recurring product billing; only pay-what-you-want, pre-orders, - early-access, keys, and a Patreon integration). Candidates for annual subs + license-key verification: - **Gumroad** (its native affiliate program is a tiebreaker if the affiliate angle in TASK 10 matters) - and **Lemon Squeezy**. Decision deferred to TASK 10. + early-access, keys, and a Patreon integration). **Chosen platform: Polar (polar.sh)** — open-source + MoR (Apache 2.0), handles payments, subscriptions, license keys, and global tax compliance. + Startup Program gives Scale plan free for 12 months. Details in `MONETIZATION.md`. - **Support (creator's model):** in-app bug-reporting mechanism → issues into git; most queries are how-tos / feature requests / manual-skimmers. Maintenance cadence = "when I get around to it" with emergency patches; not a 24/7 service promise.