Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: QBD direct bug fixes #1085

Merged
merged 3 commits into from
Nov 25, 2024

Conversation

DhaaraniCIT
Copy link
Contributor

@DhaaraniCIT DhaaraniCIT commented Nov 25, 2024

Description

fix: QBD direct bug fixes

Clickup

https://app.clickup.com/t/86cwzceku

Summary by CodeRabbit

Release Notes

  • New Features

    • Added a new ERROR state to the Accounting Export status for better error categorization.
    • Introduced a link to a help article for skipping exports in both QBD Direct and Sage Intacct.
  • Improvements

    • Updated parameter naming conventions for API calls related to export logs.
    • Enhanced the handling of accounting export summaries in the QBD Direct dashboard.
    • Introduced a new icon size for improved visibility in the QuickBooks connection setup.
    • Improved flexibility in the configuration confirmation dialog by using dynamic URLs for help articles.
  • Bug Fixes

    • Refined logic for converting failed statuses to error statuses in expense group handling.
    • Adjusted styling for the success icon in the download file component.

These changes improve the overall functionality and reliability of the export processes within the application.

Copy link
Contributor

coderabbitai bot commented Nov 25, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

The pull request introduces several changes across multiple files, primarily focusing on updating parameter naming conventions and enhancing enums for better state representation. The TaskLogGetParams type is modified to reflect a new property name, while the AccountingExport enum gains a new member for error handling. Additionally, the logic in various service and component files is adjusted to accommodate these updates, particularly in API parameter construction and response handling.

Changes

File Path Change Summary
src/app/core/models/db/task-log.model.ts Updated TaskLogGetParams property from export_log_id__in to export_log__id.
src/app/core/models/enum/enum.model.ts Added ERROR member to AccountingExport enum; updated EXPORT_QUEUED to include a trailing comma.
src/app/core/services/common/dashboard.service.ts Modified getTasks method to use export_log__id instead of export_log_id__in.
src/app/core/services/common/export-log.service.ts Added import for AccountingExportStatus; updated getExpenseGroups to convert FAILED to ERROR.
src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-dashboard/qbd-direct-dashboard.component.ts Replaced method for parsing API responses; updated employee field mapping source.
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-download-file/qbd-direct-download-file.component.html Removed class tw-pr-6-px from app-svg-icon component.
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-setup-connection/qbd-direct-setup-connection.component.html Updated success icon source to check-circle-outline-extra-large.
src/app/shared/components/core/svg-icon/svg-icon.component.ts Added mapping for 'check-circle-outline-extra-large' in ICON_MAPPING.
src/app/branding/c1-branding-config.ts Added HELPER_ARTICLE to QBD_DIRECT section in c1KbArticles.
src/app/branding/fyle-branding-config.ts Added HELPER_ARTICLE under QBD_DIRECT in fyleKbArticles.
src/app/core/models/branding/kb-article.model.ts Added HELPER_ARTICLE property to KbArticle type in onboardingArticles for QBD_DIRECT.
src/app/core/services/qbd-direct/qbd-direct-configuration/qbd-direct-connector.service.ts Renamed method from getQbdDirectConnection to getQBDConnectorSettings.
src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-connector/qbd-direct-onboarding-connector.component.ts Updated connection status handling and method for fetching settings.
src/app/shared/components/configuration/configuration-confirmation-dialog/configuration-confirmation-dialog.component.html Changed help article link to use dynamic binding for HELPER_ARTICLE.
src/app/shared/components/configuration/configuration-confirmation-dialog/configuration-confirmation-dialog.component.ts Added import for brandingKbArticles and updated redirect method to use it.

