Add a new section#10
Conversation
New nav tab between Settings and About (Heart24 icon, Tag=4) opens a dedicated page with a PayPal donate button — accent-filled Hyperlink that ShellExecutes to paypal.me/omara2002 in the default browser. Sidebar ordering note: DockPanel Bottom-docked children stack upward from the bottom in XAML order, so About must remain first, Donate is inserted between, and Settings stays last. Visual top-to-bottom in the bottom cluster is Settings, Donate, About.
Use Ko-fi's official "Buy me a coffee" PNG (downloaded from Ko-fi's CDN, bundled as a WPF Resource) instead of the PayPal text hyperlink. A plain Button with a stripped ControlTemplate — just a Border wrapping a ContentPresenter — makes the yellow branded image the button face with no chrome repainting over it. Hover / pressed give subtle opacity feedback so users still get "this is clickable" affordance. KofiDonate_Click uses Process.Start with UseShellExecute=true to open https://ko-fi.com/twibster in the default browser; .NET 8 requires the shell-execute flag for https URLs. Any launch failure is swallowed — a missing default browser shouldn't crash the UI, and the ToolTip already shows the URL for manual copy. Accessibility: Cursor=Hand, AutomationProperties.Name, and a descriptive ToolTip cover mouse, keyboard, and screen-reader paths.
📝 WalkthroughWalkthroughA new Donate page feature is being added to the ScreenSound application. Changes include registering a Ko-fi button image as a project resource, creating a Donate page UI with navigation in the main window XAML, extending page routing logic, and implementing a handler to open the Ko-fi donation URL in the user's default browser. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
Released as v2.1.0. |
Summary
_pagesso the existingNavButton_Checked→ShowPagefade/slide flow picks it up automatically.Buttontemplate so a branded image renders as the button face without WPF's default button chrome repainting over it; hover/pressed feedback is done viaOpacityon the outerBorderso colours stay intact.Process.StartwithUseShellExecute=true(.NET 8 requirement forhttps://URLs); failures are swallowed so a missing default browser doesn't crash the UI.Test plan
AutomationProperties.Name