Add tooltips to clarify Disable vs Revoke actions for license keys #7225
      
        
          +67
        
        
          −20
        
        
          
        
      
    
  
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Overview
This PR addresses confusion around when to use "Disable" versus "Revoke" actions for license keys in the dashboard. While both actions deactivate a license key and prevent validation, their intended use cases and semantic meanings were unclear to users, leading to potential misuse.
Fixes #7212
Changes
Dashboard UI Improvements
Added contextual tooltips to all license key action buttons in the Benefits dashboard (
LicenseKeysPage.tsx):The tooltips use the existing Radix UI Tooltip component (consistent with other tooltips in the app like
BenefitGrantStatus) and are:Documentation Updates
Added a comprehensive "Manage License Keys" section to the license keys documentation explaining:
The documentation clarifies that while both Disabled and Revoked prevent validation, the key difference is intent: Disable is for temporary pauses, while Revoke is for permanent or lifecycle-related deactivation.
Technical Details
asChildprop onTooltipTriggerto avoid wrapper div issuesTesting
✅ TypeScript compilation passes
✅ ESLint validation passes
✅ Prettier formatting applied
✅ Production build successful
User Impact
Users now have immediate, contextual help when managing license keys, reducing confusion and supporting better decision-making about which action to use in different scenarios.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
o1.ingest.sentry.ionode /home/REDACTED/work/polar/polar/clients/apps/web/node_modules/.bin/../next/dist/bin/next build --turbopack(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
This pull request was created as a result of the following prompt from Copilot chat.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.