Possibly related PRs

  • intacct code prepend #936: Related to changes in the TaskLogGetParams type, which may affect how parameters are referenced in the codebase, similar to the changes in the main PR.
  • qbo code prepend changes #958: Involves modifications to API parameters, including changes to naming conventions that align with the updates made in the main PR.
  • fix: intacct prepend code field fix #1011: Addresses changes in the TaskLogGetParams type, specifically the property name update that is directly related to the changes in the main PR.
  • fix: qbd back end fixes #1049: Includes updates to the TaskLogGetParams type, specifically the property name change that mirrors the changes in the main PR.
  • fix: QBD direct bug fixes #1085: Fixes related to the TaskLogGetParams type, specifically the property name update that aligns with the changes made in the main PR.

Suggested reviewers

  • ashwin1111

🐰 In the meadow where changes bloom,
A new ERROR joins the room.
With export_log now refined,
Our code's more clear, well-defined.
So hop along, let's celebrate,
For better logs, we elevate! 🎉


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added the size/XS Extra Small PR label Nov 25, 2024
@DhaaraniCIT DhaaraniCIT added the deploy Triggers deployment of active branch to Staging label Nov 25, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (2)
src/app/core/services/common/export-log.service.ts (1)

Line range hint 27-54: Consider consistent error handling across methods

The getSkippedExpenses method might benefit from similar FAILED to ERROR status conversion for QBD direct cases to maintain consistency with getExpenseGroups.

src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-dashboard/qbd-direct-dashboard.component.ts (1)

Line range hint 1-180: Consider architectural improvements for better maintainability.

A few suggestions to enhance the code:

  1. Consider extracting the polling logic into a separate service to improve reusability and testability.
  2. The response array indices in setupPage are magic numbers. Consider destructuring the response array or using named constants for better maintainability.
  3. The error handling could be more robust by implementing retry logic for failed API calls.

Example of response destructuring:

forkJoin({
  exportErrors: this.getExportErrors$,
  accountingExport: this.getAccountingExportSummary$.pipe(catchError(() => of(null))),
  tasks: this.dashboardService.getAllTasks(...),
  exportIds: this.dashboardService.getExportableAccountingExportIds('v2'),
  exportSettings: this.QbdDirectExportSettingsService.getQbdExportSettings(),
  importSettings: this.importSettingService.getImportSettings()
}).subscribe(({exportErrors, accountingExport, tasks, exportIds, exportSettings, importSettings}) => {
  // Use named properties instead of array indices
});
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between a5eaa57 and b489d50.

