Add toast entrance/exit animations
Details
Entrance: slide down from -40px with BounceEaseOut easing (0.4s) for a
subtle bounce effect. Exit: slide up -30px + fade out (0.3s) before
removal from collection.
ToastService now raises DismissRequested so the container can animate
out before the toast is removed. Manual dismiss clicks, action button
clicks, and auto-dismiss timer all use the same animated path. A
HashSet tracks in-flight dismissals to prevent double-dismiss races.
Fix compact density, remove redundant footer, move header above split
Details
Three issues fixed:
1. Compact vs Balanced were identical — compact now hides the metadata
row (status, due date, subtasks) and tags, showing only priority dot
+ title for maximum density.
2. Removed the bottom footer bar (Total/Active/Done) which duplicated
the stats already shown in the header.
3. Moved the stats + New Task + Prioritize header out of the left pane
and above the split layout so it spans the full width. Adds a subtle
bottom border to visually separate it from the split content.
Collapse empty toast label to prevent gap above message
Details
Hide the FriendlyLabel TextBlock when empty so the StackPanel
spacing doesn't push the message text down.
Fix runtime type resolution crash in density bindings
Details
Replace compiled binding cast syntax ((vm:TasksViewModel)DataContext)
with reflection binding fallback $parent[UserControl].DataContext inside
DataTemplate — the cast syntax can't resolve plugin types at runtime
within a template context.
Remove FYI label from Info toasts
Details
Info toasts now show only the message without a header label.
Success/Warning/Error toasts retain their labels.
Get notified about new releases