Skip to content

feat: UI redesign + community bug fixes - #525

Merged
laurentiu021 merged 2 commits into
mainfrom
feat/ui-redesign
May 26, 2026
Merged

feat: UI redesign + community bug fixes#525
laurentiu021 merged 2 commits into
mainfrom
feat/ui-redesign

Conversation

@laurentiu021

@laurentiu021 laurentiu021 commented May 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • Complete UI redesign: glass cards, golden admin system, modern components, purple accent throughout
  • Dark title bar via DWM API
  • Global ProgressBar/RadioButton/CheckBox accent color styles
  • Missing Download button in updater card
  • SSD warning banner on File Shredder
  • Windows Features status column populated on load
  • Robust startup app path extraction (fixes Open folder for lghub etc.)
  • DNS detection skips virtual adapters
  • Startup Manager refresh threading fix
  • Hide Install/Select buttons in Windows Update history view
  • Bulk installer hover highlight improved
  • ReleaseHistory single notification (ObservableCollection → IReadOnlyList)

Test plan

  • Verify dark title bar on Windows 11
  • Verify ProgressBars are purple across all tabs
  • Verify RadioButtons (Performance power plan) are purple
  • Click Download button when update is available
  • Open File Shredder — SSD warning visible
  • Windows Features — status column shows Enabled/Disabled
  • Startup Manager — Refresh works, Open folder works for various apps
  • DNS tab — current DNS detected correctly
  • Windows Update — History tab hides Install/Select buttons
  • Bulk Installer — hover highlight visible on app rows

Summary by CodeRabbit

Release Notes

  • New Features

    • Added download button to update card for faster app updates
    • Added SSD shredding warning with encryption recommendations
    • Enhanced DNS diagnostics to query multiple network adapters
    • Redesigned Ping targets view with card-based metric display
  • UI Improvements

    • Updated accent color palette and theme
    • Implemented dark title bar support
    • Redesigned all elevation/admin request banners with new styling
    • Enhanced status indicators across views with card-based designs
    • Improved DataGrid appearance with simplified row styling
    • Updated Logs severity indicators with glass-effect cards
  • Bug Fixes

    • Improved executable path resolution in Startup scanner
    • Better DNS adapter selection fallback logic

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 26, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@laurentiu021, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 46 minutes and 22 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 95c671a9-4773-4406-b82b-efd4f2d3ee5d

📥 Commits

Reviewing files that changed from the base of the PR and between 37e9f8db5cfae7015d9364d67a5171b64a8fa9c1 and df38cf4.

📒 Files selected for processing (32)
  • SysManager/SysManager/App.xaml
  • SysManager/SysManager/MainWindow.xaml
  • SysManager/SysManager/MainWindow.xaml.cs
  • SysManager/SysManager/Services/DnsService.cs
  • SysManager/SysManager/Services/WindowsFeaturesService.cs
  • SysManager/SysManager/ViewModels/AboutViewModel.cs
  • SysManager/SysManager/ViewModels/StartupViewModel.cs
  • SysManager/SysManager/ViewModels/WindowsUpdateViewModel.cs
  • SysManager/SysManager/Views/AboutView.xaml
  • SysManager/SysManager/Views/AppBlockerView.xaml
  • SysManager/SysManager/Views/AppUpdatesView.xaml
  • SysManager/SysManager/Views/BulkInstallerView.xaml
  • SysManager/SysManager/Views/CleanupView.xaml
  • SysManager/SysManager/Views/ContextMenuView.xaml
  • SysManager/SysManager/Views/DashboardView.xaml
  • SysManager/SysManager/Views/DeepCleanupView.xaml
  • SysManager/SysManager/Views/DnsHostsView.xaml
  • SysManager/SysManager/Views/DriversView.xaml
  • SysManager/SysManager/Views/FileShredderView.xaml
  • SysManager/SysManager/Views/LogsView.xaml
  • SysManager/SysManager/Views/NetworkRepairView.xaml
  • SysManager/SysManager/Views/PerformanceView.xaml
  • SysManager/SysManager/Views/PingView.xaml
  • SysManager/SysManager/Views/PrivacyView.xaml
  • SysManager/SysManager/Views/ProcessManagerView.xaml
  • SysManager/SysManager/Views/ServicesView.xaml
  • SysManager/SysManager/Views/StartupView.xaml
  • SysManager/SysManager/Views/SystemHealthView.xaml
  • SysManager/SysManager/Views/TracerouteView.xaml
  • SysManager/SysManager/Views/UninstallerView.xaml
  • SysManager/SysManager/Views/WindowsFeaturesView.xaml
  • SysManager/SysManager/Views/WindowsUpdateView.xaml
