Skip to content

design issues fix#4333

Merged
prashelke merged 6 commits into
Releases/Official-Releasefrom
BugFix/DesignIssuesGP
Oct 16, 2025
Merged

design issues fix#4333
prashelke merged 6 commits into
Releases/Official-Releasefrom
BugFix/DesignIssuesGP

Conversation

@AmanPrasad43

@AmanPrasad43 AmanPrasad43 commented Oct 15, 2025

Copy link
Copy Markdown
Contributor

Thank you for your contribution.
Before submitting this PR, please make sure:

  • PR description and commit message should describe the changes done in this PR
  • Verify the PR is pointing to correct branch i.e. Release or Beta branch if the code fix is for specific release , else point it to master
  • Latest Code from master or specific release branch is merged to your branch
  • No unwanted\commented\junk code is included
  • No new warning upon build solution
  • Code Summary\Comments are added to my code which explains what my code is doing
  • Existing unit test cases are passed
  • New Unit tests are added for your development
  • Sanity Tests are successfully executed for New and Existing Functionality
  • Verify that changes are compatible with all relevant browsers and platforms.
  • After creating pull request there should not be any conflicts
  • Resolve all Codacy comments
  • Builds and checks are passed before PR is sent for review
  • Resolve code review comments
  • Update the Help Library document to match any feature changes

Summary by CodeRabbit

  • Style

    • Refreshed spacing and margins across External Configuration pages for clearer right-panel layout.
    • Adjusted typography: larger “About” titles, standardized body and bullet text to 12pt.
    • Removed some decorative icons in configuration headers.
    • Redesigned Upgrade button with updated gradient, layout, and hover shadow.
  • Bug Fixes

    • Streamlined Ginger Play "Learn More" behavior: improved handling to reliably show the in-app banner or open the configured gateway with a fallback.

@coderabbitai

coderabbitai Bot commented Oct 15, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Centralizes Ginger Play gateway URL retrieval into a new GingerPlayUtils method and updates callers (TwoLevelMenu and GingerPlay config) to use it; replaces some conditional URL-launch flows with direct banner display in one handler. Multiple XAML files adjust right-pane margins, typography, and remove or alter ImageMakerControl usages. TwoLevelMenu Upgrade control reimplemented using a Button with a ControlTemplate and new gradient/hover styling. No public API breaks; one utility method added.

Changes

Cohort / File(s) Summary of Changes
Ginger Play: utility & callers
Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs, Ginger/Ginger/ExternalConfigurations/GingerPlayConfigurationpage.xaml.cs, Ginger/Ginger/UserControlsLib/TwoLevelMenuLib/TwoLevelMenuPage.xaml.cs
Added GingerPlayUtils.GetGingerPlayGatewayURLIfConfigured(); refactored callers to use it; removed local gateway-check helpers; simplified LearnMore click flow in one handler to always show banner; updated ProFeature/Upgrade click flow to use new utility and preserved fallback/error handling.
TwoLevelMenu: Upgrade control UI
Ginger/Ginger/UserControlsLib/TwoLevelMenuLib/TwoLevelMenuPage.xaml
Replaced Border-based composed upgrade area with a standalone Button using a ControlTemplate; new gradient stops and hover DropShadow trigger; preserved Click handler and tooltip; adjusted internal layout (image left, text separate).
External config pages: margins, typography, icons
Ginger/Ginger/ExternalConfigurations/ApplitoolsExternalConfigurationsPage.xaml, Ginger/Ginger/ExternalConfigurations/GingerPlayConfigurationpage.xaml, Ginger/Ginger/ExternalConfigurations/SealightsExternalConfigurationsPage.xaml, Ginger/Ginger/ExternalConfigurations/WireMockConfigurationPage.xaml, Ginger/Ginger/ExternalConfigurations/ZAPConfigurationPage.xaml, Ginger/Ginger/ExternalConfigurations/VRTExternalConfigurationsPage.xaml
Right-pane Border margin changed from 20,0,10,0 to 30,20,10,0 in several pages; various title FontSize increased (e.g., to 18) and descriptive TextBlock FontSize reduced (e.g., to 12); removed or altered ImageMakerControl instances and updated tooltips/ImageType where noted; small spacing/margin tweaks (link/ImageMakerControl margins).
RunSet wizard minor UI tweaks
Ginger/Ginger/RunSetLib/CreateAutoRunWizardLib/AutoRunWizardCLITypePage.xaml, Ginger/Ginger/RunSetLib/CreateAutoRunWizardLib/AutoRunWizardOptionsPage.xaml
Whitespace/indentation changes in one RadioButton; updated two ImageMakerControl ImageType and tooltip text changes in options page; no behavior changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant UI as Ginger UI (GingerPlay / TwoLevelMenu)
  participant Utils as GingerPlayUtils
  participant OS as OS (Process.Start)
  participant Banner as BannerWindow

  User->>UI: Click "Learn More" / "Upgrade"
  UI->>Utils: GetGingerPlayGatewayURLIfConfigured()
  alt URL returned (non-empty)
    Utils-->>UI: URL
    UI->>OS: Process.Start(URL)
    alt Process.Start success
      OS-->>User: Browser opened
    else Process.Start throws
      OS-->>UI: Exception
      UI-->>User: Show error message
    end
  else URL null/empty
    Utils-->>UI: null/empty
    UI->>Banner: ShowGingerPlayBannerWindow()
    Banner-->>User: Display banner UI
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • Maheshkale447