📒 Files selected for processing (5)
  • src/app/core/models/db/task-log.model.ts (1 hunks)
  • src/app/core/models/enum/enum.model.ts (1 hunks)
  • src/app/core/services/common/dashboard.service.ts (1 hunks)
  • src/app/core/services/common/export-log.service.ts (2 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-dashboard/qbd-direct-dashboard.component.ts (2 hunks)
🔇 Additional comments (8)
src/app/core/models/db/task-log.model.ts (2)

26-26: Verify consistent parameter naming across the codebase

The parameter name change from export_log_id__in to export_log__id appears to be part of the QBD bug fixes. Let's ensure all consumers are updated accordingly.

✅ Verification successful

Parameter naming change is correctly implemented

The verification shows that:

  1. No instances of the old parameter name export_log_id__in exist in the codebase
  2. The new parameter export_log__id is used consistently in:
    • The type definition in task-log.model.ts
    • The dashboard service where it's specifically used for QBD Direct app context

The change appears to be part of a deliberate API parameter naming strategy where different parameter names are used based on the app context (Intacct vs QBD Direct).

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Search for any remaining usages of the old parameter name
# and verify the new parameter name is used consistently

echo "Checking for old parameter name usage..."
rg "export_log_id__in" -l

echo "Verifying new parameter usage..."
rg "export_log__id" -A 2 -B 2

Length of output: 967


26-26: Confirm API compatibility with backend

Since this parameter is likely used in API requests, we should verify that the backend API expects this new parameter name.

Consider adding a comment to document this parameter's purpose and expected format, especially if it represents a breaking change in the API contract.

✅ Verification successful

API compatibility verified - parameter name is correct

The search results confirm that export_log__id is the correct parameter name used consistently across the codebase, particularly in the QBD Direct integration. This is evidenced by:

  • The parameter is used in API requests in dashboard.service.ts: export_log__id is explicitly used as the parameter name for QBD Direct application
  • The endpoint /workspaces/${workspaceId}/export_logs/ is consistently used across multiple services
  • The export log functionality is properly integrated into the API layer through export-log.service.ts
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Look for API endpoint definitions or documentation
# that might reference this parameter

echo "Searching for API endpoint definitions..."
fd -e ts -e py | xargs rg -l "export_log.*id.*="

echo "Checking for API documentation..."
fd "api|swagger|openapi" --type f | xargs rg -l "export_log"

Length of output: 281


Script:

#!/bin/bash
# Let's try a broader search to understand the context and usage of export_log
# First, let's find all files containing "export_log"
echo "Files containing export_log:"
rg -l "export_log"

# Then, let's look for API-related files and endpoints
echo -e "\nAPI-related files:"
fd -e service.ts -e controller.ts -e api.ts

# Let's also check for any HTTP request implementations
echo -e "\nHTTP requests containing export_log:"
rg -B2 -A2 "export_log" -g "*.service.ts" -g "*.api.ts"

Length of output: 13474

src/app/core/services/common/export-log.service.ts (2)

6-6: LGTM!

The addition of AccountingExportStatus import is necessary for the new error handling logic.


88-91: ⚠️ Potential issue

Verify the status replacement logic

The current implementation replaces all statuses with ERROR when FAILED is present, which might inadvertently remove other valid statuses. Consider preserving other statuses while only replacing FAILED with ERROR.

Consider this alternative approach:

- if (params.status__in?.includes(AccountingExportStatus.FAILED)) {
-   params.status__in = AccountingExportStatus.ERROR;
- }
+ if (Array.isArray(params.status__in)) {
+   params.status__in = params.status__in.map(status => 
+     status === AccountingExportStatus.FAILED ? AccountingExportStatus.ERROR : status
+   );
+ }

Let's verify the impact:

✅ Verification successful

Based on the search results, I can now provide a final response:

The status replacement logic is correct and intentional

The codebase shows that FAILED and ERROR statuses are handled differently across different integrations:

  • For QBD Direct specifically (where this change is made), FAILED is converted to ERROR
  • Other integrations like Sage300 and Business Central handle FAILED alongside FATAL status
  • The conversion is specific to the QBD Direct export logs endpoint only

The current implementation is correct because:

  1. It's intentionally scoped to QBD Direct integration only
  2. The status conversion is a complete replacement rather than a mapping, which aligns with how QBD Direct specifically handles these statuses
  3. Other integrations preserve their existing FAILED status handling
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for other usages of AccountingExportStatus.FAILED
# to ensure we're handling all cases consistently

# Search for FAILED status usage
rg "AccountingExportStatus.FAILED" -A 5 -B 5

# Search for status__in assignments
ast-grep --pattern 'status__in = $_'

Length of output: 17127

src/app/core/services/common/dashboard.service.ts (1)

61-61: LGTM! Consider adding documentation for parameter naming.

The parameter name change from 'export_log_id__in' to 'export_log__id' for QBD_DIRECT aligns with the PR objectives and should fix the QBD direct integration issues.

Consider adding a comment explaining the different parameter naming conventions for each app type to improve maintainability:

+      // Parameter naming conventions:
+      // - QBD_DIRECT: export_log__id
+      // - INTACCT: expense_group_ids
+      // - Others: expense_group_id__in
       const expenseKey = appName === AppName.INTACCT ? 'expense_group_ids' : appName === AppName.QBD_DIRECT ? 'export_log__id' : 'expense_group_id__in';

Let's verify the API contract for the QBD direct integration:

✅ Verification successful

Parameter naming change is consistent across the codebase

The verification confirms that:

  • The new parameter name export_log__id is used consistently in both the dashboard service and the task-log model
  • No occurrences of the old parameter name export_log_id__in were found

The change is properly implemented and maintains consistency across the codebase.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the API parameter naming in the codebase
# Expected: The new parameter name should be consistently used across the codebase

# Check for any remaining occurrences of the old parameter name
rg "export_log_id__in" --type ts

# Check for consistent usage of the new parameter name
rg "export_log__id" --type ts

Length of output: 335

src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-dashboard/qbd-direct-dashboard.component.ts (2)

146-146: Verify the response array structure change.

The employee field mapping index changed from responses[3] to responses[4], which suggests a change in the API response structure. This change needs to be verified against the forkJoin order in the setupPage method.

✅ Verification successful

Let me gather more information about the forkJoin structure to verify the response array indices.


The index change to responses[4] is correct and consistent with the forkJoin structure

The setupPage() method shows that getQbdExportSettings() is the fifth item in the forkJoin array (index 4), which correctly corresponds to accessing responses[4].employee_field_mapping. The order is:

  1. getExportErrors$ [0]
  2. getAccountingExportSummary$ [1]
  3. getAllTasks() [2]
  4. getExportableAccountingExportIds() [3]
  5. getQbdExportSettings() [4]
  6. getImportSettings() [5]
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Look for other instances of this response array access to ensure consistency
rg 'responses\[\d\]\.employee_field_mapping'

# Check the forkJoin structure in other QBD components
ast-grep --pattern 'forkJoin([
  $$$
  $_ExportSettingsService.getQbdExportSettings(),
  $$$
])'

