Bug: QwikFix "Share with client" toggle not honored when using "Send to All"

Objective

  • Ensure the "Share with client" toggle in the QwikFix modal is respected regardless of which send button the user presses
  • Eliminate confusion caused by two send buttons with overlapping but undifferentiated scope
  • Prevent unintended client communication when an agent has explicitly opted out

Background

  • Reported by an AJF Top agent via Allie Jennings during first-time use of the QwikFix feature
  • The modal presents two send paths: a "Send N items" button at the top of the QwikFixCard (QwikFix only), and a "Send to All (N)" button in the modal footer (QwikFix + all specialty contractors)
  • The agent deselected "Share with client" via the toggle in QwikFixCard.tsx, then clicked "Send to All" in the footer instead of the card-level button — the toggle appeared to re-select itself (or was not honored)
  • The root cause is in QuickFixRepairQuoteModal.tsx: shareWithClient state initializes to true on every modal open via the useEffect reset. If anything causes a re-render or the user's interaction sequence triggers state re-evaluation before handleRequestRepairQuotes fires, the toggle's deselected value can be lost
  • Separately, the dual-button layout contributed directly to the confusion — "Send N items" (card) vs. "Send to All (N)" (footer) are not clearly differentiated in scope for a first-time user, which led the agent to use the wrong button in the first place

Product Decisions

Locked

  1. "Share with client" toggle — the value set by the user at the time they press any send button must be honored, regardless of which button is used

Open

  1. Button labeling — how should the card-level "Send N items" button and the footer "Send to All (N)" button be differentiated to make their scopes clear? Options include adding scope descriptors (e.g. "Send to QwikFix only" vs. "Send to All Contractors"), removing the card-level button, or adding a tooltip

Scope

Frontend

  • src/app/client/reports/components/quickfix-repair-quote/QuickFixRepairQuoteModal.tsxshareWithClient state initialization (setShareWithClient(true) in useEffect); handleRequestRepairQuotes reads this value at call time; footer "Send to All" button wires to this handler
  • src/app/client/reports/components/quickfix-repair-quote/QwikFixCard.tsx — card-level send button (onSend) and "Share with client" toggle (QwikFixToggle) that controls the shareWithClient value passed up to the modal
  • src/app/client/reports/components/quickfix-repair-quote/QwikFixToggle.tsx — toggle component rendered inside the card

References

  • Reported via Allie Jennings, sourced from AJF Top agent (first-time QwikFix user)
  • Related: ATT-1847 (repair list guided quote flow), ATT-1689 (QwikFix integration)

Please authenticate to join the conversation.

Upvoters
Status

Planned

Board
🏠

Main App

Date

About 3 hours ago

Author

Linear

Subscribe to post

Get notified by email when there are changes.