📝 Walkthrough

Walkthrough

This PR refreshes the application's visual design through theme resource updates and a systematic redesign of admin elevation UI patterns. The changes introduce new accent colors and an AdminButton style, standardize navigation hover states with hardcoded accent values, and replace elevation banners across 13 admin-facing views with a unified pattern featuring left accent bars. DataGrid row styling is simplified across multiple views, and status indicators are replaced with custom bordered cards. Backend enhancements include DNS adapter enumeration improvements, feature status tracking, and refactored data binding patterns for release history and update history state.

Changes

UI Theme Refresh and Admin Elevation

Layer / File(s) Summary
Theme Resources and Shared Button Styles
SysManager/SysManager/App.xaml
Accent palette updated with new hex values and new AccentSoft brush. ProgressBar, RadioButton, and CheckBox receive explicit default styles. GhostButton and AdminButton reworked with custom ControlTemplates and interaction triggers. DataGridColumnHeader template revised and DataGridRow trigger styling updated to use new accent hex values.
Navigation Hover Colors and Dark Title Bar
SysManager/SysManager/MainWindow.xaml, SysManager/SysManager/MainWindow.xaml.cs
Navigation hover backgrounds updated to hardcoded ARGB values (#186366F1, #126366F1). Dark title bar support added via DwmSetWindowAttribute P/Invoke and ApplyDarkTitleBar helper.
Admin Elevation UI Pattern Across Views
SysManager/SysManager/Views/AppBlockerView.xaml, SysManager/SysManager/Views/AppUpdatesView.xaml, SysManager/SysManager/Views/BulkInstallerView.xaml, SysManager/SysManager/Views/CleanupView.xaml, SysManager/SysManager/Views/DashboardView.xaml, SysManager/SysManager/Views/DnsHostsView.xaml, SysManager/SysManager/Views/NetworkRepairView.xaml, SysManager/SysManager/Views/PerformanceView.xaml, SysManager/SysManager/Views/PrivacyView.xaml, SysManager/SysManager/Views/ServicesView.xaml, SysManager/SysManager/Views/SystemHealthView.xaml, SysManager/SysManager/Views/WindowsFeaturesView.xaml, SysManager/SysManager/Views/WindowsUpdateView.xaml
"Run as administrator" buttons across all admin-facing views switched to AdminButton style. Elevated state banners redesigned with left accent bars, updated icon/text layouts, and new color schemes while preserving IsElevated visibility binding.
DataGrid Styling Standardization and Status Badges
SysManager/SysManager/Views/AppUpdatesView.xaml, SysManager/SysManager/Views/BulkInstallerView.xaml, SysManager/SysManager/Views/ContextMenuView.xaml, SysManager/SysManager/Views/DeepCleanupView.xaml, SysManager/SysManager/Views/DnsHostsView.xaml, SysManager/SysManager/Views/DriversView.xaml, SysManager/SysManager/Views/FileShredderView.xaml, SysManager/SysManager/Views/LogsView.xaml, SysManager/SysManager/Views/ProcessManagerView.xaml, SysManager/SysManager/Views/ServicesView.xaml, SysManager/SysManager/Views/StartupView.xaml, SysManager/SysManager/Views/SystemHealthView.xaml, SysManager/SysManager/Views/TracerouteView.xaml, SysManager/SysManager/Views/UninstallerView.xaml, SysManager/SysManager/Views/WindowsUpdateView.xaml
DataGrid row background/alternating row background styling removed across all views, defaulting to theme behavior. Status columns replaced from Badge styles with custom bordered cards featuring left accent bars and conditional DataTrigger color changes. ProcessManagerView and StartupView columns updated with custom HeaderStyles for text alignment.
View-Specific UI Refinements
SysManager/SysManager/Views/PingView.xaml, SysManager/SysManager/Views/LogsView.xaml, SysManager/SysManager/Views/UninstallerView.xaml, SysManager/SysManager/Views/WindowsFeaturesView.xaml, SysManager/SysManager/Views/DashboardView.xaml, SysManager/SysManager/Views/FileShredderView.xaml
PingView switches Targets layout to UniformGrid with redesigned metric cards. LogsView replaces severity pills with glass-card borders and DropShadowEffect. UninstallerView redesigns Source and Status column templates with conditional styling. WindowsFeaturesView updates toolbar admin indicator and Status badge. DashboardView adds custom ControlTemplate for elevation UI. FileShredderView adds SSD shredding reliability warning.

Backend Service and ViewModel Updates

Layer / File(s) Summary
Service Enhancements
SysManager/SysManager/Services/DnsService.cs, SysManager/SysManager/Services/WindowsFeaturesService.cs
DnsService.GetCurrentDnsAsync now enumerates and sorts multiple "Up" non-virtual adapters, returning DNS from the first with IPv4 servers and falling back to "Automatic (DHCP)" or "No active adapter" as appropriate. WindowsFeaturesService.ParseFeatureList populates Status property with "Enabled" or "Disabled" strings.
ViewModel Property and State Management
SysManager/SysManager/ViewModels/AboutViewModel.cs, SysManager/SysManager/ViewModels/StartupViewModel.cs, SysManager/SysManager/ViewModels/WindowsUpdateViewModel.cs
AboutViewModel changes ReleaseHistory to IReadOnlyList with ObservableProperty and refactors download state notification. StartupViewModel refactors ScanAsync to precompute sorted entries and apply filters via UI dispatcher, and adds ExtractExecutablePath helper for robust command parsing. WindowsUpdateViewModel adds IsShowingHistory property to track history display state.
View Binding and Display Updates
SysManager/SysManager/Views/AboutView.xaml, SysManager/SysManager/Views/WindowsUpdateView.xaml
AboutView adds Download button bound to DownloadCommand and ShowDownloadButton. WindowsUpdateView adds action buttons ("Install selected", "Select all", "Deselect all") with IsShowingHistory-based visibility binding.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • laurentiu021/SystemManager#470: Migrates ModernWpfUI theme resources in App.xaml while main PR adjusts shared theme resource colors/brushes—directly related theme wiring changes.
  • laurentiu021/SystemManager#504: Reworks the same admin elevation banners on WindowsUpdate, WindowsFeatures, Privacy, DnsHosts, and Services views, with AdminButton style conversions aligned across both PRs.
  • laurentiu021/SystemManager#506: Redesigns admin/elevation banners on AppBlocker, Cleanup, NetworkRepair, Performance, and SystemHealth views using the same uniform elevation banner pattern as the main PR.

🐰 A coat of paint and some fresh style,
From accent hues to banners that compile,
Admin buttons shine with golden glow,
While DataGrids dance in orderly row.
The app now wears a theme so fine,
With cards and badges in each design! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately summarizes the two main categories of changes: a comprehensive UI redesign and bug fixes from community feedback, which align with the detailed changeset.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/ui-redesign

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

- Purple accent (#6366F1) replacing blue globally
- Glass card component (left accent bar + translucent bg + glow dot)
- Severity pills redesigned on System Logs (glass cards)
- Ping targets: 2-column grid layout with structured metrics
- Startup Manager: glass status badges (green/gray)
- Uninstaller: source column glass badges (purple=winget, amber=local)
- Admin badge: golden glass card with shield icon
- AdminButton style: golden glass for all "Run as administrator" buttons (13 views)
- Elevation banners: golden glass with left accent bar (13 views)
- GhostButton: subtle border added globally
- DataGrid: column resize fix, actions columns widened
- Process Manager: status glass badges, header alignment fix
- Windows Features: status column glass cards
- Privacy: elevation banner repositioned above toolbar
- DataGrid row hover, sidebar hover, column resize gripper
…ultiple bug fixes

- Force dark title bar via DwmSetWindowAttribute
- Global ProgressBar/RadioButton/CheckBox styles using accent color
- Add missing Download button in update card
- Replace ObservableCollection with single-assign IReadOnlyList for release history
- Add SSD warning banner on File Shredder
- Hide Install/Select buttons when viewing update history
- Improve bulk installer hover highlight visibility
- Populate Windows Features status column on initial scan
- Robust executable path extraction for Startup open folder
- DNS detection skips virtual adapters, iterates all active
- Fix Startup refresh by dispatching collection updates to UI thread
@laurentiu021
laurentiu021 merged commit 46b3aed into main May 26, 2026
4 checks passed
@laurentiu021
laurentiu021 deleted the feat/ui-redesign branch May 26, 2026 07:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant