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

feat: common main page padding style conversion #1163

Merged
merged 3 commits into from
Jan 28, 2025

Conversation

DhaaraniCIT
Copy link
Contributor

@DhaaraniCIT DhaaraniCIT commented Jan 23, 2025

Description

feat: common main page padding style conversion

Clickup

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

Summary by CodeRabbit

Based on the comprehensive summary, here are the updated release notes:

  • New Features

    • Added centralized branding style configuration across multiple components.
    • Introduced mainComponentPadding and mainComponentShadow for consistent styling.
  • Improvements

    • Simplified style management by replacing conditional class bindings with a centralized style object.
    • Enhanced component immutability by making branding style properties read-only.
  • Technical Updates

    • Updated multiple integration components to use new branding style configuration.
    • Refactored HTML templates to use brandingStyle.common properties.
  • Performance

    • Reduced template complexity by removing multiple conditional style checks.

Copy link
Contributor

coderabbitai bot commented Jan 23, 2025

Walkthrough

The pull request introduces a comprehensive update to the branding configuration across multiple components in the application. The existing property configurationCommonStyle is replaced with configurationContents, and new properties mainComponentPadding and mainComponentShadow are added to both c1Styles.common and fyleStyles. These properties are then utilized in various components to centralize and simplify the application of padding and shadow styles. The changes involve adding a new brandingStyle import and declaring it as a readonly property in numerous components, replacing conditional class bindings with a more centralized approach to styling.

Changes

File Path Change Summary
src/app/branding/c1-style-config.ts Replaced configurationCommonStyle with configurationContents, added mainComponentPadding, mainComponentShadow, and mappingHeaderBoxShadow to c1Styles object
src/app/branding/fyle-style-config.ts Replaced configurationCommonStyle with configurationContents, added mainComponentPadding, mainComponentShadow, and mappingHeaderBoxShadow to fyleStyles object
Multiple component HTML files Replaced conditional ngClass bindings with brandingStyle.common.mainComponentPadding or brandingStyle.common.mainComponentShadow
Multiple component TS files Added readonly brandingStyle property and corresponding import

Possibly related PRs

  • feat: common main pages shadow style conversion #1164: The changes in this PR involve the addition of a new property mapping in the c1Styles object, which includes mappingHeaderBoxShadow. This is related to the main PR as both involve modifications to shadow styles in the branding configuration, specifically in the context of the c1Styles and fyleStyles objects.

Suggested Labels

size/L

Suggested Reviewers

  • ashwin1111

Poem

🐰 Styling Rabbit's Magical Hop 🎨
With padding and shadows so bright,
Our branding styles now take flight!
Readonly magic, no more condition,
A centralized styling rendition.
Hop, hop, hooray for clean design! 🌈


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 generate docstrings to generate docstrings for this PR. (Beta)
  • @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/M Medium PR label Jan 23, 2025
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: 2

🧹 Nitpick comments (16)
src/app/integrations/business-central/business-central-main/business-central-export-log/business-central-export-log.component.ts (1)

4-4: Great work on maintaining consistency across components!

The implementation effectively centralizes the padding styles while maintaining a consistent pattern across all components. The use of readonly modifiers ensures proper immutability.

Consider documenting the brandingStyle structure in the README or creating a separate documentation file to help other developers understand the available styling options and their intended usage.

Also applies to: 26-29

src/app/integrations/netsuite/netsuite-main/netsuite-configuration/netsuite-configuration.component.ts (2)

Line range hint 32-35: Remove commented code if no longer needed.

There's commented code in the ngOnInit method that should be removed if it's no longer required. If it's kept for future reference, consider documenting the reason in a TODO comment or moving it to documentation.


1-1: Consider documenting the branding configuration architecture.

The changes implement a consistent pattern for branding styles across components, which is good for maintainability. Consider:

  1. Documenting the purpose and usage of different branding configuration files (branding-config.ts vs c1-contents-config.ts)
  2. Adding examples of how to use the new brandingStyle in component templates
  3. Creating a migration guide for converting existing components

This will help future developers understand and correctly implement the branding system.

src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-mapping.component.ts (1)

5-5: LGTM! Consider consolidating branding-related properties.

The changes are consistent with other components. However, since this component uses multiple branding-related properties (brandingConfig, brandingFeatureConfig, brandingStyle), consider consolidating them into a single branding service in a future refactor to improve maintainability.

Also applies to: 31-32

src/app/integrations/xero/xero-main/xero-mapping/xero-mapping.component.ts (1)

5-5: LGTM! Consider adding JSDoc comments.

The addition of brandingStyle import and readonly property aligns with the centralized styling approach. Consider adding JSDoc comments to document the purpose of this property.

/**
 * Centralized branding styles for consistent component styling
 * @readonly
 */
readonly brandingStyle = brandingStyle;

Also applies to: 31-31

src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-pre-requisite/qbd-direct-onboarding-pre-requisite.component.ts (1)

67-67: LGTM! Consider grouping branding-related properties.

The addition of readonly brandingStyle property is correct. Consider grouping all branding-related properties together for better code organization.

-  brandingContent = brandingContent.qbd_direct.configuration.preRequisite;
-  brandingConfig: BrandingConfiguration = brandingConfig;
-  readonly brandingStyle = brandingStyle;
+  // Branding configurations
+  readonly brandingContent = brandingContent.qbd_direct.configuration.preRequisite;
+  readonly brandingConfig: BrandingConfiguration = brandingConfig;
+  readonly brandingStyle = brandingStyle;
src/app/integrations/qbd/qbd-main/qbd-mapping/qbd-generic-mapping/qbd-generic-mapping.component.ts (1)

4-4: LGTM! Consider grouping related properties.

The addition of readonly brandingStyle property improves type safety. Consider grouping it with the other branding-related property (brandingConfig) for better code organization.

  readonly brandingConfig = brandingConfig;
+ readonly brandingStyle = brandingStyle;
  readonly AppName = AppName;
- readonly brandingStyle = brandingStyle;

Also applies to: 56-57

src/app/integrations/travelperk/travelperk-shared/travelperk-advanced-settings/travelperk-advanced-settings.component.ts (1)

65-65: Consider regrouping configuration properties.

The readonly brandingStyle property should be grouped with other configuration-related properties (brandingConfig) for better code organization and maintainability.

  readonly brandingConfig = brandingConfig;
+ readonly brandingStyle = brandingStyle;

  defaultCategories: TravelperkDestinationAttribuite[];
  destinationFieldOptions: SelectFormOption[] = TravelperkAdvancedSettingModel.getDefaultCategory();
  defaultMemoOptions: string[] = ['trip_id', 'trip_name', 'traveler_name', 'booker_name', 'merchant_name'];
  memoPreviewText: string;
  memoStructure: string[] = [];
  destinationAttributeNames: SelectFormLabel = {
    label: 'label',
    value: ''
  };
  sourceAttributeNames: SelectFormLabel = {
    label: 'value',
    value: ''
  };
  lineItems: SelectFormOption[] = TravelperkAdvancedSettingModel.getExpenseGroup();
- readonly brandingStyle = brandingStyle;
src/app/integrations/xero/xero-shared/xero-advanced-settings/xero-advanced-settings.component.ts (1)

74-76: Remove extra blank line after brandingStyle property.

The property is correctly grouped with other branding-related properties, but has an unnecessary extra blank line after it.

  readonly brandingContent = brandingContent.xero.configuration.advancedSettings;
  readonly brandingStyle = brandingStyle;