Length of output: 1798


Script:

#!/bin/bash
# Check the forkJoin setup in the QBD direct dashboard component
rg -A 20 'setupPage\(\)' src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-dashboard/qbd-direct-dashboard.component.ts

# Also check the import statements to understand the service methods being used
rg -A 5 'import.*ExportSettingsService' src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-dashboard/qbd-direct-dashboard.component.ts

Length of output: 1706


118-118: Verify the QBD-specific accounting summary parser implementation.

The change to use parseAPIResponseToAccountingSummaryForQbdDirect suggests QBD-specific parsing logic. Ensure that this new parser handles all QBD-specific edge cases correctly.

✅ Verification successful

Looking at the code, I can now see that there are two distinct parser methods in the AccountingExportSummaryModel class:

  1. parseAPIResponseToAccountingSummary - The original parser
  2. parseAPIResponseToAccountingSummaryForQbdDirect - The QBD-specific parser

The key difference between them is in how they map the response fields:

  • Original parser maps: total_expense_groups_count, successful_expense_groups_count, failed_expense_groups_count
  • QBD parser maps: total_export_log_count, successful_export_log_count, failed_export_log_count

This is a valid and necessary change as QBD Direct uses a different API response structure with "export_log" counts instead of "expense_groups" counts. The rest of the fields remain the same.

The QBD-specific parser implementation is correct and properly handles the different response structure.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for the implementation of the new parser method to verify its handling
ast-grep --pattern 'parseAPIResponseToAccountingSummaryForQbdDirect($_) {
  $$$
}'

# Search for any existing tests of this parser
rg -g '*.spec.ts' 'parseAPIResponseToAccountingSummaryForQbdDirect'

Length of output: 152


Script:

#!/bin/bash
# Let's try a broader search for the model and its methods
rg -A 5 "class AccountingExportSummaryModel" 

# Also search for any files containing AccountingExportSummaryModel
fd AccountingExportSummaryModel

# Search for any static methods in this model
ast-grep --pattern 'static parseAPIResponseToAccountingSummaryForQbdDirect'

# Let's also check for test files that might contain this model name
rg -g '*.spec.ts' "AccountingExportSummaryModel"

Length of output: 1910


Script:

#!/bin/bash
# Let's check the content of the accounting-export-summary model file
cat src/app/core/models/db/accounting-export-summary.model.ts

# Let's also check for any recent changes to this file
git log -p --max-count=1 src/app/core/models/db/accounting-export-summary.model.ts

