Frontend/licensee email display#1301
Conversation
📝 WalkthroughWalkthroughThis PR adds support for pre-login compact selection persistence and display of email addresses in licensee detail views. Changes include introducing AUTH_LOGIN_GOTO_COMPACT configuration, updating License and Licensee models with email fields, modifying PublicDashboard and App initialization to preserve user's selected compact across login, updating environment endpoints for COSMO, and enhancing the LicensingDetail page with registration and state email display. Changes
Sequence DiagramsequenceDiagram
actor User
participant PD as PublicDashboard
participant AS as AuthStorage
participant Auth as Auth Service
participant App as App.ts
participant Server as Backend
User->>PD: Selects compact (e.g., COSMETOLOGY)
PD->>PD: setGotoCompact(COSMETOLOGY)
PD->>AS: Stores AUTH_LOGIN_GOTO_COMPACT: COSMETOLOGY
User->>PD: Initiates mock login
PD->>Auth: Authenticate user
Auth->>Server: Fetch user & compacts
Server-->>Auth: Return user with default compact (e.g., ASLP)
Auth->>App: Initialize with user data
App->>AS: Retrieve stored AUTH_LOGIN_GOTO_COMPACT
AS-->>App: Return COSMETOLOGY
App->>App: setCurrentCompact(preLoginCompact: COSMETOLOGY)
App->>App: Override userDefaultCompact to COSMETOLOGY
App->>User: Redirect to COSMETOLOGY compact
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Stylelint (17.3.0)webroot/src/pages/LicensingDetail/LicensingDetail.lessConfigurationError: Could not find "stylelint-config-rational-order". Do you need to install the package or use the "configBasedir" option? Tip Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
webroot/src/pages/LicensingDetail/LicensingDetail.less (1)
173-173: Replace deprecatedword-break: break-wordwithoverflow-wrap
word-break: break-wordis deprecated per the CSS Text Module Level 3 spec and MDN. The spec defines it as equivalent toword-break: normalcombined withoverflow-wrap: anywhere. Useoverflow-wrap: anywherefor the closest replacement, oroverflow-wrap: break-wordif the slightly different word-breaking behavior is acceptable.♻️ Proposed refactor
.info-item-title { font-weight: `@fontWeightBold`; font-size: 1.4rem; line-height: 2.1rem; - word-break: break-word; + overflow-wrap: anywhere; } .info-item { font-size: 1.4rem; line-height: 2.1rem; - word-break: break-word; + overflow-wrap: anywhere; }Also applies to: 179-179
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@webroot/src/pages/LicensingDetail/LicensingDetail.less` at line 173, Replace the deprecated CSS rule "word-break: break-word" in webroot/src/pages/LicensingDetail/LicensingDetail.less with the modern equivalent by changing both occurrences of that property to "overflow-wrap: anywhere" (or "overflow-wrap: break-word" if you prefer the slightly different behavior); update the rule where "word-break: break-word" appears so the selector(s) now use "overflow-wrap" to preserve the intended wrapping behavior across browsers.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@webroot/src/pages/LicensingDetail/LicensingDetail.vue`:
- Around line 94-101: Wrap the two email info blocks with v-if guards so they
only render when data exists: add v-if="registrationEmail || isRegistered" (or
v-if="registrationEmail" if there is no isRegistered flag) to the registration
email block that currently shows {{registrationEmail}}, and add
v-if="stateEmail" to the state email block that shows {{stateEmail}}; update the
template around the existing divs containing the info-item-title and info-item
to use these v-if conditions so empty labels do not render.
---
Nitpick comments:
In `@webroot/src/pages/LicensingDetail/LicensingDetail.less`:
- Line 173: Replace the deprecated CSS rule "word-break: break-word" in
webroot/src/pages/LicensingDetail/LicensingDetail.less with the modern
equivalent by changing both occurrences of that property to "overflow-wrap:
anywhere" (or "overflow-wrap: break-word" if you prefer the slightly different
behavior); update the rule where "word-break: break-word" appears so the
selector(s) now use "overflow-wrap" to preserve the intended wrapping behavior
across browsers.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (16)
webroot/.env.examplewebroot/src/app.config.tswebroot/src/components/App/App.tswebroot/src/locales/en.jsonwebroot/src/locales/es.jsonwebroot/src/models/License/License.model.spec.tswebroot/src/models/License/License.model.tswebroot/src/models/Licensee/Licensee.model.spec.tswebroot/src/models/Licensee/Licensee.model.tswebroot/src/network/mocks/mock.data.api.tswebroot/src/network/mocks/mock.data.tswebroot/src/pages/LicensingDetail/LicensingDetail.lesswebroot/src/pages/LicensingDetail/LicensingDetail.tswebroot/src/pages/LicensingDetail/LicensingDetail.vuewebroot/src/pages/PublicDashboard/PublicDashboard.tswebroot/src/pages/PublicDashboard/PublicDashboard.vue
|
@jlkravitz This is ready for your review. |
jlkravitz
left a comment
There was a problem hiding this comment.
Looks good! Tested locally on mock data.
@isabeleliassen Good to merge.
Requirements List
Description List
.env.exampleTesting List
yarn test:unit:allshould run without errors or warningsyarn serveshould run without errors or warningsyarn buildshould run without errors or warningsCloses #1169
Closes #1248
Closes #1296
Summary by CodeRabbit
New Features
Style
Chores