feat: add config-driven AppX package removal tab

- Add config/appx.json with curated list of removable AppX packages

- Add AppX Removal tab (WPFTab6) with Select All, Clear, and Remove buttons

- Reuse existing Invoke-WPFUIElements engine for minimal code footprint

- Add Invoke-WPFAppxRemoval.ps1 for background runspace package removal

- Add theme colors for the new tab button in light and dark modes
This commit is contained in:
GabiNun2
2026-06-21 17:57:41 +03:00
parent 58a81b106c
commit e8c1401cce
9 changed files with 300 additions and 0 deletions
@@ -30,6 +30,7 @@ function Invoke-WPFSelectedCheckboxesUpdate{
elseif ($appKey.StartsWith("WPFTweaks")) { "Tweaks" }
elseif ($appKey.StartsWith("WPFToggle")) { "Toggle" }
elseif ($appKey.StartsWith("WPFFeature")) { "Feature" }
elseif ($appKey.StartsWith("WPFAppx")) { "Appx" }
else { "na" }
switch ($group) {
@@ -81,6 +82,16 @@ function Invoke-WPFSelectedCheckboxesUpdate{
$sync.selectedFeatures.Remove($appKey)
}
}
"Appx" {
if ($type -eq "Add") {
if (!$sync.selectedAppx.Contains($appKey)) {
$sync.selectedAppx.Add($appKey)
}
}
else{
$sync.selectedAppx.Remove($appKey)
}
}
default {
Write-Host "Unknown group for checkbox: $($appKey)"
}