-

  constructor(
src/app/integrations/qbo/qbo-onboarding/qbo-onboarding-connector/qbo-onboarding-connector.component.ts (1)

76-76: LGTM! Part of consistent styling centralization.

The readonly brandingStyle property follows the same pattern implemented across other components, contributing to a more maintainable styling approach.

This change is part of a broader architectural improvement that:

  1. Centralizes branding styles
  2. Ensures configuration immutability
  3. Makes styling more consistent across components
src/app/integrations/qbd/qbd-main/qbd-dashboard/qbd-dashboard.component.ts (1)

75-76: Remove unnecessary blank line after brandingStyle declaration.

While the readonly brandingStyle property is correctly implemented, there's an extra blank line that can be removed to maintain consistent spacing with other property declarations.

  readonly brandingStyle = brandingStyle;
-
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-advanced-settings/qbd-direct-advanced-settings.component.ts (1)

Line range hint 85-85: Well-structured approach to branding style management.

The systematic addition of readonly brandingStyle across components demonstrates good architectural practices:

  • Ensures consistent styling implementation across different parts of the application
  • Prevents accidental modifications to branding styles during runtime
  • Centralizes branding configuration, making it easier to maintain and update

Also applies to: 73-73, 75-76, 98-98

src/app/integrations/intacct/intacct-main/intacct-mapping/intacct-mapping.component.html (1)

3-3: Consider consolidating padding styles.

Similar to other mapping components, this combines fixed tw-py-40-px with dynamic brandingStyle.common.mainPaddingStyle. Consider consolidating all padding into the centralized style configuration for better maintainability.

src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-configuration/qbd-direct-configuration.component.html (1)

3-7: Consider standardizing the padding structure across components.

The padding structure here differs from other components:

  • Other components: Single div with both tw-py-40-px and mainPaddingStyle
  • This component: Nested divs with separate padding styles

This structural inconsistency could make maintenance more challenging.

Consider adopting the same structure as other components for consistency:

-<div class="tw-py-40-px">
-    <div [ngClass]="brandingStyle.common.mainPaddingStyle">
+<div class="tw-py-40-px" [ngClass]="brandingStyle.common.mainPaddingStyle">
-    </div>
src/app/shared/components/dashboard/dashboard-export-section/dashboard-export-section.component.html (1)

1-2: LGTM! Consider standardizing shadow styles in future.

The padding style change looks good. However, notice that shadow styles are still conditionally applied based on brandId. Consider standardizing these in a future PR for better maintainability.

src/app/shared/components/dashboard/dashboard-error-section/dashboard-error-section.component.html (1)

1-2: LGTM! Consider comprehensive styling standardization.

The padding style change is good. However, there are multiple brand-specific styles still in use:

  1. Shadow styles based on brandId
  2. Text case transformations based on brandId (e.g., sentenceCase vs titlecase)

Consider creating a comprehensive styling strategy that standardizes these variations through the branding configuration.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c7e2520 and 4703b7c.

📒 Files selected for processing (82)
  • src/app/branding/c1-style-config.ts (1 hunks)
  • src/app/branding/fyle-style-config.ts (1 hunks)
  • src/app/integrations/business-central/business-central-main/business-central-export-log/business-central-export-log.component.html (1 hunks)
  • src/app/integrations/business-central/business-central-main/business-central-export-log/business-central-export-log.component.ts (2 hunks)
  • src/app/integrations/business-central/business-central-main/business-central-mapping/business-central-mapping.component.html (1 hunks)
  • src/app/integrations/business-central/business-central-main/business-central-mapping/business-central-mapping.component.ts (2 hunks)
  • src/app/integrations/business-central/business-central-onboarding/business-central-onboarding-connector/business-central-onboarding-connector.component.ts (1 hunks)
  • src/app/integrations/business-central/business-central-shared/business-central-advanced-settings/business-central-advanced-settings.component.ts (1 hunks)
  • src/app/integrations/business-central/business-central-shared/business-central-export-settings/business-central-export-settings.component.ts (1 hunks)
  • src/app/integrations/business-central/business-central-shared/business-central-import-settings/business-central-import-settings.component.ts (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-configuration/intacct-configuration.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-configuration/intacct-configuration.component.ts (2 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-export-log.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-export-log.component.ts (2 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-mapping/intacct-mapping.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-mapping/intacct-mapping.component.ts (2 hunks)
  • src/app/integrations/intacct/intacct-shared/intacct-advanced-settings/intacct-advanced-settings.component.ts (1 hunks)
  • src/app/integrations/intacct/intacct-shared/intacct-c1-import-settings/intacct-c1-import-settings.component.ts (1 hunks)
  • src/app/integrations/intacct/intacct-shared/intacct-export-settings/intacct-export-settings.component.ts (1 hunks)
  • src/app/integrations/intacct/intacct-shared/intacct-import-settings/intacct-import-settings.component.ts (1 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-configuration/netsuite-configuration.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-configuration/netsuite-configuration.component.ts (2 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-export-log.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-export-log.component.ts (2 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-mapping/netsuite-mapping.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-mapping/netsuite-mapping.component.ts (2 hunks)
  • src/app/integrations/netsuite/netsuite-shared/netsuite-advanced-settings/netsuite-advanced-settings.component.ts (1 hunks)
  • src/app/integrations/netsuite/netsuite-shared/netsuite-export-settings/netsuite-export-settings.component.ts (1 hunks)
  • src/app/integrations/netsuite/netsuite-shared/netsuite-import-settings/netsuite-import-settings.component.ts (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-configuration/qbd-direct-configuration.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-configuration/qbd-direct-configuration.component.ts (2 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-export-log.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-export-log.component.ts (2 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-mapping/qbd-direct-mapping.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-mapping/qbd-direct-mapping.component.ts (2 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-connector/qbd-direct-onboarding-connector.component.ts (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-pre-requisite/qbd-direct-onboarding-pre-requisite.component.ts (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-advanced-settings/qbd-direct-advanced-settings.component.ts (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-import-settings/qbd-direct-import-settings.component.ts (1 hunks)
  • src/app/integrations/qbd/qbd-main/qbd-dashboard/qbd-dashboard.component.html (1 hunks)
  • src/app/integrations/qbd/qbd-main/qbd-dashboard/qbd-dashboard.component.ts (2 hunks)
  • src/app/integrations/qbd/qbd-main/qbd-mapping/qbd-generic-mapping/qbd-generic-mapping.component.html (1 hunks)
  • src/app/integrations/qbd/qbd-main/qbd-mapping/qbd-generic-mapping/qbd-generic-mapping.component.ts (2 hunks)
  • src/app/integrations/qbd/qbd-shared/qbd-advanced-setting/qbd-advanced-setting.component.ts (1 hunks)
  • src/app/integrations/qbd/qbd-shared/qbd-export-setting/qbd-export-setting.component.ts (1 hunks)
  • src/app/integrations/qbd/qbd-shared/qbd-field-mapping/qbd-field-mapping.component.ts (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-configuration/qbo-configuration.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-configuration/qbo-configuration.component.ts (2 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-export-log.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-export-log.component.ts (2 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-mapping.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-mapping.component.ts (2 hunks)
  • src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.ts (1 hunks)
  • src/app/integrations/qbo/qbo-onboarding/qbo-onboarding-connector/qbo-onboarding-connector.component.ts (1 hunks)
  • src/app/integrations/qbo/qbo-shared/qbo-advanced-settings/qbo-advanced-settings.component.ts (1 hunks)
  • src/app/integrations/qbo/qbo-shared/qbo-export-settings/qbo-export-settings.component.ts (1 hunks)
  • src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.ts (1 hunks)
  • src/app/integrations/sage300/sage300-main/sage300-export-log/sage300-export-log.component.html (1 hunks)
  • src/app/integrations/sage300/sage300-main/sage300-export-log/sage300-export-log.component.ts (2 hunks)
  • src/app/integrations/sage300/sage300-main/sage300-mapping/sage300-mapping.component.html (1 hunks)
  • src/app/integrations/sage300/sage300-main/sage300-mapping/sage300-mapping.component.ts (2 hunks)
  • src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-connector/sage300-onboarding-connector.component.ts (1 hunks)
  • src/app/integrations/sage300/sage300-shared/sage300-advanced-settings/sage300-advanced-settings.component.ts (1 hunks)
  • src/app/integrations/sage300/sage300-shared/sage300-export-settings/sage300-export-settings.component.ts (1 hunks)
  • src/app/integrations/sage300/sage300-shared/sage300-import-settings/sage300-import-settings.component.ts (1 hunks)
  • src/app/integrations/travelperk/travelperk-shared/travelperk-advanced-settings/travelperk-advanced-settings.component.ts (1 hunks)
  • src/app/integrations/travelperk/travelperk-shared/travelperk-payment-profile-settings/travelperk-payment-profile-settings.component.ts (1 hunks)
  • src/app/integrations/xero/xero-main/xero-configuration/xero-configuration.component.html (1 hunks)
  • src/app/integrations/xero/xero-main/xero-configuration/xero-configuration.component.ts (2 hunks)
  • src/app/integrations/xero/xero-main/xero-export-log/xero-export-log.component.html (1 hunks)
  • src/app/integrations/xero/xero-main/xero-export-log/xero-export-log.component.ts (2 hunks)
  • src/app/integrations/xero/xero-main/xero-mapping/xero-mapping.component.html (1 hunks)
  • src/app/integrations/xero/xero-main/xero-mapping/xero-mapping.component.ts (2 hunks)
  • src/app/integrations/xero/xero-onboarding/xero-clone-settings/xero-clone-settings.component.ts (1 hunks)
  • src/app/integrations/xero/xero-onboarding/xero-onboarding-connector/xero-onboarding-connector.component.ts (1 hunks)
  • src/app/integrations/xero/xero-shared/xero-advanced-settings/xero-advanced-settings.component.ts (1 hunks)
  • src/app/integrations/xero/xero-shared/xero-export-settings/xero-export-settings.component.ts (1 hunks)
  • src/app/integrations/xero/xero-shared/xero-import-settings/xero-import-settings.component.ts (1 hunks)
  • src/app/shared/components/dashboard/dashboard-error-section/dashboard-error-section.component.html (1 hunks)
  • src/app/shared/components/dashboard/dashboard-error-section/dashboard-error-section.component.ts (2 hunks)
  • src/app/shared/components/dashboard/dashboard-export-section/dashboard-export-section.component.html (1 hunks)
  • src/app/shared/components/dashboard/dashboard-export-section/dashboard-export-section.component.ts (2 hunks)
⛔ Files not processed due to max files limit (6)
  • src/app/shared/components/dashboard/dashboard-export-summary-section/dashboard-export-summary-section.component.html
  • src/app/shared/components/dashboard/dashboard-export-summary-section/dashboard-export-summary-section.component.ts
  • src/app/shared/components/netsuite/core/netsuite-connector/netsuite-connector.component.ts
  • src/app/shared/components/netsuite/core/netsuite-subsidiary-mapping/netsuite-subsidiary-mapping.component.ts
  • src/app/shared/components/si/core/intacct-connector/intacct-connector.component.ts
  • src/app/shared/components/si/core/intacct-location-entity/intacct-location-entity.component.ts
✅ Files skipped from review due to trivial changes (19)
  • src/app/integrations/qbd/qbd-shared/qbd-export-setting/qbd-export-setting.component.ts
  • src/app/integrations/intacct/intacct-shared/intacct-advanced-settings/intacct-advanced-settings.component.ts
  • src/app/integrations/xero/xero-shared/xero-import-settings/xero-import-settings.component.ts
  • src/app/integrations/sage300/sage300-shared/sage300-import-settings/sage300-import-settings.component.ts
  • src/app/integrations/intacct/intacct-shared/intacct-import-settings/intacct-import-settings.component.ts
  • src/app/integrations/business-central/business-central-shared/business-central-advanced-settings/business-central-advanced-settings.component.ts
  • src/app/integrations/qbd/qbd-shared/qbd-advanced-setting/qbd-advanced-setting.component.ts
  • src/app/integrations/qbo/qbo-shared/qbo-advanced-settings/qbo-advanced-settings.component.ts
  • src/app/integrations/netsuite/netsuite-shared/netsuite-import-settings/netsuite-import-settings.component.ts
  • src/app/integrations/netsuite/netsuite-shared/netsuite-export-settings/netsuite-export-settings.component.ts
  • src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.ts
  • src/app/integrations/business-central/business-central-shared/business-central-export-settings/business-central-export-settings.component.ts
  • src/app/integrations/sage300/sage300-shared/sage300-export-settings/sage300-export-settings.component.ts
  • src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.ts
  • src/app/integrations/intacct/intacct-shared/intacct-c1-import-settings/intacct-c1-import-settings.component.ts
  • src/app/integrations/qbd/qbd-shared/qbd-field-mapping/qbd-field-mapping.component.ts
  • src/app/integrations/qbo/qbo-shared/qbo-export-settings/qbo-export-settings.component.ts
  • src/app/integrations/business-central/business-central-onboarding/business-central-onboarding-connector/business-central-onboarding-connector.component.ts
  • src/app/integrations/intacct/intacct-shared/intacct-export-settings/intacct-export-settings.component.ts
🔇 Additional comments (54)
src/app/integrations/sage300/sage300-main/sage300-mapping/sage300-mapping.component.ts (2)

5-5: LGTM! Clean import statement addition.

The import statement follows Angular best practices by grouping related branding imports together.


31-31: LGTM! Good use of readonly modifier.

The property declaration follows the existing pattern in the component and correctly uses the readonly modifier for configuration data.

src/app/integrations/netsuite/netsuite-main/netsuite-mapping/netsuite-mapping.component.ts (2)

5-5: LGTM! Import statement updated correctly.

The addition of brandingStyle to the existing branding-related imports is consistent with the PR's objective of centralizing padding styles.


31-31: LGTM! Property declaration follows established patterns.

The new readonly property follows the same pattern as other branding-related properties in the component, maintaining consistency in the codebase.

Let's verify the usage of this new property in the template file:

✅ Verification successful

Property declaration and usage verified successfully

The brandingStyle property is correctly used in the template with ngClass directive, confirming proper implementation.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of brandingStyle in the template
# Expected: Should find usage of brandingStyle.common.mainPaddingStyle in the HTML template

rg "brandingStyle\.common\.mainPaddingStyle" "src/app/integrations/netsuite/netsuite-main/netsuite-mapping/netsuite-mapping.component.html"

Length of output: 234

src/app/integrations/intacct/intacct-main/intacct-mapping/intacct-mapping.component.ts (2)

5-5: LGTM! Clean import addition.

The brandingStyle import is properly grouped with other branding-related imports.


33-33: LGTM! Consistent property declaration.

The brandingStyle property is correctly declared as readonly, maintaining consistency with other branding-related properties in the class.

Let's verify that the template is properly using this new property:

✅ Verification successful

Template correctly uses the brandingStyle property

The template properly binds the brandingStyle.common.mainPaddingStyle through the ngClass directive, confirming correct implementation.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the template usage of brandingStyle
# Expected: The template should use brandingStyle.common.mainPaddingStyle

rg -t html "brandingStyle\.common\.mainPaddingStyle" "src/app/integrations/intacct/intacct-main/intacct-mapping/intacct-mapping.component.html"

Length of output: 238

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

5-5: LGTM! Clean import addition.

The import statement is correctly placed and follows Angular conventions.


35-35: LGTM! Good use of readonly property.

The declaration follows the established pattern in the file for branding-related configurations and ensures immutability.

src/app/branding/fyle-style-config.ts (1)

8-10: LGTM! Good approach to centralizing styles.

The addition of mainPaddingStyle and mainShadowStyle properties follows a consistent pattern with the existing configuration. Using Tailwind CSS classes helps maintain consistency and makes the styles more maintainable.

src/app/branding/c1-style-config.ts (1)

8-10: Verify shadow class naming consistency across brands.

While the different padding values between brands make sense, the shadow classes use different naming patterns:

  • Fyle: tw-shadow-app-card
  • C1: tw-shadow-shadow-level-1

Please verify if this difference is intentional or if we should maintain consistent class naming across brands.

✅ Verification successful

Shadow class naming difference is intentional and properly configured

The different shadow naming patterns reflect each brand's design system approach:

  • Fyle uses semantic naming (tw-shadow-app-card) with deeper, brand-colored shadows
  • C1 uses systematic naming (tw-shadow-shadow-level-1) with lighter, neutral shadows

Both are properly defined in the Tailwind configuration and the difference should be maintained.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for shadow class usage across the codebase
echo "Searching for shadow classes..."
rg -l "tw-shadow-(app-card|shadow-level-1)"

echo -e "\nChecking Tailwind config for shadow definitions..."
fd -g "tailwind.config.*" -x cat {} \; | grep -A 5 "boxShadow"

Length of output: 3680


Script:

#!/bin/bash
# Search for shadow-level-1 definition in configuration files
echo "Searching for shadow-level-1 definition..."
rg -p "shadow-level-1" --type ts --type js --type json

echo -e "\nSearching for shadow configuration files..."
fd -g "*shadow*.{ts,js,json}"

echo -e "\nSearching for additional Tailwind theme files..."
fd -g "*theme*.{ts,js,json}" -x cat {} \;

Length of output: 768

src/app/integrations/xero/xero-main/xero-export-log/xero-export-log.component.ts (1)

4-4: LGTM! Good use of readonly modifier.

The addition of the brandingStyle property follows the existing pattern of other branding-related properties and maintains immutability with the readonly modifier.

Also applies to: 25-26

src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-export-log.component.ts (1)

4-4: LGTM! Consistent implementation across components.

The changes maintain consistency with other integration components, following the same pattern of importing and declaring the brandingStyle property as readonly.

Also applies to: 26-27

src/app/integrations/sage300/sage300-main/sage300-export-log/sage300-export-log.component.ts (1)

4-4: LGTM! Clean addition of brandingStyle.

The changes align well with the PR's objective of centralizing padding styles. The readonly modifier ensures proper immutability.

Also applies to: 26-26

src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-export-log.component.ts (1)

4-4: LGTM! Consistent implementation.

The changes maintain consistency with other components in the codebase.

Also applies to: 26-26

src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-export-log.component.ts (1)

4-4: LGTM! Maintains consistent pattern.

The implementation follows the established pattern across components.

Also applies to: 28-28

src/app/integrations/business-central/business-central-main/business-central-export-log/business-central-export-log.component.ts (1)

4-4: LGTM! Consistent implementation with other components.

The changes maintain consistency with the established pattern.

Let's verify that the corresponding template files have been updated to use the new brandingStyle:

Also applies to: 26-26

✅ Verification successful

Template correctly implements brandingStyle padding

The template file has been properly updated to use brandingStyle.common.mainPaddingStyle and no legacy padding styles remain.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if all export-log component templates use brandingStyle.common.mainPaddingStyle

echo "Checking template files for brandingStyle usage..."
rg -l "brandingStyle\.common\.mainPaddingStyle" \
  src/app/integrations/*/*/export-log/*.html

echo -e "\nChecking for any remaining ngClass conditional padding..."
rg "ngClass.*padding" \
  src/app/integrations/*/*/export-log/*.html

Length of output: 571


Script:

#!/bin/bash
# First, verify the template file exists
echo "Checking for template file..."
fd -e html . src/app/integrations/business-central

echo -e "\nChecking template for brandingStyle usage..."
rg "brandingStyle\.common\.mainPaddingStyle" \
   src/app/integrations/business-central/business-central-main/business-central-export-log/

echo -e "\nChecking for any remaining ngClass conditional padding..."
rg "ngClass.*padding" \
   src/app/integrations/business-central/business-central-main/business-central-export-log/

Length of output: 3543

src/app/integrations/qbo/qbo-main/qbo-configuration/qbo-configuration.component.ts (1)

3-3: LGTM! Clean implementation of branding style.

The changes follow the established pattern in the codebase, correctly importing and declaring the brandingStyle property as readonly.

Also applies to: 26-26

src/app/integrations/xero/xero-main/xero-configuration/xero-configuration.component.ts (1)

3-3: LGTM! Consistent implementation across components.

The changes mirror the implementation in other configuration components, maintaining consistency in the codebase.

Also applies to: 26-26

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

5-7: Verify the different source for brandingConfig import.

There seems to be an inconsistency in the import sources:

  • brandingStyle is imported from 'src/app/branding/branding-config'
  • brandingConfig is imported from 'src/app/branding/c1-contents-config'

Other components import all branding-related configs from 'branding-config'.

src/app/integrations/netsuite/netsuite-main/netsuite-configuration/netsuite-configuration.component.ts (1)

3-3: LGTM! Consistent implementation of branding style.

The changes align with the implementation in other configuration components.

Also applies to: 26-26

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

5-5: LGTM! Clean addition of brandingStyle.

The changes properly integrate the brandingStyle property while maintaining immutability with readonly modifier.

Also applies to: 31-32

src/app/integrations/intacct/intacct-main/intacct-configuration/intacct-configuration.component.ts (1)

4-4: LGTM! Consistent implementation of brandingStyle.

The changes align with the pattern seen in other components, maintaining immutability and proper organization.

Also applies to: 21-22

src/app/integrations/business-central/business-central-main/business-central-mapping/business-central-mapping.component.ts (1)

5-5: LGTM! Clean integration of brandingStyle.

The changes maintain consistency with other components while preserving the existing mapping functionality.

Also applies to: 30-31

src/app/shared/components/dashboard/dashboard-export-section/dashboard-export-section.component.ts (1)

2-2: LGTM! Consistent with branding configuration pattern.

The addition of brandingStyle property follows the existing pattern of branding configuration properties in the component.

Also applies to: 47-47

src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-connector/sage300-onboarding-connector.component.ts (1)

37-37: LGTM! Clean integration of branding styles.

The addition of readonly brandingStyle property is clean and doesn't interfere with existing component functionality.

src/app/integrations/travelperk/travelperk-shared/travelperk-payment-profile-settings/travelperk-payment-profile-settings.component.ts (1)

58-58: LGTM! Property placement is consistent.

The readonly brandingStyle property is correctly placed with other configuration properties.

src/app/integrations/xero/xero-shared/xero-export-settings/xero-export-settings.component.ts (1)

93-93: LGTM! Good practice using readonly for branding styles.

Making the branding style property readonly prevents accidental modifications and aligns with the centralization of styling configurations.

src/app/integrations/business-central/business-central-shared/business-central-import-settings/business-central-import-settings.component.ts (1)

67-67: LGTM! Consistent with the centralized styling approach.

The readonly modifier ensures immutability of the branding style configuration.

src/app/shared/components/dashboard/dashboard-error-section/dashboard-error-section.component.ts (1)

2-2: LGTM! Appropriate addition of branding styles to shared component.

The changes follow the consistent pattern of centralizing styles, with good code formatting.

Also applies to: 108-109

src/app/integrations/xero/xero-onboarding/xero-onboarding-connector/xero-onboarding-connector.component.ts (1)

85-85: LGTM! Good practice using readonly modifier.

The addition of the readonly modifier for brandingStyle property ensures immutability and prevents accidental modifications during the component's lifecycle.

src/app/integrations/sage300/sage300-shared/sage300-advanced-settings/sage300-advanced-settings.component.ts (1)

73-73: LGTM! Consistent with the application-wide pattern.

The readonly brandingStyle property follows the same pattern used across other components, maintaining consistency in the codebase.

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

12-12: LGTM! Import added correctly.

The brandingStyle import is properly added alongside other branding-related imports.

src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-advanced-settings/qbd-direct-advanced-settings.component.ts (1)

98-98: LGTM! Follows established pattern.

The readonly brandingStyle property is correctly implemented, maintaining consistency with other components in the application.

src/app/integrations/netsuite/netsuite-shared/netsuite-advanced-settings/netsuite-advanced-settings.component.ts (1)

106-106: LGTM! Follows TypeScript best practices.

Making brandingStyle readonly aligns with TypeScript best practices for configuration properties and ensures consistent behavior across components.

src/app/integrations/xero/xero-onboarding/xero-clone-settings/xero-clone-settings.component.ts (1)

146-146: LGTM! Maintains consistency across components.

The readonly modifier on brandingStyle property maintains consistency with other components and ensures immutability of the branding configuration.

src/app/integrations/xero/xero-main/xero-configuration/xero-configuration.component.html (1)

4-4: LGTM! Verify brandingStyle initialization.

The change aligns with the centralized styling approach. Please ensure that the brandingStyle property is properly initialized in the component.

✅ Verification successful

✓ brandingStyle is properly initialized

The component correctly imports and initializes the readonly brandingStyle property from the centralized branding configuration.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify brandingStyle initialization in component
ast-grep --pattern 'class $_ {
  $$$
  readonly brandingStyle = $_;
  $$$
}' src/app/integrations/xero/xero-main/xero-configuration/xero-configuration.component.ts

Length of output: 165


Script:

#!/bin/bash
# Check component file content
cat src/app/integrations/xero/xero-main/xero-configuration/xero-configuration.component.ts

# Search for brandingStyle declarations with broader pattern
ast-grep --pattern 'brandingStyle = $_'

# Search for constructor patterns
ast-grep --pattern 'constructor($$$) {
  $$$
}'

Length of output: 1367

src/app/integrations/qbo/qbo-main/qbo-configuration/qbo-configuration.component.html (1)

4-4: LGTM! Consistent implementation.

The change maintains consistency with other components in the centralized styling approach.

src/app/integrations/netsuite/netsuite-main/netsuite-configuration/netsuite-configuration.component.html (1)

4-4: LGTM! Maintains consistent styling approach.

The change follows the established pattern of centralizing padding styles.

src/app/integrations/xero/xero-main/xero-mapping/xero-mapping.component.html (1)

3-3: Verify padding combination.

The combination of fixed tw-py-40-px class with dynamic brandingStyle.common.mainPaddingStyle might lead to conflicting paddings. Consider moving the vertical padding to the centralized style if it's meant to be consistent across components.

src/app/integrations/netsuite/netsuite-main/netsuite-mapping/netsuite-mapping.component.html (1)

3-3: Same padding style conflict as in qbo-mapping.component.html

src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-mapping/qbd-direct-mapping.component.html (1)

3-3: Same padding style conflict as in qbo-mapping.component.html

src/app/integrations/intacct/intacct-main/intacct-configuration/intacct-configuration.component.html (1)

3-7: Same structural inconsistency as in qbd-direct-configuration.component.html

src/app/integrations/sage300/sage300-main/sage300-mapping/sage300-mapping.component.html (1)

3-3: LGTM! Verify brandingStyle property initialization.

The change successfully centralizes the padding style configuration, improving maintainability.

✅ Verification successful

Property is correctly initialized and used

The brandingStyle property is properly imported from the branding config and correctly initialized as a readonly property in the component.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify that brandingStyle is properly initialized in the component
ast-grep --pattern 'class Sage300MappingComponent {
  $$$
  readonly brandingStyle = $_;
  $$$
}'

Length of output: 99


Script:

#!/bin/bash
# Find the component's TypeScript file
fd -e ts sage300-mapping.component

# Search for brandingStyle property with context
rg -A 5 -B 5 "brandingStyle" --type ts

Length of output: 69529


Script:

#!/bin/bash
# Check the specific component file for brandingStyle
cat src/app/integrations/sage300/sage300-main/sage300-mapping/sage300-mapping.component.ts

Length of output: 2283

src/app/integrations/business-central/business-central-main/business-central-mapping/business-central-mapping.component.html (1)

5-5: LGTM! Consistent implementation.

The change maintains consistency with other components in using the centralized padding style.

src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-export-log.component.html (1)

4-4: LGTM! Verify feature flag configuration.

The change successfully implements the centralized padding style while maintaining the feature flag functionality.

✅ Verification successful

Feature flag configuration verified and correctly implemented

The component properly imports and initializes both brandingStyle and brandingFeatureConfig as readonly properties, ensuring consistent branding behavior.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify that both brandingStyle and brandingFeatureConfig are properly initialized
ast-grep --pattern 'class QboExportLogComponent {
  $$$
  readonly brandingStyle = $_;
  readonly brandingFeatureConfig = $_;
  $$$
}'

Length of output: 136


Script:

#!/bin/bash
# First, find the component file
fd "qbo-export-log.component.ts" --type f

# Then examine its content
echo "=== Component Content ==="
rg -A 5 "class QboExportLogComponent" $(fd "qbo-export-log.component.ts" --type f)

# Look for branding-related property declarations
echo "=== Branding Properties ==="
rg "brandingStyle|brandingFeatureConfig" $(fd "qbo-export-log.component.ts" --type f)

Length of output: 1104

src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-export-log.component.html (1)

4-4: LGTM! Consistent implementation.

The change follows the established pattern for centralizing padding styles while maintaining feature flag functionality.

src/app/integrations/xero/xero-main/xero-export-log/xero-export-log.component.html (1)

4-4: LGTM! Style conversion looks good.

The padding style has been successfully centralized using brandingStyle.common.mainPaddingStyle while maintaining the vertical padding.

src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-export-log.component.html (1)

4-4: LGTM! Consistent with other export log components.

The padding style conversion matches the pattern used in other export log components.

src/app/integrations/business-central/business-central-main/business-central-export-log/business-central-export-log.component.html (1)

9-9: LGTM! Style conversion maintains loading state handling.

The padding style has been centralized while properly maintaining the loading state conditional rendering.

src/app/integrations/sage300/sage300-main/sage300-export-log/sage300-export-log.component.html (1)

9-9: LGTM! Consistent with other export log components.

The padding style conversion follows the same pattern as other components while maintaining loading state handling.

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

8-8: LGTM! Padding style standardization looks good.

The change to use brandingStyle.common.mainPaddingStyle aligns with the PR objective and maintains consistency across components.

src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-import-settings/qbd-direct-import-settings.component.ts (1)

111-111: LGTM! Good practice adding readonly modifier.

Making brandingStyle readonly prevents accidental modifications and ensures consistent branding across the application.

src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-connector/qbd-direct-onboarding-connector.component.ts (1)

82-82: LGTM! Consistent with codebase patterns.

Making brandingStyle readonly aligns with the immutability pattern being implemented across components.

src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-mapping.component.html (1)

3-3: LGTM! Improved template maintainability.

Centralizing padding styles in brandingStyle.common.mainPaddingStyle reduces template complexity and ensures consistent styling across components.

@@ -1,7 +1,7 @@
<div *ngIf="isGradientAllowed" class="tw-absolute tw-bg-header-1 tw-h-84-px tw-w-[100%]"></div>
<div *ngIf="isGradientAllowed" class="tw-absolute tw-bg-header-2 tw-h-84-px tw-w-[100%]"></div>

<div class="tw-py-40-px" [ngClass]="{'tw-px-120-px': brandingConfig.brandId === 'fyle', 'tw-px-60-px': brandingConfig.brandId === 'co'}">
<div class="tw-py-40-px" [ngClass]="brandingStyle.common.mainPaddingStyle">
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Extend padding style pattern to child components

Several child components still use the old conditional padding style and should be updated to use brandingStyle.common.mainPaddingStyle:

  • Export log child components in:
    • Xero (complete/skipped)
    • QBO (complete/skipped)
    • NetSuite (complete/skipped)
    • QBD Direct (complete/skipped)
    • Intacct (complete/skipped)
🔗 Analysis chain

LGTM! Consider extending this pattern.

The change successfully implements the centralized padding style. Consider searching for similar patterns in other components that could benefit from this refactoring.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for other components that might benefit from this refactoring
echo "Searching for components with conditional padding styles..."
rg -l "ngClass.*brandingConfig\.brandId.*'fyle'.*'co'" --type html

echo "Searching for components already using the new pattern..."
rg -l "ngClass.*brandingStyle\.common\.mainPaddingStyle" --type html

Length of output: 4646

@@ -1,7 +1,7 @@
<div *ngIf="isLoading" class="tw-flex tw-justify-center tw-items-center tw-h-screen">
<app-loader></app-loader>
</div>
<div *ngIf="!isLoading" class="tw-py-16-px" [ngClass]="{'tw-px-120-px': brandingConfig.brandId === 'fyle', 'tw-px-60-px': brandingConfig.brandId === 'co'}">
<div *ngIf="!isLoading" class="tw-py-16-px" [ngClass]="brandingStyle.common.mainPaddingStyle">
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Inconsistent vertical padding detected

The qbd-generic-mapping component uses tw-py-16-px while all other mapping components across different integrations (QBO, Xero, Intacct, etc.) consistently use tw-py-40-px. Consider aligning with the standard tw-py-40-px padding for consistency.

🔗 Analysis chain

Verify if different vertical padding is intentional.

While the horizontal padding has been centralized using brandingStyle.common.mainPaddingStyle, this component uses tw-py-16-px for vertical padding, whereas other components use tw-py-40-px. Please confirm if this difference is intentional.

Run this script to check vertical padding consistency across similar components:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check vertical padding patterns in mapping components
# Look for tw-py-{n}-px patterns in mapping component templates

echo "Checking vertical padding patterns in mapping components..."
rg -g '**/*mapping*.component.html' 'tw-py-\d+-px'

Length of output: 2053

Comment on lines 9 to 10
mainPaddingStyle: 'tw-px-60-px',
mainShadowStyle: 'tw-shadow-shadow-level-1'
Copy link
Contributor

Choose a reason for hiding this comment

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

better names, may be we can huddle and brainstorm tomo

* common main pages shadow style conversion

* lint fix
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

🧹 Nitpick comments (13)
src/app/integrations/landing/landing.component.html (1)

23-23: LGTM! Well-structured style refactoring.

The changes improve maintainability by centralizing the padding and shadow styles through brandingStyle. The implementation is consistent across all integration cards.

Consider extracting the repeated pattern into a shared CSS class to reduce duplication:

+<!-- Add to your CSS file -->
+.integration-card {
+  @apply landing--accounting-app tw-mt-20-px;
+}

-<div class="landing--accounting-app tw-mt-20-px" [ngClass]="brandingStyle.common.mainShadowStyle">
+<div class="integration-card" [ngClass]="brandingStyle.common.mainShadowStyle">

This would make the template more DRY and easier to maintain.

Also applies to: 37-37, 44-44, 50-50, 56-56, 62-62, 69-69, 76-76, 83-83, 103-103, 122-122

src/app/shared/components/helper/mapping/mapping-card-header/mapping-card-header.component.html (1)

3-3: Consider extracting repeated div structure to a reusable component.

Both div elements share identical structure and styling patterns, differing only in background color and content. Consider creating a reusable component to reduce duplication.

Example approach:

// stats-card.component.ts
@Component({
  selector: 'app-stats-card',
  template: `
    <div class="tw-rounded-10-px tw-border-1-px tw-border-border-tertiary tw-pt-16-px tw-pr-56-px tw-pb-10-px tw-pl-16-px tw-h-84-px"
      [ngClass]="[backgroundClass, brandingStyle.mapping.mappingHeaderBoxShadow]">
      <div class="tw-w-34-px tw-h-6-px tw-rounded-12-px tw-bg-bg-brand-muted"></div>
      <div class="tw-pt-8-px tw-text-lv-stats-label-text-color tw-text-12-px">
        <p>{{label}}</p>
      </div>
      <div class="tw-text-16-px tw-text-600 tw-text-text-primary">
        <p>{{value}}</p>
      </div>
    </div>
  `
})
export class StatsCardComponent {
  @Input() label: string;
  @Input() value: number;
  @Input() backgroundClass: string;
}

Also applies to: 14-14

src/app/shared/components/helper/mapping/generic-mapping-v2/generic-mapping-v2.component.html (1)

Line range hint 1-28: Consider optimizing template performance.

The template contains multiple nested *ngIf conditions which could impact performance. Consider:

  1. Using ng-container to reduce DOM nodes
  2. Implementing trackBy functions for any *ngFor directives
  3. Moving complex conditional logic to the component class

Example optimization:

// In component class
get shouldShowPaginator(): boolean {
  return this.filteredMappingCount && !this.isLoading;
}

// In template
<ng-container *ngIf="!isLoading">
  <ng-container *ngIf="filteredMappingCount">
    <app-generic-mapping-table [inputs]="..."></app-generic-mapping-table>
    <div class="tw-p-24-px tw-border-t-separator" *ngIf="shouldShowPaginator">
      <app-paginator [inputs]="..."></app-paginator>
    </div>
  </ng-container>
  <!-- ... rest of the template -->
</ng-container>
src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-skipped-export-log/netsuite-skipped-export-log.component.ts (1)

4-4: Consider grouping related properties together.

While the changes are correct, consider grouping all branding-related properties (brandingConfig, brandingContent, brandingStyle) together for better code organization.

   readonly brandingConfig = brandingConfig;
+  readonly brandingStyle = brandingStyle;
   readonly brandingContent = brandingContent.exportLog;
-  readonly brandingStyle = brandingStyle;

Also applies to: 53-54

src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-skipped-export-log/qbo-skipped-export-log.component.ts (1)

12-12: Group branding-related properties together.

For better code organization, consider grouping all branding-related properties (brandingConfig, brandingContent, brandingStyle) together.

   readonly brandingConfig = brandingConfig;
+  readonly brandingStyle = brandingStyle;
   readonly brandingContent = brandingContent.exportLog;
-  readonly brandingStyle = brandingStyle;

Also applies to: 57-58

src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-complete-export-log/qbo-complete-export-log.component.ts (1)

13-13: Group branding-related properties together.

For better code organization, consider grouping all branding-related properties (brandingConfig, brandingContent, brandingStyle) together.

   readonly brandingConfig = brandingConfig;
+  readonly brandingStyle = brandingStyle;
   readonly brandingContent = brandingContent.exportLog;
-  readonly brandingStyle = brandingStyle;

Also applies to: 63-64

src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-complete-export-log/qbd-direct-complete-export-log.component.ts (1)

5-6: Consider consolidating branding imports.

The branding imports are currently split across two lines. Consider consolidating them for better maintainability:

-import { brandingContent, brandingStyle } from 'src/app/branding/branding-config';
-import { brandingConfig } from 'src/app/branding/c1-contents-config';
+import { brandingConfig, brandingContent, brandingStyle } from 'src/app/branding/branding-config';

Also applies to: 67-67

src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-completed-export-log/intacct-completed-export-log.component.ts (2)

14-15: Update rxjs import paths.

The current imports use internal rxjs paths which may break in future versions. Consider updating to use the main package path:

-import { Subject } from 'rxjs/internal/Subject';
-import { debounceTime } from 'rxjs/internal/operators/debounceTime';
+import { Subject, debounceTime } from 'rxjs';

Line range hint 4-4: Well-structured centralization of branding styles.

The consistent implementation of brandingStyle across components improves maintainability by:

  • Centralizing style configuration
  • Making style changes more predictable
  • Reducing duplication of style logic

Also applies to: 5-5, 12-12

src/app/shared/components/helper/onboarding-done/onboarding-done.component.html (1)

4-4: Consider centralizing other brand-specific styles.

While the shadow style has been centralized using brandingStyle.common.mainShadowStyle, there are other brand-specific conditions in the template that could potentially be moved to the branding configuration for consistency.

src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-complete-export-log/qbo-complete-export-log.component.html (1)

5-5: LGTM! Consider component inheritance.

The styling change is consistent with other export log components. Given the identical structure across different integration modules, consider creating a base export log component to reduce code duplication.

src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-complete-export-logs/netsuite-complete-export-logs.component.html (1)

5-5: LGTM! Duplicate code pattern detected.

The styling change is correct, but this is the third instance of nearly identical template code. This reinforces the need for a shared base component.

Consider extracting the common template structure into a shared component:

  1. Create a base export log component
  2. Use template inheritance or composition
  3. Allow customization through inputs for integration-specific behavior
src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-skipped-export-log/qbo-skipped-export-log.component.html (1)

Line range hint 1-38: Consider creating a shared base component

All export log components share identical structure and behavior. Consider creating a shared base component to reduce code duplication and improve maintainability.

A shared component could:

  • Accept the integration type as input
  • Use generic types for the export data
  • Share common template structure
  • Allow customization through content injection

Example approach:

@Component({
  selector: 'app-base-export-log',
  template: '...'
})
export class BaseExportLogComponent<T> {
  @Input() appName: string;
  @Input() brandingStyle: any;
  @Input() brandingContent: any;
  // ... other common properties and methods
}
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4703b7c and 1aee6aa.

📒 Files selected for processing (33)
  • src/app/branding/c1-style-config.ts (1 hunks)
  • src/app/branding/fyle-style-config.ts (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-completed-export-log/intacct-completed-export-log.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-completed-export-log/intacct-completed-export-log.component.ts (2 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-skip-export-log/intacct-skip-export-log.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-skip-export-log/intacct-skip-export-log.component.ts (2 hunks)
  • src/app/integrations/landing/landing.component.html (4 hunks)
  • src/app/integrations/landing/landing.component.ts (2 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-complete-export-logs/netsuite-complete-export-logs.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-complete-export-logs/netsuite-complete-export-logs.component.ts (2 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-skipped-export-log/netsuite-skipped-export-log.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-skipped-export-log/netsuite-skipped-export-log.component.ts (2 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-complete-export-log/qbd-direct-complete-export-log.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-complete-export-log/qbd-direct-complete-export-log.component.ts (2 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-skipped-export-log/qbd-direct-skipped-export-log.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-skipped-export-log/qbd-direct-skipped-export-log.component.ts (2 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-complete-export-log/qbo-complete-export-log.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-complete-export-log/qbo-complete-export-log.component.ts (2 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-skipped-export-log/qbo-skipped-export-log.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-skipped-export-log/qbo-skipped-export-log.component.ts (2 hunks)
  • src/app/integrations/xero/xero-main/xero-export-log/xero-complete-export-log/xero-complete-export-log.component.html (1 hunks)
  • src/app/integrations/xero/xero-main/xero-export-log/xero-complete-export-log/xero-complete-export-log.component.ts (2 hunks)
  • src/app/integrations/xero/xero-main/xero-export-log/xero-skipped-export-log/xero-skipped-export-log.component.html (1 hunks)
  • src/app/integrations/xero/xero-main/xero-export-log/xero-skipped-export-log/xero-skipped-export-log.component.ts (2 hunks)
  • src/app/shared/components/dashboard/dashboard-error-section/dashboard-error-section.component.html (1 hunks)
  • src/app/shared/components/dashboard/dashboard-export-section/dashboard-export-section.component.html (1 hunks)
  • src/app/shared/components/dashboard/dashboard-export-summary-section/dashboard-export-summary-section.component.html (1 hunks)
  • src/app/shared/components/helper/mapping/generic-mapping-v2/generic-mapping-v2.component.html (1 hunks)
  • src/app/shared/components/helper/mapping/generic-mapping-v2/generic-mapping-v2.component.ts (2 hunks)
  • src/app/shared/components/helper/mapping/mapping-card-header/mapping-card-header.component.html (2 hunks)
  • src/app/shared/components/helper/mapping/mapping-card-header/mapping-card-header.component.ts (2 hunks)
  • src/app/shared/components/helper/onboarding-done/onboarding-done.component.html (1 hunks)
  • src/app/shared/components/helper/onboarding-done/onboarding-done.component.ts (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/app/shared/components/dashboard/dashboard-error-section/dashboard-error-section.component.html
  • src/app/shared/components/dashboard/dashboard-export-section/dashboard-export-section.component.html
🔇 Additional comments (29)
src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-skip-export-log/intacct-skip-export-log.component.ts (2)

10-10: LGTM! Import statement aligns with branding centralization.

The combined import of branding-related configurations maintains good cohesion.


71-72: LGTM! Good use of readonly for immutability.

The property declaration follows the established pattern and supports the centralization of branding styles.

src/app/integrations/landing/landing.component.ts (1)

14-14: LGTM! Clean and consistent implementation.

The changes follow Angular best practices by:

  • Grouping related imports together
  • Using readonly for immutable properties
  • Maintaining consistency with existing branding-related properties

Also applies to: 95-95

src/app/shared/components/helper/mapping/mapping-card-header/mapping-card-header.component.ts (1)

2-2: LGTM! Clean addition of brandingStyle.

The addition of brandingStyle import and readonly property follows Angular best practices and aligns with the goal of centralizing styles.

Also applies to: 25-26

src/app/shared/components/helper/mapping/generic-mapping-v2/generic-mapping-v2.component.ts (1)

4-4: LGTM! Consistent implementation of brandingStyle.

The changes maintain consistency with the project's approach to centralized styling.

Also applies to: 83-84

src/app/shared/components/helper/mapping/generic-mapping-v2/generic-mapping-v2.component.html (1)

10-10: LGTM! Consistent use of brandingStyle for shadow.

The change aligns with the centralized styling approach using brandingStyle.

src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-skipped-export-log/qbd-direct-skipped-export-log.component.ts (2)

5-5: LGTM!

The import statement is correctly placed with other branding-related imports and maintains consistency with the existing pattern.


59-60: Verify the template usage of brandingStyle.

The property is correctly declared as readonly, following the same pattern as other branding properties. However, please ensure that the corresponding template file (qbd-direct-skipped-export-log.component.html) properly utilizes this property for padding styles.

✅ Verification successful

The brandingStyle property is correctly used in the template

The template properly utilizes brandingStyle for shadow styling via [ngClass]="brandingStyle.common.mainShadowStyle" on the main container, while padding is consistently handled through Tailwind classes.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of brandingStyle in the template file

# Search for the template file and check its content
rg -l "qbd-direct-skipped-export-log.component.html" | xargs rg "brandingStyle\.common\.mainPaddingStyle"

# Also check if there are any remaining old conditional class bindings that should be replaced
rg -l "qbd-direct-skipped-export-log.component.html" | xargs rg "\[ngClass\].*brandingConfig\.brandId"

Length of output: 208


Script:

#!/bin/bash
# First, find the template file
fd -t f "qbd-direct-skipped-export-log.component.html"

# If the file exists, let's see its content
fd -t f "qbd-direct-skipped-export-log.component.html" -x cat {}

Length of output: 2013

src/app/shared/components/helper/onboarding-done/onboarding-done.component.ts (1)

2-2: LGTM! Clean addition of branding styles.

The changes follow the established pattern of importing and declaring branding-related properties as readonly.

Also applies to: 19-20

src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-complete-export-logs/netsuite-complete-export-logs.component.ts (1)

4-4: LGTM! Clean implementation of branding style.

The changes follow Angular best practices by:

  • Grouping related imports together
  • Using readonly modifier for immutable configuration
  • Following consistent property declaration pattern

Also applies to: 61-61

src/app/integrations/xero/xero-main/xero-export-log/xero-complete-export-log/xero-complete-export-log.component.ts (1)

4-4: LGTM! Consistent implementation.

The changes maintain consistency with other components in the codebase.

Also applies to: 69-69

src/app/branding/fyle-style-config.ts (2)

9-10: Consider more descriptive naming for style properties.

The property names mainPaddingStyle and mainShadowStyle could be more specific to their usage context (e.g., contentContainerPadding, contentPanelShadow).


12-14: LGTM! Good separation of mapping-specific styles.

The introduction of a separate mapping object helps organize styles by their specific use cases.

src/app/branding/c1-style-config.ts (1)

8-10: LGTM! Consistent structure with brand-specific values.

The implementation maintains a consistent structure with fyle-style-config.ts while appropriately using brand-specific values (60px padding for C1 vs 120px for Fyle).

src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-skipped-export-log/qbd-direct-skipped-export-log.component.html (1)

5-5: LGTM! Consistent use of centralized shadow style.

The change properly implements the centralized shadow style while maintaining other necessary classes for the container.

src/app/integrations/xero/xero-main/xero-export-log/xero-skipped-export-log/xero-skipped-export-log.component.html (1)

5-5: LGTM! Maintains consistency across integration components.

The implementation follows the same pattern as other integration components, contributing to a consistent codebase.

src/app/integrations/xero/xero-main/xero-export-log/xero-complete-export-log/xero-complete-export-log.component.html (1)

5-5: LGTM! Verify brandingStyle initialization.

The change to use centralized shadow styling through brandingStyle.common.mainShadowStyle aligns with the PR objective and improves maintainability.

✅ Verification successful

Verified: brandingStyle is properly initialized

The component correctly imports and initializes brandingStyle as a readonly property from the centralized branding configuration, ensuring consistent styling across the application.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify that brandingStyle is properly initialized in the component
ast-grep --pattern 'class $className {
  $$$
  brandingStyle = $value;
  $$$
}' src/app/integrations/xero/xero-main/xero-export-log/xero-complete-export-log/xero-complete-export-log.component.ts

Length of output: 196


Script:

#!/bin/bash
# First, let's see the content of the component file
cat src/app/integrations/xero/xero-main/xero-export-log/xero-complete-export-log/xero-complete-export-log.component.ts

# Backup search for constructor injection pattern
ast-grep --pattern 'constructor($$$) {
  $$$
}'  src/app/integrations/xero/xero-main/xero-export-log/xero-complete-export-log/xero-complete-export-log.component.ts

Length of output: 6481

src/app/shared/components/dashboard/dashboard-export-summary-section/dashboard-export-summary-section.component.html (1)

1-2: LGTM! Verify style inheritance.

The nested styling approach (padding on outer div, shadow on inner div) is well-structured and follows the centralization objective.

✅ Verification successful

Style inheritance verified and properly implemented

The styles are correctly defined in brand-specific configs and appropriately used in the component's template hierarchy:

  • Outer padding varies by brand (120px for Fyle, 60px for C1)
  • Shadow styles are brand-specific (app-card vs shadow-level-1)
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify style definitions in branding configs
echo "Checking style definitions in branding configs..."
rg -A 2 "mainPaddingStyle|mainShadowStyle" src/app/branding/

Length of output: 695

src/app/integrations/xero/xero-main/xero-export-log/xero-skipped-export-log/xero-skipped-export-log.component.ts (3)

4-4: LGTM! Clean import addition.

The import statement follows Angular's best practices and maintains consistency with existing branding imports.


55-56: LGTM! Property declaration follows best practices.

The brandingStyle property is correctly declared as readonly, maintaining immutability and following the same pattern as other branding properties in the component.


55-56: Verify template usage of branding styles.

Since this change is part of a larger effort to centralize padding and shadow styles, please ensure that:

  1. The corresponding HTML template (xero-skipped-export-log.component.html) is updated to use brandingStyle.common.mainPaddingStyle and brandingStyle.common.mainShadowStyle.
  2. The implementation is consistent with other components mentioned in the summary.

Let's verify the template changes:

src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-skipped-export-log/qbo-skipped-export-log.component.html (3)

5-5: LGTM: Consistent implementation across components

The changes successfully centralize the shadow styles and align with the PR's objective. The implementation is consistent across all export log components.


5-5: Verify border class consistency across components

I notice that some components use tw-border-separator while others use tw-border-border-tertiary. Should these be standardized as part of the common styling effort?

Let's check the usage pattern:

✅ Verification successful

Border class usage is consistent with integration-specific styling

The border class tw-border-separator in this QBO component is correct, as it follows the established pattern where each integration maintains its own consistent border styling. Different integrations use different border classes as part of their distinct visual themes.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for border classes usage
rg -g '*.html' 'tw-border-(separator|border-tertiary)'

Length of output: 66740


5-5: Great job on centralizing the shadow styles!

The move from conditional shadow styles to brandingStyle.common.mainShadowStyle improves maintainability and ensures consistent styling across different brand configurations.

Let's verify that brandingStyle is properly initialized across all components:

✅ Verification successful

Branding styles are properly initialized and safely used across components

The review comment correctly praises the centralization of shadow styles. The implementation is robust with:

  • Centralized configuration in branding-config
  • Guaranteed initialization through BrandingService at app startup
  • Consistent and safe usage pattern across all components
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for brandingStyle initialization in component files
ast-grep --pattern 'readonly brandingStyle = $_'

# Check for potential null/undefined access
rg -g '*.ts' 'brandingStyle\?.common'

Length of output: 90


Script:

#!/bin/bash
# Search for brandingStyle declarations and assignments
ast-grep --pattern 'brandingStyle'

# Search for branding style imports and injections
rg -g '*.ts' -i 'brandingstyle|branding.*service'

# Search for specific usage in template files
rg -g '*.html' 'brandingStyle\.common'

Length of output: 67784

src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-skip-export-log/intacct-skip-export-log.component.html (2)

5-5: LGTM! Style centralization improves maintainability.

The change from conditional shadow styles to brandingStyle.common.mainShadowStyle aligns with the goal of centralizing styles.


5-5: Ensure border color class consistency across export log components.

Other export log components use tw-border-border-tertiary while this uses tw-border-separator. Consider standardizing the border color class for consistency.

Run this script to check border color class usage across export log components:

src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-skipped-export-log/netsuite-skipped-export-log.component.html (1)

5-5: LGTM! Consistent implementation across components.

The change maintains consistency with other skipped export log components while centralizing the shadow style.

src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-completed-export-log/intacct-completed-export-log.component.html (1)

5-5: LGTM! Style centralization with appropriate component variation.

The change maintains the centralized styling approach while using the appropriate border color class and export log table component for completed exports.

src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-complete-export-log/qbd-direct-complete-export-log.component.html (1)

5-5: LGTM! Perfect consistency with other completed export logs.

The implementation maintains consistency with other completed export log components in both styling and structure.

Copy link

Unit Test Coverage % values
Statements 33% ( 4159 / 12600 )
Branches 26.33% ( 1174 / 4458 )
Functions 25.62% ( 894 / 3489 )
Lines 33.18% ( 4092 / 12331 )

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: 1

🧹 Nitpick comments (8)
src/app/integrations/qbo/qbo-onboarding/qbo-onboarding-connector/qbo-onboarding-connector.component.html (1)

7-7: Consider standardizing border classes.

This component and the Xero component use tw-border-border-tertiary, while others use tw-border-separator. To maintain visual consistency across the application, consider standardizing the border class usage.

src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-connector/qbd-direct-onboarding-connector.component.html (1)

7-7: Consider removing the ! important flag from the border radius class.

The use of ! important flag in !tw-rounded-border-radius-2xs should be avoided as it makes styles harder to override and maintain. Consider using Tailwind's built-in precedence or component-specific styles instead.

-        <div *ngIf="!isLoading" class="configuration--contents !tw-rounded-border-radius-2xs tw-border-border-tertiary tw-mt-24-px" [ngClass]="brandingStyle.common.configurationContents">
+        <div *ngIf="!isLoading" class="configuration--contents tw-rounded-border-radius-2xs tw-border-border-tertiary tw-mt-24-px" [ngClass]="brandingStyle.common.configurationContents">
src/app/integrations/qbd/qbd-shared/qbd-field-mapping/qbd-field-mapping.component.html (1)

4-4: Maintain consistency in border styling across components.

This component uses tw-border-separator while other components use tw-border-border-tertiary. Consider standardizing the border classes across all components for better maintainability.

-<div *ngIf="!isLoading" class="configuration--contents tw-border-separator tw-mt-6" [ngClass]="brandingStyle.common.configurationContents">
+<div *ngIf="!isLoading" class="configuration--contents tw-border-border-tertiary tw-mt-6" [ngClass]="brandingStyle.common.configurationContents">
src/app/integrations/travelperk/travelperk-shared/travelperk-payment-profile-settings/travelperk-payment-profile-settings.component.html (1)

4-4: Standardize border styling with other components.

Similar to the QBD component, this uses tw-border-separator instead of the more commonly used tw-border-border-tertiary. Consider standardizing for consistency.

-<div *ngIf="!isLoading" class="configuration--contents tw-border-separator tw-mt-6" [ngClass]="brandingStyle.common.configurationContents">
+<div *ngIf="!isLoading" class="configuration--contents tw-border-border-tertiary tw-mt-6" [ngClass]="brandingStyle.common.configurationContents">
src/app/shared/components/si/core/intacct-location-entity/intacct-location-entity.component.html (1)

5-5: Consider a systematic approach to standardize border styling.

This shared component, along with several others, uses tw-border-separator instead of tw-border-border-tertiary. Given this pattern appears across multiple components, consider:

  1. Creating a shared CSS class or Tailwind component for configuration containers
  2. Updating all components systematically to use the same border class
  3. Documenting the chosen standard in the style guide
-<div *ngIf="!isLoading" class="configuration--contents tw-border-separator tw-mt-6" [ngClass]="brandingStyle.common.configurationContents">
+<div *ngIf="!isLoading" class="configuration--contents tw-border-border-tertiary tw-mt-6" [ngClass]="brandingStyle.common.configurationContents">
src/app/integrations/xero/xero-shared/xero-import-settings/xero-import-settings.component.html (1)

4-4: Consider standardizing border classes across components.

While the configurationContents change is consistent, this component uses tw-border-border-tertiary while others use tw-border-separator. Consider standardizing the border classes for better maintainability.

src/app/integrations/xero/xero-shared/xero-advanced-settings/xero-advanced-settings.component.html (1)

4-4: Consider creating a style guide for consistent class usage.

While the migration to configurationContents improves style management, there are inconsistencies in border classes (tw-border-separator vs tw-border-border-tertiary) across different integration components. Consider:

  1. Creating a style guide documenting the usage of utility classes
  2. Standardizing border classes across all components unless there's a specific need for variation
  3. Using CSS variables for consistent styling across the application

This will enhance maintainability and ensure visual consistency across the application.

src/app/integrations/xero/xero-onboarding/xero-clone-settings/xero-clone-settings.component.html (1)

7-7: Consider aligning border styling with other components.

While the update to configurationContents is correct, this component uses different border styling (tw-border-1-px tw-border-box-color) compared to other similar components which use either tw-border-separator or tw-border-border-tertiary. Consider standardizing the border styling across all configuration components for better maintainability.

-    <div *ngIf="!isLoading" class="clone-setting configuration--contents tw-border-1-px tw-border-box-color tw-mt-24-px" [ngClass]="brandingStyle.common.configurationContents">
+    <div *ngIf="!isLoading" class="clone-setting configuration--contents tw-border-separator tw-mt-24-px" [ngClass]="brandingStyle.common.configurationContents">
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1aee6aa and df1478d.

📒 Files selected for processing (78)
  • src/app/branding/c1-style-config.ts (1 hunks)
  • src/app/branding/fyle-style-config.ts (1 hunks)
  • src/app/integrations/business-central/business-central-main/business-central-export-log/business-central-export-log.component.html (1 hunks)
  • src/app/integrations/business-central/business-central-main/business-central-mapping/business-central-mapping.component.html (1 hunks)
  • src/app/integrations/business-central/business-central-onboarding/business-central-onboarding-connector/business-central-onboarding-connector.component.html (1 hunks)
  • src/app/integrations/business-central/business-central-shared/business-central-advanced-settings/business-central-advanced-settings.component.html (1 hunks)
  • src/app/integrations/business-central/business-central-shared/business-central-export-settings/business-central-export-settings.component.html (1 hunks)
  • src/app/integrations/business-central/business-central-shared/business-central-import-settings/business-central-import-settings.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-configuration/intacct-configuration.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-completed-export-log/intacct-completed-export-log.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-export-log.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-skip-export-log/intacct-skip-export-log.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-main/intacct-mapping/intacct-mapping.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-shared/intacct-advanced-settings/intacct-advanced-settings.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-shared/intacct-c1-import-settings/intacct-c1-import-settings.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-shared/intacct-export-settings/intacct-export-settings.component.html (1 hunks)
  • src/app/integrations/intacct/intacct-shared/intacct-import-settings/intacct-import-settings.component.html (1 hunks)
  • src/app/integrations/landing/landing.component.html (4 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-configuration/netsuite-configuration.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-complete-export-logs/netsuite-complete-export-logs.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-export-log.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-skipped-export-log/netsuite-skipped-export-log.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-main/netsuite-mapping/netsuite-mapping.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-shared/netsuite-advanced-settings/netsuite-advanced-settings.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-shared/netsuite-export-settings/netsuite-export-settings.component.html (1 hunks)
  • src/app/integrations/netsuite/netsuite-shared/netsuite-import-settings/netsuite-import-settings.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-configuration/qbd-direct-configuration.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-complete-export-log/qbd-direct-complete-export-log.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-export-log.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-skipped-export-log/qbd-direct-skipped-export-log.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-mapping/qbd-direct-mapping.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-connector/qbd-direct-onboarding-connector.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-pre-requisite/qbd-direct-onboarding-pre-requisite.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-advanced-settings/qbd-direct-advanced-settings.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-export-settings/qbd-direct-export-settings.component.html (1 hunks)
  • src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-import-settings/qbd-direct-import-settings.component.html (1 hunks)
  • src/app/integrations/qbd/qbd-main/qbd-dashboard/qbd-dashboard.component.html (1 hunks)
  • src/app/integrations/qbd/qbd-main/qbd-mapping/qbd-generic-mapping/qbd-generic-mapping.component.html (1 hunks)
  • src/app/integrations/qbd/qbd-shared/qbd-advanced-setting/qbd-advanced-setting.component.html (1 hunks)
  • src/app/integrations/qbd/qbd-shared/qbd-export-setting/qbd-export-setting.component.html (1 hunks)
  • src/app/integrations/qbd/qbd-shared/qbd-field-mapping/qbd-field-mapping.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-configuration/qbo-configuration.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-complete-export-log/qbo-complete-export-log.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-export-log.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-skipped-export-log/qbo-skipped-export-log.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-mapping.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-onboarding/qbo-onboarding-connector/qbo-onboarding-connector.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-shared/qbo-advanced-settings/qbo-advanced-settings.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-shared/qbo-export-settings/qbo-export-settings.component.html (1 hunks)
  • src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.html (1 hunks)
  • src/app/integrations/sage300/sage300-main/sage300-export-log/sage300-export-log.component.html (1 hunks)
  • src/app/integrations/sage300/sage300-main/sage300-mapping/sage300-mapping.component.html (1 hunks)
  • src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-connector/sage300-onboarding-connector.component.html (1 hunks)
  • src/app/integrations/sage300/sage300-shared/sage300-advanced-settings/sage300-advanced-settings.component.html (1 hunks)
  • src/app/integrations/sage300/sage300-shared/sage300-export-settings/sage300-export-settings.component.html (1 hunks)
  • src/app/integrations/sage300/sage300-shared/sage300-import-settings/sage300-import-settings.component.html (1 hunks)
  • src/app/integrations/travelperk/travelperk-shared/travelperk-advanced-settings/travelperk-advanced-settings.component.html (1 hunks)
  • src/app/integrations/travelperk/travelperk-shared/travelperk-payment-profile-settings/travelperk-payment-profile-settings.component.html (1 hunks)
  • src/app/integrations/xero/xero-main/xero-configuration/xero-configuration.component.html (1 hunks)
  • src/app/integrations/xero/xero-main/xero-export-log/xero-complete-export-log/xero-complete-export-log.component.html (1 hunks)
  • src/app/integrations/xero/xero-main/xero-export-log/xero-export-log.component.html (1 hunks)
  • src/app/integrations/xero/xero-main/xero-export-log/xero-skipped-export-log/xero-skipped-export-log.component.html (1 hunks)
  • src/app/integrations/xero/xero-main/xero-mapping/xero-mapping.component.html (1 hunks)
  • src/app/integrations/xero/xero-onboarding/xero-clone-settings/xero-clone-settings.component.html (1 hunks)
  • src/app/integrations/xero/xero-onboarding/xero-onboarding-connector/xero-onboarding-connector.component.html (1 hunks)
  • src/app/integrations/xero/xero-shared/xero-advanced-settings/xero-advanced-settings.component.html (1 hunks)
  • src/app/integrations/xero/xero-shared/xero-export-settings/xero-export-settings.component.html (1 hunks)
  • src/app/integrations/xero/xero-shared/xero-import-settings/xero-import-settings.component.html (1 hunks)
  • src/app/shared/components/dashboard/dashboard-error-section/dashboard-error-section.component.html (1 hunks)
  • src/app/shared/components/dashboard/dashboard-export-section/dashboard-export-section.component.html (1 hunks)
  • src/app/shared/components/dashboard/dashboard-export-summary-section/dashboard-export-summary-section.component.html (1 hunks)
  • src/app/shared/components/helper/mapping/generic-mapping-v2/generic-mapping-v2.component.html (1 hunks)
  • src/app/shared/components/helper/onboarding-done/onboarding-done.component.html (1 hunks)
  • src/app/shared/components/netsuite/core/netsuite-connector/netsuite-connector.component.html (1 hunks)
  • src/app/shared/components/netsuite/core/netsuite-subsidiary-mapping/netsuite-subsidiary-mapping.component.html (1 hunks)
  • src/app/shared/components/si/core/intacct-connector/intacct-connector.component.html (1 hunks)
  • src/app/shared/components/si/core/intacct-location-entity/intacct-location-entity.component.html (1 hunks)
✅ Files skipped from review due to trivial changes (19)
  • src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.html
  • src/app/integrations/netsuite/netsuite-shared/netsuite-advanced-settings/netsuite-advanced-settings.component.html
  • src/app/integrations/xero/xero-shared/xero-export-settings/xero-export-settings.component.html
  • src/app/integrations/netsuite/netsuite-shared/netsuite-import-settings/netsuite-import-settings.component.html
  • src/app/shared/components/netsuite/core/netsuite-connector/netsuite-connector.component.html
  • src/app/integrations/qbd/qbd-shared/qbd-export-setting/qbd-export-setting.component.html
  • src/app/integrations/intacct/intacct-shared/intacct-import-settings/intacct-import-settings.component.html
  • src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-import-settings/qbd-direct-import-settings.component.html
  • src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-export-settings/qbd-direct-export-settings.component.html
  • src/app/integrations/sage300/sage300-shared/sage300-import-settings/sage300-import-settings.component.html
  • src/app/integrations/business-central/business-central-onboarding/business-central-onboarding-connector/business-central-onboarding-connector.component.html
  • src/app/integrations/business-central/business-central-shared/business-central-export-settings/business-central-export-settings.component.html
  • src/app/integrations/qbd/qbd-shared/qbd-advanced-setting/qbd-advanced-setting.component.html
  • src/app/integrations/qbo/qbo-shared/qbo-export-settings/qbo-export-settings.component.html
  • src/app/integrations/netsuite/netsuite-shared/netsuite-export-settings/netsuite-export-settings.component.html
  • src/app/integrations/sage300/sage300-shared/sage300-export-settings/sage300-export-settings.component.html
  • src/app/integrations/intacct/intacct-shared/intacct-export-settings/intacct-export-settings.component.html
  • src/app/integrations/sage300/sage300-shared/sage300-advanced-settings/sage300-advanced-settings.component.html
  • src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.html
🚧 Files skipped from review as they are similar to previous changes (39)
  • src/app/integrations/sage300/sage300-main/sage300-export-log/sage300-export-log.component.html
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-skipped-export-log/qbd-direct-skipped-export-log.component.html
  • src/app/integrations/business-central/business-central-main/business-central-export-log/business-central-export-log.component.html
  • src/app/integrations/xero/xero-main/xero-configuration/xero-configuration.component.html
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-mapping/qbd-direct-mapping.component.html
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-export-log.component.html
  • src/app/integrations/sage300/sage300-main/sage300-mapping/sage300-mapping.component.html
  • src/app/integrations/qbo/qbo-main/qbo-configuration/qbo-configuration.component.html
  • src/app/integrations/intacct/intacct-main/intacct-mapping/intacct-mapping.component.html
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-configuration/qbd-direct-configuration.component.html
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-export-log.component.html
  • src/app/shared/components/dashboard/dashboard-export-summary-section/dashboard-export-summary-section.component.html
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-export-log.component.html
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-skipped-export-log/netsuite-skipped-export-log.component.html
  • src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-mapping.component.html
  • src/app/integrations/business-central/business-central-main/business-central-mapping/business-central-mapping.component.html
  • src/app/integrations/netsuite/netsuite-main/netsuite-mapping/netsuite-mapping.component.html
  • src/app/shared/components/helper/mapping/generic-mapping-v2/generic-mapping-v2.component.html
  • src/app/shared/components/dashboard/dashboard-error-section/dashboard-error-section.component.html
  • src/app/shared/components/helper/onboarding-done/onboarding-done.component.html
  • src/app/integrations/netsuite/netsuite-main/netsuite-configuration/netsuite-configuration.component.html
  • src/app/integrations/qbd/qbd-main/qbd-dashboard/qbd-dashboard.component.html
  • src/app/integrations/xero/xero-main/xero-export-log/xero-complete-export-log/xero-complete-export-log.component.html
  • src/app/integrations/qbd/qbd-main/qbd-mapping/qbd-generic-mapping/qbd-generic-mapping.component.html
  • src/app/integrations/netsuite/netsuite-main/netsuite-export-log/netsuite-complete-export-logs/netsuite-complete-export-logs.component.html
  • src/app/integrations/xero/xero-main/xero-export-log/xero-skipped-export-log/xero-skipped-export-log.component.html
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-export-log.component.html
  • src/app/integrations/intacct/intacct-main/intacct-configuration/intacct-configuration.component.html
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-skip-export-log/intacct-skip-export-log.component.html
  • src/app/integrations/xero/xero-main/xero-export-log/xero-export-log.component.html
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-complete-export-log/qbo-complete-export-log.component.html
  • src/app/integrations/xero/xero-main/xero-mapping/xero-mapping.component.html
  • src/app/integrations/intacct/intacct-main/intacct-export-log/intacct-completed-export-log/intacct-completed-export-log.component.html
  • src/app/branding/fyle-style-config.ts
  • src/app/branding/c1-style-config.ts
  • src/app/shared/components/dashboard/dashboard-export-section/dashboard-export-section.component.html
  • src/app/integrations/qbd-direct/qbd-direct-main/qbd-direct-export-log/qbd-direct-complete-export-log/qbd-direct-complete-export-log.component.html
  • src/app/integrations/qbo/qbo-main/qbo-export-log/qbo-skipped-export-log/qbo-skipped-export-log.component.html
  • src/app/integrations/landing/landing.component.html
🔇 Additional comments (13)
src/app/shared/components/netsuite/core/netsuite-subsidiary-mapping/netsuite-subsidiary-mapping.component.html (1)

6-6: LGTM! Consistent styling implementation.

The change follows the standardized pattern for configuration content styling.

src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-connector/sage300-onboarding-connector.component.html (1)

9-9: LGTM! Consistent styling implementation.

The change follows the standardized pattern for configuration content styling.

src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-pre-requisite/qbd-direct-onboarding-pre-requisite.component.html (1)

7-7: Pattern suggests intentional border class variation.

The consistent use of tw-border-border-tertiary in multiple components (QBO, Xero, QBD) suggests this might be an intentional variation rather than an inconsistency. However, it would be beneficial to document the reasoning behind using different border classes in different components.

src/app/integrations/intacct/intacct-shared/intacct-c1-import-settings/intacct-c1-import-settings.component.html (1)

4-4: LGTM! Consistent styling implementation.

The styling changes align with the common pattern and use appropriate Tailwind classes for borders and spacing.

src/app/shared/components/si/core/intacct-location-entity/intacct-location-entity.component.html (1)

4-7: Verify complete migration of configuration styles.

Let's verify that all instances of the old style class have been updated.

✅ Verification successful

Migration of configuration styles is complete

The old configurationCommonStyle class has been fully removed. The current implementation shows consistent usage of border styles within each integration's components.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for any remaining instances of the old configuration style class
echo "Checking for remaining instances of configurationCommonStyle..."
rg "configurationCommonStyle" --type html

echo "Checking for inconsistent border classes in configuration components..."
rg "configuration--contents.*tw-border-(?:separator|border-tertiary)" --type html

Length of output: 9673

src/app/shared/components/si/core/intacct-connector/intacct-connector.component.html (1)

4-4: LGTM! Consistent styling approach.

The change from configurationCommonStyle to configurationContents aligns with the standardization of padding styles across components.

src/app/integrations/business-central/business-central-shared/business-central-import-settings/business-central-import-settings.component.html (1)

4-4: LGTM! Consistent styling implementation.

The change maintains consistency with other components while preserving the appropriate border styling.

src/app/integrations/business-central/business-central-shared/business-central-advanced-settings/business-central-advanced-settings.component.html (1)

4-4: LGTM! Maintains styling consistency.

The change follows the established pattern while maintaining the consistent spacing and border styling.

src/app/integrations/xero/xero-shared/xero-advanced-settings/xero-advanced-settings.component.html (1)

4-4: LGTM! Component-specific styling maintained.

The change is consistent with the standardization effort while maintaining Xero-specific styling conventions.

src/app/integrations/travelperk/travelperk-shared/travelperk-advanced-settings/travelperk-advanced-settings.component.html (1)

4-4: LGTM! Consistent with the new styling pattern.

The update to use brandingStyle.common.configurationContents aligns with the standardized styling approach being implemented across the application.

src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-advanced-settings/qbd-direct-advanced-settings.component.html (1)

4-4: LGTM! Maintains component-specific styling while adopting the new pattern.

The update correctly preserves the component-specific tw-border-separator class while adopting the standardized configurationContents styling.

src/app/integrations/qbo/qbo-shared/qbo-advanced-settings/qbo-advanced-settings.component.html (1)

4-4: LGTM! Maintains QBO-specific styling while adopting the new pattern.

The update correctly preserves the QBO-specific tw-border-border-tertiary class while adopting the standardized configurationContents styling.

src/app/integrations/intacct/intacct-shared/intacct-advanced-settings/intacct-advanced-settings.component.html (1)

4-4: LGTM! Maintains consistent styling with QBD Direct component.

The update adopts the standardized configurationContents styling while using the same border styling (tw-border-separator) as the QBD Direct component, promoting consistency across similar components.

@@ -4,7 +4,7 @@
<div *ngIf="isLoading" class="tw-flex tw-justify-center tw-items-center tw-pt-80-px">
<app-loader></app-loader>
</div>
<div *ngIf="!isLoading" class="configuration--contents tw-border-border-tertiary tw-mt-24-px" [ngClass]="brandingStyle.common.configurationCommonStyle">
<div *ngIf="!isLoading" class="configuration--contents tw-border-border-tertiary tw-mt-24-px" [ngClass]="brandingStyle.common.configurationContents">
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Standardize border class to maintain consistency

The codebase consistently uses tw-border-separator for borders across all integration components. Update the Xero onboarding connector to use tw-border-separator instead of tw-border-border-tertiary to maintain visual consistency.

🔗 Analysis chain

Verify border class consistency.

While the configuration content styling is consistent, this component uses tw-border-border-tertiary while others use tw-border-separator. Consider standardizing the border class across all components for visual consistency.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for border class usage across components
rg -l "tw-border-(separator|border-tertiary)" "src/app/integrations/**/**.html"

Length of output: 153


Script:

#!/bin/bash
# Find all HTML files and search for border classes with context
echo "=== Files using tw-border-separator ==="
fd -e html -t f . src/app/integrations | xargs rg "tw-border-separator" -B 1 -A 1

echo -e "\n=== Files using tw-border-border-tertiary ==="
fd -e html -t f . src/app/integrations | xargs rg "tw-border-border-tertiary" -B 1 -A 1

Length of output: 74470

@DhaaraniCIT DhaaraniCIT merged commit 3901ff0 into branding-css Jan 28, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size/M Medium PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants