diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e7e35b69..e7629e44 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,11 +24,13 @@ jobs: shell: powershell run: .\ArIED61850Tester\scripts\verify-source-clean.ps1 - - name: Verify premium P0 UX invariants + - name: Verify premium P0 and P1 UX invariants shell: powershell run: | + $app = Get-Content .\ArIED61850Tester\App.xaml -Raw $main = Get-Content .\ArIED61850Tester\MainWindow.xaml -Raw $save = Get-Content .\ArIED61850Tester\SaveSclWindow.xaml -Raw + if ($save -notmatch 'x:Name="EditionIndicator"' -or $save -notmatch 'Content="Edition 2"' -or $save -notmatch 'Content="Edition 1"') { @@ -37,6 +39,31 @@ jobs: if ($save -match '(?.*?)', + [System.Text.RegularExpressions.RegexOptions]::Singleline) + if (-not $itemStyleMatch.Success) { + throw "IED card item-container style was not found." + } + $itemStyle = $itemStyleMatch.Groups['body'].Value + if ($itemStyle -match 'ScaleTransform\s+ScaleX="1\.012"' -or + $itemStyle -match 'Property="RenderTransform"') { + throw "IED card hover must not resize or transform the card. Hover may change colors only." + } + if ($main -notmatch 'x:Name="ConnectedBadge"' -or + $app -notmatch 'x:Key="IedCardConnected"' -or + $app -notmatch 'x:Key="IedCardConnectedSelected"') { + throw "Premium connected IED-card states were not found." + } + + if ($main -notmatch 'Style="\{StaticResource CommandDataGrid\}"' -or + $main -notmatch 'RowStyle="\{StaticResource CommandDataGridRow\}"' -or + $app -notmatch 'x:Key="CommandDataGridRow"' -or + $app -notmatch 'x:Key="LucideSlidersHorizontal"') { + throw "Premium Command Panel hierarchy and row styles were not found." + } if ($main -notmatch 'ScrollViewer.HorizontalScrollBarVisibility="Disabled"' -or $main -notmatch 'CanUserResizeColumns="False"') { throw "IED Command Panel horizontal overflow protection was not found." @@ -126,7 +153,7 @@ jobs: - name: Publish portable x64 shell: powershell - run: .\ArIED61850Tester\scripts\publish-windows-portable.ps1 -Version 1.6.11 -EngineProject "$env:GITHUB_WORKSPACE\ARIEC61850\src\AR.Iec61850\AR.Iec61850.csproj" + run: .\ArIED61850Tester\scripts\publish-windows-portable.ps1 -Version 1.6.12 -EngineProject "$env:GITHUB_WORKSPACE\ARIEC61850\src\AR.Iec61850\AR.Iec61850.csproj" - name: Upload portable package uses: actions/upload-artifact@v4 diff --git a/App.xaml b/App.xaml index 96b3c619..79e31ecd 100644 --- a/App.xaml +++ b/App.xaml @@ -62,6 +62,24 @@ + + + + + + + + + + + + + + + + + + M8,5 L19,12 L8,19 Z @@ -74,6 +92,7 @@ M14,2 V8 H20 M14,2 H6 A2,2 0 0 0 4,4 V20 A2,2 0 0 0 6,22 H18 A2,2 0 0 0 20,20 V8 Z M9,15 H15 M12,12 L15,15 L12,18 M14,2 V8 H20 M14,2 H6 A2,2 0 0 0 4,4 V20 A2,2 0 0 0 6,22 H18 A2,2 0 0 0 20,20 V8 Z M10,15 H16 M13,12 L16,15 L13,18 M12,5 V19 M5,12 H19 + M21,4 H14 M10,4 H3 M21,12 H12 M8,12 H3 M21,20 H16 M12,20 H3 M14,2 V6 M10,10 V14 M16,18 V22 + + + + + + + +