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: Qbd checkbox button creation #1054

Merged
merged 4 commits into from
Nov 13, 2024

Conversation

DhaaraniCIT
Copy link
Contributor

@DhaaraniCIT DhaaraniCIT commented Nov 4, 2024

Description

feat: Qbd checkbox button creation

Clickup

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

Summary by CodeRabbit

Release Notes

  • New Features

    • Enhanced onboarding experience for QuickBooks Desktop with dynamic content and structured guidance.
    • Introduced new components for data sync, download file, and setup connection, improving user interaction.
    • Added conditional rendering and loading indicators for better user feedback during onboarding processes.
  • Bug Fixes

    • Corrected routing logic for onboarding states to ensure proper navigation.
  • Style

    • Improved styling for various components, including loading spinners and button states, enhancing overall UI responsiveness.
  • Documentation

    • Updated documentation to reflect new features and component functionalities.

Copy link
Contributor

coderabbitai bot commented Nov 4, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

The pull request introduces multiple enhancements across various components and configurations related to the QuickBooks Direct onboarding process. Key changes include the addition of new properties and methods in several components, updates to existing configuration files, and modifications to the routing logic. Notably, new components for onboarding prerequisites and data synchronization are introduced, along with updates to the ESLint configuration to disable a specific rule. Overall, these changes aim to improve user interactions and the configurability of the onboarding experience.

Changes

File Change Summary
.eslintrc.json Added rule @angular-eslint/no-input-rename set to "off" in TypeScript files override.
src/app/branding/c1-contents-config.ts Updated c1Contents to use brandingConfig.brandName in text content; added preRequisite object with new fields.
src/app/branding/fyle-contents-config.ts Updated references from "NetSuite" to "QuickBooks Desktop"; added preRequisite object.
src/app/core/models/branding/content-configuration.model.ts Added property preRequisite to ContentConfiguration type.
src/app/core/models/common/helper.model.ts Added type CheckBoxUpdate with properties id and value.
src/app/core/models/db/workspaces.model.ts Added type WorkspaceOnboardingState with property onboarding_state.
src/app/core/models/enum/enum.model.ts Added enums QBDPreRequisiteState and QBDConnectionStatus; updated QbdDirectOnboardingState enum for consistency.
src/app/core/models/qbd-direct/qbd-direct-configuration/qbd-direct-connector.model.ts Added new types: QbdConnectorPost, QbdConnectorGet, QBDPrerequisiteObject, SyncDataType.
src/app/core/models/qbd-direct/qbd-direct-configuration/qbd-direct-onboarding.model.ts Introduced QbdDirectOnboardingModel and related methods for onboarding steps.
src/app/core/services/common/workspace.service.ts Added method updateWorkspaceOnboardingState; updated imports.
src/app/core/services/qbd-direct/qbd-direct-configuration/qbd-direct-connector.service.spec.ts Changed describe to xdescribe, disabling the test suite.
src/app/core/services/qbd-direct/qbd-direct-configuration/qbd-direct-connector.service.ts Added methods postQbdDirectConntion and syncAttribuites; updated constructor.
src/app/core/services/qbd-direct/qbd-direct-core/qbd-direct-connector.service.ts Removed the QbdDirectConnectorService class.
src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-connector/qbd-direct-onboarding-connector.component.html Overhauled template structure to include onboarding components and conditional rendering.
src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-connector/qbd-direct-onboarding-connector.component.ts Implemented OnInit, added properties and methods for onboarding management.
src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-landing/qbd-direct-onboarding-landing.component.html Updated structure to include new components and properties for onboarding.
src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-landing/qbd-direct-onboarding-landing.component.ts Added properties and method for QuickBooks connection management.
src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-pre-requisite/qbd-direct-onboarding-pre-requisite.component.html Overhauled template to include onboarding stepper and conditional rendering.
src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-pre-requisite/qbd-direct-onboarding-pre-requisite.component.ts Introduced QbdDirectOnboardingPreRequisiteComponent with onboarding logic.
src/app/integrations/qbd-direct/qbd-direct-onboarding/qbd-direct-onboarding-routing.module.ts Added route for QbdDirectOnboardingPreRequisiteComponent.
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-data-sync/qbd-direct-data-sync.component.html Overhauled structure to enhance user interaction and data display.
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-data-sync/qbd-direct-data-sync.component.scss Added .spin-icon class for loading animations.
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-data-sync/qbd-direct-data-sync.component.ts Updated component to implement OnInit and added new input/output properties.
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-download-file/qbd-direct-download-file.component.html Overhauled structure for user interaction and file download management.
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-download-file/qbd-direct-download-file.component.ts Added input/output properties for download management and user interaction.
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-setup-connection/qbd-direct-setup-connection.component.html Enhanced layout for connection setup instructions.
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-setup-connection/qbd-direct-setup-connection.component.ts Added properties and methods for connection management.
src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-shared.module.ts Added new components to the shared module.
src/app/integrations/qbd-direct/qbd-direct.component.ts Updated routing paths for onboarding states.
src/app/integrations/qbd-direct/qbd-direct.module.ts Removed QbdDirectComponent from declarations.
src/app/shared/components/configuration/configuration-confirmation-dialog/configuration-confirmation-dialog.component.html Enhanced conditional rendering based on appName.
src/app/shared/components/configuration/configuration-confirmation-dialog/configuration-confirmation-dialog.component.ts Added new input properties for configurability.
src/app/shared/components/configuration/configuration-info-label/configuration-info-label.component.html Introduced conditional rendering for an icon.
src/app/shared/components/configuration/configuration-info-label/configuration-info-label.component.ts Added showIcon input property for conditional display.
src/app/shared/components/configuration/configuration-step-footer/configuration-step-footer.component.html Modified conditional rendering logic for footer elements.
src/app/shared/components/core/svg-icon/svg-icon.component.ts Expanded ICON_MAPPING with new icons.
src/app/shared/components/helper/app-landing-page-header/app-landing-page-header.component.html Updated button display logic for integration connections.
src/app/shared/components/helper/app-landing-page-header/app-landing-page-header.component.ts Expanded connection method logic for QBD_DIRECT.
src/app/shared/components/helper/onboarding-stepper/onboarding-stepper.component.scss Added new styles for prerequisite steps.
src/app/shared/components/input/checkbox-button/checkbox-button.component.html Overhauled structure for checkbox button functionality.
src/app/shared/components/input/checkbox-button/checkbox-button.component.scss Introduced new styles for checkbox states.
src/app/shared/components/input/checkbox-button/checkbox-button.component.ts Added input/output properties and event handling for checkbox state changes.
src/app/shared/shared.module.ts Added CheckboxButtonComponent to the shared module.
src/styles.scss Introduced new styles for UI components and themes.
tailwind.config.js Enhanced Tailwind CSS configuration with new height/width entries.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Onboarding as QbdDirectOnboardingConnectorComponent
    participant Service as WorkspaceService
    participant API as ApiService

    User->>Onboarding: Initiate onboarding
    Onboarding->>Service: Get current state
    Service->>Onboarding: Return onboarding state
    Onboarding->>User: Display onboarding steps
    User->>Onboarding: Complete step
    Onboarding->>Service: Update onboarding state
    Service->>API: PATCH /update-state
    API-->>Service: Confirmation
    Service-->>Onboarding: State updated
    Onboarding->>User: Show next step