# Search for any QBD-specific implementations or references
rg -g '*.ts' -B 2 -A 2 'qbd.*direct'

Length of output: 102642

src/app/core/models/enum/enum.model.ts (1)

625-626: LGTM! The changes improve error handling capabilities.

The addition of the ERROR state to AccountingExportStatus enum enhances error handling granularity, while the trailing comma maintains consistent code style.

@github-actions github-actions bot added size/S Small PR and removed size/XS Extra Small PR labels Nov 25, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (2)
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-setup-connection/qbd-direct-setup-connection.component.html (2)

Line range hint 77-77: Add security attributes to the iframe.

The YouTube iframe should include security-related attributes to prevent potential vulnerabilities.

Apply this diff:

-<iframe width="427" height="259" src="https://www.youtube.com/embed/2oYdc8KcQnk" frameborder="0"></iframe>
+<iframe 
+  width="427" 
+  height="259" 
+  src="https://www.youtube.com/embed/2oYdc8KcQnk" 
+  frameborder="0"
+  allow="accelerometer; encrypted-media; gyroscope; picture-in-picture"
+  sandbox="allow-scripts allow-same-origin allow-presentation"
+  loading="lazy"
+  title="QuickBooks Web Connector Setup Guide">
+</iframe>

Line range hint 41-47: Enhance accessibility for password visibility toggle.

The password visibility toggle buttons lack proper ARIA labels for screen readers.

Apply this diff:

-<app-svg-icon *ngIf="!isPasswordShown" [svgSource]="'eye-slash-medium'" [width]="'18px'" [height]="'18px'" [isTextColorAllowed]="true" [styleClasses]="'tw-text-icon-muted tw-cursor-pointer'" (iconClick)="showPassword(true)"></app-svg-icon>
-<app-svg-icon *ngIf="isPasswordShown" [svgSource]="'eye-medium'" [width]="'18px'" [height]="'18px'" [isTextColorAllowed]="true" [styleClasses]="'tw-text-icon-muted tw-cursor-pointer'" (iconClick)="showPassword(false)"></app-svg-icon>
+<app-svg-icon 
+  *ngIf="!isPasswordShown" 
+  [svgSource]="'eye-slash-medium'" 
+  [width]="'18px'" 
+  [height]="'18px'" 
+  [isTextColorAllowed]="true" 
+  [styleClasses]="'tw-text-icon-muted tw-cursor-pointer'"
+  [ariaLabel]="'Show password'"
+  role="button"
+  (iconClick)="showPassword(true)">
+</app-svg-icon>
+<app-svg-icon 
+  *ngIf="isPasswordShown" 
+  [svgSource]="'eye-medium'" 
+  [width]="'18px'" 
+  [height]="'18px'" 
+  [isTextColorAllowed]="true" 
+  [styleClasses]="'tw-text-icon-muted tw-cursor-pointer'"
+  [ariaLabel]="'Hide password'"
+  role="button"
+  (iconClick)="showPassword(false)">
+</app-svg-icon>
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between b489d50 and 7129c16.

⛔ Files ignored due to path filters (4)
  • src/assets/icons/check-circle-outline-extra-large.svg is excluded by !**/*.svg
  • src/assets/icons/co/grv-checkmark-encircled-extra-large.svg is excluded by !**/*.svg
  • src/assets/icons/eye-medium.svg is excluded by !**/*.svg
  • src/assets/sprites/sprite.svg is excluded by !**/*.svg
