refactor: split Account out of MainViewModel — Commit 1/12 (tag refactor-commit-1)
Pure member movement into MainViewModel.Account.cs (zero behavior change): session restore (LoadSavedSessionAsync), sign-in/out/change (SignInAsync, SignOutYouTubeAsync, ChangeAccountAsync), IsConnected + account avatar/name + AccountStatusLightToolTip. Partial carries its own usings (ytLive.Services for the INotificationService default interface methods). docs in same commit: ViewModels/index.md split table + tagging convention.
This commit is contained in:
+10
-2
@@ -18,12 +18,20 @@ for what the ViewModels drive; base class in [`Helpers/ViewModelBase.cs`](../Hel
|
||||
## MainViewModel partial split (in progress)
|
||||
|
||||
`MainViewModel.cs` is being split into one file per functional area, zero behavior
|
||||
change, one commit per partial (each commit a roll-back point):
|
||||
change, one commit per partial (each commit a roll-back point). **Commit naming:**
|
||||
titles carry the series id (`Commit N/12`), tags are `refactor-commit-N` — e.g.
|
||||
`git show refactor-commit-1`. Every partial lands with a `ViewModels/index.md`
|
||||
update in the SAME commit.
|
||||
|
||||
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`).
|
||||
|
||||
- Core file keeps: fields, ctor, `Shutdown`/`SaveLayoutNow`/`ScheduleSave`/`LoadLayout`,
|
||||
`SetPanel`/`ShowOverlay`/`ShowLicenses`, `CreateBrush`, `OpenUrl`/`ComposeEmail`,
|
||||
`SubmitBug`/`SubmitFeature`, window-geometry pass-through.
|
||||
- Partials: `Account` (sign-in/session/avatar), `License` (Polar key validation + `IsPremium`),
|
||||
- Partials: `Account` ✔ (Commit 1), `License` (Polar key validation + `IsPremium`),
|
||||
`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),
|
||||
|
||||
Reference in New Issue
Block a user