Poem

I hop through panes with margins wide,
A button gleams with gradient pride.
If gateway lives, I open a door—
Else banner blooms and shows much more.
Fonts whisper small; the rabbit grins. 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings, 1 inconclusive)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request description only repeats the checklist template and does not include any details about the actual changes, their purpose, or how they were tested, leaving reviewers without necessary context to evaluate the modifications. Please replace the template checklist with a clear summary of the changes made, including which UI components were updated, the rationale for those updates, and any testing performed to validate the fixes.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title Check ❓ Inconclusive The title "design issues fix" is too generic and does not clearly summarize the main changes across multiple UI pages, margin adjustments, font size updates, and code refactors included in this pull request. It fails to highlight which design issues were addressed or which components were affected, making it unclear for reviewers scanning the history. Please update the title to concisely reflect the primary changes, for example by mentioning the key UI adjustments and code refactoring applied to ExternalConfigurations pages and related components.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch BugFix/DesignIssuesGP

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3121a6c and 84bb8a8.

📒 Files selected for processing (6)
  • Ginger/Ginger/ExternalConfigurations/ApplitoolsExternalConfigurationsPage.xaml (1 hunks)
  • Ginger/Ginger/ExternalConfigurations/GingerPlayConfigurationpage.xaml.cs (2 hunks)
  • Ginger/Ginger/ExternalConfigurations/VRTExternalConfigurationsPage.xaml (0 hunks)
  • Ginger/Ginger/RunSetLib/CreateAutoRunWizardLib/AutoRunWizardCLITypePage.xaml (1 hunks)
  • Ginger/Ginger/RunSetLib/CreateAutoRunWizardLib/AutoRunWizardOptionsPage.xaml (2 hunks)
  • Ginger/Ginger/UserControlsLib/TwoLevelMenuLib/TwoLevelMenuPage.xaml (1 hunks)
💤 Files with no reviewable changes (1)
  • Ginger/Ginger/ExternalConfigurations/VRTExternalConfigurationsPage.xaml
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-26T07:40:08.345Z
Learnt from: AmanPrasad43
PR: Ginger-Automation/Ginger#4285
File: Ginger/Ginger/Actions/ActionEditPages/ActSecurityTestingEditPage.xaml:23-23
Timestamp: 2025-08-26T07:40:08.345Z
Learning: In the Ginger codebase ActSecurityTestingEditPage.xaml file, the large bottom margin of 530 on the "Acceptable Alerts" label (Margin="10,10,0,530") is intentional design choice, not an error.

Applied to files:

  • Ginger/Ginger/ExternalConfigurations/ApplitoolsExternalConfigurationsPage.xaml
🔇 Additional comments (7)
Ginger/Ginger/ExternalConfigurations/ApplitoolsExternalConfigurationsPage.xaml (2)

71-71: LGTM: Margin adjustment improves layout consistency.

The increased left (20→30) and top (0→20) margins provide better spacing for the right-pane information panel, aligning with similar margin adjustments across other ExternalConfigurations pages in this PR.


84-84: Inconsistent summary: ImageMakerControl not removed.