📒 Files selected for processing (3)
  • src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-download-file/qbd-direct-download-file.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-setup-connection/qbd-direct-setup-connection.component.html (1 hunks)
  • src/app/shared/components/core/svg-icon/svg-icon.component.ts (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-download-file/qbd-direct-download-file.component.html
🔇 Additional comments (3)
src/app/shared/components/core/svg-icon/svg-icon.component.ts (2)

23-23: LGTM! Icon mapping follows established pattern

The new icon mapping follows the existing naming convention and size progression pattern (small -> medium -> extra-large).


23-23: Verify the existence of the icon asset

Please ensure that the grv-checkmark-encircled-extra-large icon asset exists in your icon system.

✅ Verification successful

The icon asset exists and is properly implemented

The icon grv-checkmark-encircled-extra-large exists in both:

  • As an individual SVG file at src/assets/icons/co/grv-checkmark-encircled-extra-large.svg
  • As a symbol in the sprite sheet at src/assets/sprites/sprite.svg

The icon implementation is correct and available for use.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for the existence of the icon asset in common asset locations

# Search for the icon in asset files
echo "Searching for icon asset references..."
rg -l "grv-checkmark-encircled-extra-large" \
  --type html \
  --type css \
  --type scss \
  --type svg \
  --type ts

Length of output: 215


Script:

#!/bin/bash
# Description: Check for the existence of the icon asset in common asset locations with corrected file types

# Search for the icon in asset files
echo "Searching for icon asset references..."
rg -l "grv-checkmark-encircled-extra-large"

# Also search for SVG files that might contain this icon
echo -e "\nSearching for SVG files..."
fd -e svg

Length of output: 7432


Script:

#!/bin/bash
# Let's check the content of sprite.svg and the specific icon to verify its existence
echo "Checking sprite.svg for the icon..."
rg "grv-checkmark-encircled-extra-large" src/assets/sprites/sprite.svg -C 2

echo -e "\nChecking the individual SVG file..."
cat "src/assets/icons/co/grv-checkmark-encircled-extra-large.svg"

Length of output: 131374


Script:

#!/bin/bash
# Let's check the specific icon file content
echo "Checking the icon file content..."
cat src/assets/icons/co/grv-checkmark-encircled-extra-large.svg

echo -e "\nChecking sprite.svg references..."
rg -A 2 -B 2 "grv-checkmark-encircled-extra-large" src/assets/sprites/sprite.svg

Length of output: 132314

src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-setup-connection/qbd-direct-setup-connection.component.html (1)

88-88: LGTM! Verify the SVG icon registration.

The increased icon size (40px) and updated source improve the success state's visibility.

Let's verify that the new SVG icon is properly registered:

✅ Verification successful

SVG icon is properly registered ✓

The check-circle-outline-extra-large icon is correctly registered in the SVG icon registry at src/app/shared/components/core/svg-icon/svg-icon.component.ts and maps to grv-checkmark-encircled-extra-large.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if the new SVG icon is registered in the codebase

# Search for SVG icon registration
rg -A 2 "check-circle-outline-extra-large" --type ts

Length of output: 385

@DhaaraniCIT DhaaraniCIT added deploy Triggers deployment of active branch to Staging and removed deploy Triggers deployment of active branch to Staging labels Nov 25, 2024
@github-actions github-actions bot added size/M Medium PR and removed size/S Small PR labels Nov 25, 2024
Copy link

Unit Test Coverage % values
Statements 34.86% ( 4249 / 12188 )
Branches 28.82% ( 1233 / 4277 )
Functions 27.48% ( 939 / 3417 )
Lines 35% ( 4179 / 11938 )

@DhaaraniCIT DhaaraniCIT merged commit a561310 into qbd-direct-QA-round-1 Nov 25, 2024
4 checks passed
DhaaraniCIT added a commit that referenced this pull request Nov 25, 2024
* QA fixes

* qa fixes

* qa fixes

* fix: qbd direct export settings onboarding changes and content changes (#1082)

* qbd direct export settings onboarding changes and content changes

* fix: qbd direct import settings onboarding changes and content changes (#1083)

* qbd direct import settings onboarding changes and content changes

* qbd direct advanced settings onboarding changes and content changes (#1084)

* QA fixes

* fix: QBD direct bug fixes (#1085)

* QBD direct bug fixes

* QBD direct bug fixes

* QBD direct bug fixes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deploy Triggers deployment of active branch to Staging size/M Medium PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants