Add account creation hint, CSV import button, and goal date picker
Details
Register empty state now shows an "Add Account" button that opens the
account management modal. An "Import CSV" button in the register toolbar
lets users import OFX/QFX/QIF/CSV files directly into the selected
account with deduplication. Category management now shows a
MiniCalendarPicker for the target date when "Needed By Date" goal type
is selected, using a DateOnly↔DateTimeOffset adapter property.
Version: 3.5.0 → 3.6.0
Add Settings menu with modal overlays to Finance plugin (3.5.0)
Details
Replace dedicated nav buttons for Accounts, Reconciliation, and Summary
with a Settings MenuFlyout dropdown. Move category management from an
inline overlay in BudgetDashboardView to a standalone CategoryManagementView
hosted in FinanceView's modal overlay alongside the other admin views.
Uses the new shared ModalOverlay control from PrivStack.UI.Adaptive
(extracted in SDK 1.61.0) instead of duplicating overlay boilerplate.
BudgetDashboardViewModel simplified to 2-param constructor with a
RequestOpenCategoryManagement callback for the toolbar button. The
FinanceViewModel owns all settings modal state and refreshes budget
data on close.
Extract ModalOverlay to UI.Adaptive, bump SDK to 1.61.0
Details
Add shared ModalOverlay control to PrivStack.UI.Adaptive replacing
duplicated per-plugin copies in Notes, Tasks, Calendar, and Email.
The control provides animated backdrop, centered card with title bar,
scrollable body, optional footer, Escape key and backdrop-click-to-close.
Built as a code-based Panel (matching EmptyState pattern) with no AXAML
theme file required.
Replace CategoryManagementView with modal overlay in BudgetDashboardView
Details
The full-screen CategoryManagementView crashed with Unable to resolve type
vm:CategoryManagementViewModel. Rather than debugging the XAML resolution,
replaced it with a modal overlay dialog inside BudgetDashboardView, matching
the existing Transfer Dialog overlay pattern.
Changes:
- Delete CategoryManagementView.axaml and code-behind
- Add category management overlay to BudgetDashboardView with full CRUD:
add group, add category, rename group, edit category settings (rollover,
goal type, target amount), save/hide/reorder actions
- Move CategoryManagementViewModel ownership from FinanceViewModel to
BudgetDashboardViewModel
- Add "Manage Categories" button to budget toolbar
- Remove "Categories" nav button from FinanceView
- Update command palette entry to open budget view then show overlay
- Bump version 3.3.2 -> 3.4.0
Replace {x:Type} DataTemplate view switching with direct View instantiation
Details
The {x:Type vm:CategoryManagementViewModel} markup extension in FinanceView's
DataTemplates triggers XamlTypeResolver.Resolve() at runtime, which cannot
resolve types loaded via a custom AssemblyLoadContext (plugin isolation).
This is the actual root cause of the CategoryManagementView crash — not the
bindings inside CategoryManagementView itself.
Fix: Remove all {x:Type} DataTemplates from FinanceView.axaml entirely.
Instead, each GoTo*Command now sets CurrentView to a new View instance with
DataContext set to the corresponding ViewModel. This is the same pattern
used by every other multi-view plugin and completely avoids XAML runtime
type resolution.
Finance v3.3.0.
Get notified about new releases