The AI summary states "Removed the ImageMakerControl element from the left-side horizontal stack under Applitools Configuration," but the ImageMakerControl at line 84 remains unchanged in the annotated code. This discrepancy suggests the summary may be inaccurate or referring to changes in other files.

Ginger/Ginger/ExternalConfigurations/GingerPlayConfigurationpage.xaml.cs (1)

258-262: Past review concern resolved by simplification.

The previous review suggested caching the base URL and using Uri for robustness when opening the gateway URL. The new implementation sidesteps this by always showing the banner window instead of conditionally opening a URL, which is a simpler and more consistent approach.

Ginger/Ginger/UserControlsLib/TwoLevelMenuLib/TwoLevelMenuPage.xaml (1)

66-126: LGTM! Enhanced Upgrade button with improved gradient styling.

The Upgrade button has been successfully reimplemented using a ControlTemplate with:

  • Modern gradient color scheme (#FFD600 → #FF6EC4 → #FF3CAC)
  • Enhanced hover effect with stronger shadow
  • Proper left-aligned layout within the button template
  • Consistent tooltip and click handler

The implementation follows WPF best practices for custom control styling.

Ginger/Ginger/RunSetLib/CreateAutoRunWizardLib/AutoRunWizardCLITypePage.xaml (1)

37-37: Whitespace-only change.

This is a formatting adjustment with no functional impact.

Ginger/Ginger/RunSetLib/CreateAutoRunWizardLib/AutoRunWizardOptionsPage.xaml (2)

44-44: LGTM! Tooltip correctly updated.

The tooltip and image type are properly aligned for the External Configuration settings feature.


35-35: Verify tooltip consistency: Line 35 still says "Ginger Play Feature".

Line 35 has ToolTip="Ginger Play Feature" but the image type was changed to Building, which typically represents enterprise features. However, Line 44 correctly updates the tooltip to "Enterprise Feature" along with the same Building image type. This inconsistency may confuse users.

Apply this diff to align the tooltip with the new image type:

-                        <usercontrols:ImageMakerControl SetAsFontImageWithSize="16" ToolTip="Ginger Play Feature" ImageType="Building"  Width="20" Height="15" Foreground="{StaticResource $BackgroundColor_Black}" HorizontalAlignment="Left"/>
+                        <usercontrols:ImageMakerControl SetAsFontImageWithSize="16" ToolTip="Enterprise Feature" ImageType="Building"  Width="20" Height="15" Foreground="{StaticResource $BackgroundColor_Black}" HorizontalAlignment="Left"/>

Alternatively, if ALM connection is indeed a Ginger Play-specific feature, verify whether the image type should remain as GingerPlayWhiteGradiant instead.

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 03d2e6e and eb61299.

📒 Files selected for processing (3)
  • Ginger/Ginger/ExternalConfigurations/GingerPlayConfigurationpage.xaml.cs (2 hunks)
  • Ginger/Ginger/UserControlsLib/TwoLevelMenuLib/TwoLevelMenuPage.xaml.cs (2 hunks)
  • Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs (2 hunks)
🧰 Additional context used
🧠 Learnings (4)
📚 Learning: 2025-04-25T13:29:45.059Z
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#4188
File: Ginger/GingerCoreNET/RunLib/CLILib/DoOptionsHanlder.cs:22-23
Timestamp: 2025-04-25T13:29:45.059Z
Learning: The `using Amdocs.Ginger.Repository;` statement in Ginger/GingerCoreNET/RunLib/CLILib/DoOptionsHanlder.cs is necessary as it provides access to the `ObservableList<>` class which is used throughout the file for collections of RunSetConfig, AnalyzerItemBase, and ApplicationPOMModel objects.

Applied to files:

  • Ginger/Ginger/UserControlsLib/TwoLevelMenuLib/TwoLevelMenuPage.xaml.cs
  • Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs
📚 Learning: 2025-04-25T13:29:45.059Z
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#4188
File: Ginger/GingerCoreNET/RunLib/CLILib/DoOptionsHanlder.cs:22-23
Timestamp: 2025-04-25T13:29:45.059Z
Learning: The `using Amdocs.Ginger.Repository;` statement in Ginger/GingerCoreNET/RunLib/CLILib/DoOptionsHanlder.cs is necessary as it imports the ObservableList<> class which is used throughout the file.

Applied to files:

  • Ginger/Ginger/UserControlsLib/TwoLevelMenuLib/TwoLevelMenuPage.xaml.cs
  • Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs
📚 Learning: 2025-06-16T10:37:13.073Z
Learnt from: prashelke
PR: Ginger-Automation/Ginger#4232
File: Ginger/GingerCoreNET/ActionsLib/UI/VisualTesting/VRTAnalyzer.cs:19-22
Timestamp: 2025-06-16T10:37:13.073Z
Learning: In Ginger codebase, both `using amdocs.ginger.GingerCoreNET;` and `using Amdocs.Ginger.CoreNET;` are valid and serve different purposes. The first (lowercase) contains the WorkSpace class and related workspace functionality, while the second (proper case) contains drivers like GenericAppiumDriver and other core functionality. Both may be required in files that use types from both namespaces.

Applied to files:

  • Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs
📚 Learning: 2025-03-20T11:10:33.780Z
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#4137
File: Ginger/Ginger/SourceControl/SourceControlProjectsPage.xaml.cs:21-21
Timestamp: 2025-03-20T11:10:33.780Z
Learning: The `Amdocs.Ginger.Common.SourceControlLib` namespace is required in files that reference the `GingerSolution` class for source control operations in the Ginger automation framework.

Applied to files:

  • Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs
🧬 Code graph analysis (3)
Ginger/Ginger/UserControlsLib/TwoLevelMenuLib/TwoLevelMenuPage.xaml.cs (1)
Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs (2)
  • GingerPlayUtils (9-42)
  • GetGingerPlayGatewayURLIfConfigured (24-41)
Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs (3)
Ginger/GingerCoreCommon/External/Configurations/GingerPlayConfiguration.cs (1)
  • GingerPlayConfiguration (23-253)
Ginger/GingerCoreNET/WorkSpaceLib/WorkSpace.cs (1)
  • WorkSpace (61-1006)
Ginger/GingerCoreCommon/ReporterLib/Reporter.cs (1)
  • Reporter (28-357)
Ginger/Ginger/ExternalConfigurations/GingerPlayConfigurationpage.xaml.cs (1)
Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs (2)
  • GingerPlayUtils (9-42)
  • GetGingerPlayGatewayURLIfConfigured (24-41)
🔇 Additional comments (4)
Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs (2)

2-2: LGTM: Needed import for Reporter/eLogLevel

Required for Reporter.ToLog usage.


24-41: Preserve legacy URLs in GetGingerPlayGatewayURLIfConfigured to avoid UI regressions

  • In Ginger/GingerCoreNET/GeneralLib/GingerPlayUtils.cs, after checking GingerPlayGatewayUrl and GingerPlayEnabled, fallback to CentralizedAccountReportURL or CentralizedHTMLReportServiceURL when non-empty.
  • Continue logging only at DEBUG and return null on all “not configured/error” paths.
⛔ Skipped due to learnings
Learnt from: AmanPrasad43
PR: Ginger-Automation/Ginger#4314
File: Ginger/GingerCoreNET/RunLib/DynamicExecutionLib/DynamicExecutionManager.cs:960-976
Timestamp: 2025-09-30T06:03:09.397Z
Learning: In GingerPlayDetails configuration mapping (file: Ginger/GingerCoreNET/RunLib/DynamicExecutionLib/DynamicExecutionManager.cs), both EnableAccountReportService and EnableHTMLReportService should be mapped from gingerPlayConfig.GingerPlayReportServiceEnabled as they represent the same underlying service.
Ginger/Ginger/UserControlsLib/TwoLevelMenuLib/TwoLevelMenuPage.xaml.cs (1)

24-24: LGTM: New utility import

Import is correct for using GingerPlayUtils.

Ginger/Ginger/ExternalConfigurations/GingerPlayConfigurationpage.xaml.cs (1)

27-27: LGTM: New utility import

Required for GingerPlayUtils usage.

Comment thread Ginger/Ginger/ExternalConfigurations/GingerPlayConfigurationpage.xaml.cs Outdated
@prashelke
prashelke merged commit 876476c into Releases/Official-Release Oct 16, 2025
13 of 16 checks passed
@prashelke
prashelke deleted the BugFix/DesignIssuesGP branch October 16, 2025 10:22
@coderabbitai coderabbitai Bot mentioned this pull request Nov 17, 2025
15 tasks
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.

3 participants