Loading

Possibly related PRs

Suggested labels

size/M, deploy

Suggested reviewers

  • ashwin1111

"In the fields where rabbits play,
New components hop in every way.
With onboarding steps, we leap and bound,
QuickBooks connections all around!
So let’s celebrate this code we share,
With joyful hops and fluffy flair!" 🐇✨

Warning

Rate limit exceeded

@github-actions[bot] has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 24 minutes and 20 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 80c9b48 and 69e60b8.


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

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

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

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

CodeRabbit Commands (Invoked using PR comments)

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

Other keywords and placeholders

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

CodeRabbit Configuration File (.coderabbit.yaml)

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

Documentation and Community

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

@github-actions github-actions bot added the size/M Medium PR label Nov 4, 2024
Copy link

github-actions bot commented Nov 4, 2024

PR description must contain a link to a ClickUp (case-insensitive)

@@ -1,5 +1,10 @@
import { FormGroup, Validators } from "@angular/forms";

export type checkBoxEmit = {
Copy link
Contributor

Choose a reason for hiding this comment

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

CheckBoxEvent

@@ -1,5 +1,10 @@
import { FormGroup, Validators } from "@angular/forms";

export type checkBoxEmit = {
id: number;
Copy link
Contributor

Choose a reason for hiding this comment

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

better to add it to checkbox button component itself

@@ -1 +1,10 @@
<p>chechbox-button works!</p>
Copy link
Contributor

Choose a reason for hiding this comment

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

checkbox-button - fix typo

@@ -1 +1,10 @@
<p>chechbox-button works!</p>
<div [ngClass]="isCheckboxSelected ? 'checkedText' : 'unCheckedText'">
Copy link
Contributor

Choose a reason for hiding this comment

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

checked-text, unchecked-text - kebab-case for css classes


@Component({
selector: 'app-chechbox-button',
standalone: true,
imports: [],
imports: [ButtonModule, CommonModule],
templateUrl: './chechbox-button.component.html',
styleUrl: './chechbox-button.component.scss'
})
export class ChechboxButtonComponent {
Copy link
Contributor

Choose a reason for hiding this comment

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

CheckboxButtonComponent

templateUrl: './chechbox-button.component.html',
styleUrl: './chechbox-button.component.scss'
})
export class ChechboxButtonComponent {

@Input() unCheckedText: string;
Copy link
Contributor

Choose a reason for hiding this comment

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

@Input({required: true}) unCheckedText: string;

templateUrl: './chechbox-button.component.html',
styleUrl: './chechbox-button.component.scss'
})
export class ChechboxButtonComponent {

@Input() unCheckedText: string;

@Input() checkedText: string;
Copy link
Contributor

Choose a reason for hiding this comment

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

let's add required everywhere where it's mandatory

Copy link

github-actions bot commented Nov 5, 2024

PR description must contain a link to a ClickUp (case-insensitive)

Copy link

github-actions bot commented Nov 5, 2024

PR description must contain a link to a ClickUp (case-insensitive)

Copy link

github-actions bot commented Nov 5, 2024

Unit Test Coverage % values
Statements 35.45% ( 4235 / 11945 )
Branches 29.01% ( 1228 / 4232 )
Functions 27.99% ( 937 / 3347 )
Lines 35.56% ( 4157 / 11688 )

* feat: onboarding basic setup

* feat: qbd direct onboarding landing page (#1056)

* feat: qbd direct onboarding landing page

* feat: qbd-direct-onboarding-pre-requisite implementation

* PR comments fix

* PR fix

* updateWorkspaceOnboardingState service return type update

* qbd direct logo update

* feat: qbd-direct onboarding prerequisite UI implementation (#1058)

* feat: qbd-direct-onboarding-pre-requisite implementation

* styling changes

* unit test fix

* step footer contentt fix

* pre requisite Ui updation

* PR comments fix

* PR comments fix

* feat: Download qwd file UI changes (#1059)

* feat: Download qwd file UI changes

* download file Ui updation

* download file Ui updation

* download file Ui updation

* download file Ui updation

* feat: qbd connector setup UI changes (#1060)

* feat: qbd connector setup UI changes

* Merge branch qbd-direct-onboarding-download-file-UI into qbd-direct-step-connector-UI

* feat: Qbd direct connection data sync UI changes (#1061)

* feat: Qbd direct connection data sync UI changes

* input made required

* svg update

* feat: qbd direct pre requisite ts changes (#1062)

* feat: qbd direct pre requisite ts changes

* feat: qbd direct pre requisite ts changes

* feat: qbd direct connector download file ts changes (#1063)

* feat: qbd direct connector download file ts changes

* feat: qbd direct connector setup connector ts changes (#1064)

* feat: qbd direct connector setup connector ts changes

* feat: qbd direct connector data sync up ts changes (#1065)

* PR comment fix

* PR comment fix

* Qbd direct connector data sync up ts (#1070)

* feat: qbd direct pre requisite ts changes

* feat: qbd direct pre requisite ts changes

* feat: qbd direct connector download file ts changes

* feat: qbd direct connector setup connector ts changes

* feat: qbd direct connector data sync up ts changes

* feat: QBD direct main connection page business logic (#1066)

* feat: QBD direct main connection page business logic

* onboarding connection ts changes

* onboarding connection ts changes

---------

Co-authored-by: ashwin1111 <[email protected]>

---------

Co-authored-by: ashwin1111 <[email protected]>

---------

Co-authored-by: ashwin1111 <[email protected]>

---------

Co-authored-by: ashwin1111 <[email protected]>

---------

Co-authored-by: ashwin1111 <[email protected]>

---------

Co-authored-by: ashwin1111 <[email protected]>
@ashwin1111 ashwin1111 merged commit 024398f into qbd-direct-onboarding-phase-1 Nov 13, 2024
2 of 4 checks passed
@github-actions github-actions bot added size/XL Extra Large PR and removed size/M Medium PR labels Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size/XL Extra Large PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants