refactor: split License out of MainViewModel — Commit 2/12 (tag refactor-commit-2)

Pure member movement into MainViewModel.License.cs (zero behavior change):
Polar license state (LicenseKey/LicenseMessage/IsLicenseValidating/
IsLicenseEntryOpen/IsHubVisible/IsPremium + OfflineGracePeriod),
ValidateLicenseAtStartupAsync, ActivateLicenseAsync. docs in same commit:
ViewModels/index.md split table (License ✔).
This commit is contained in:
2026-08-30 07:15:26 -07:00
parent 5eecf4536f
commit 9baae33916
3 changed files with 167 additions and 157 deletions
+5 -2
View File
@@ -27,12 +27,15 @@ Progress (Commit N/12 · tag):
- **Commit 1/12 · `refactor-commit-1`: Account landed** → `MainViewModel.Account.cs`
(session restore `LoadSavedSessionAsync`, sign-in/out/change account,
`IsConnected`/`AccountAvatarUrl`/`AccountDisplayName`/`AccountStatusLightToolTip`).
- **Commit 2/12 · `refactor-commit-2`: License landed** → `MainViewModel.License.cs`
(Polar license state: `LicenseKey`/`LicenseMessage`/`IsLicenseValidating`/
`IsLicenseEntryOpen`/`IsHubVisible`/`IsPremium`, `OfflineGracePeriod`,
`ValidateLicenseAtStartupAsync`, `ActivateLicenseAsync`).
- Core file keeps: fields, ctor, `Shutdown`/`SaveLayoutNow`/`ScheduleSave`/`LoadLayout`,
`SetPanel`/`ShowOverlay`/`ShowLicenses`, `CreateBrush`, `OpenUrl`/`ComposeEmail`,
`SubmitBug`/`SubmitFeature`, window-geometry pass-through.
- Partials: `Account` ✔ (Commit 1), `License` (Polar key validation + `IsPremium`),
`Scenes` (scene catalog + hotkeys + transitions), `Background` (background model + screen
- Partials: `Account` ✔ (Commit 1), `License` ✔ (Commit 2), `Scenes` (scene catalog + hotkeys + transitions), `Background` (background model + screen
capture + display picker), `Webcam` (webcam identity + per-scene configs + captures),
`Audio` (mic + game bars + TRAX), `Trax` (music player), `Socials` (social bar + dialog),
`Streaming` (go-live/record + health + quality tiers + media source pipeline),