-
Notifications
You must be signed in to change notification settings - Fork 60
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
fix(my-pages): User Info Line UI #17489
Conversation
WalkthroughThe pull request introduces modifications to the Changes
Possibly related PRs
Suggested reviewers
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? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this 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 (3)
libs/portals/my-pages/core/src/components/InfoLine/InfoLine.tsx (2)
68-72
: Improve responsive layout breakpoints documentationThe column spans use a complex responsive array pattern. While the implementation is correct, adding JSDoc comments explaining the breakpoint behavior would improve maintainability.
+ /** + * Default column spans for different breakpoints: + * - Mobile: 1/1 (full width) + * - Tablet: 1/1 or 6/12 depending on button presence + * - Desktop: 5/12 (label), 5/12 or 7/12 (value), 2/12 (button) + */ labelColumnSpan = ['1/1', '1/1', '1/1', '5/12'],
Line range hint
146-185
: Consider extracting button rendering logicThe button rendering logic is complex and could benefit from being extracted into a separate component for better maintainability and reusability.
Consider creating a new component like:
type InfoLineButtonProps = { button: ButtonProps; span: GridColumnProps['span']; } const InfoLineButton = ({ button, span }: InfoLineButtonProps) => { // Current button rendering logic }libs/portals/my-pages/health/src/screens/HealthCenter/HealthCenter.tsx (1)
96-129
: Consider adding aria-label for better accessibilityThe InfoLineStack implementation looks good, but could benefit from improved accessibility.
<InfoLineStack space={2} label={formatMessage(messages.myRegistration)} + aria-label={formatMessage(messages.myRegistration)} >
Also, consider adding loading states to individual InfoLine components when data is being fetched:
<InfoLine label={formatMessage(messages.healthCenterTitle)} content={ healthCenterData.current.healthCenterName ?? formatMessage(messages.healthCenterNoHealthCenterRegistered) } + loading={loading} button={ canRegister
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
libs/portals/my-pages/core/src/components/InfoLine/InfoLine.tsx
(4 hunks)libs/portals/my-pages/health/src/screens/HealthCenter/HealthCenter.tsx
(2 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
libs/portals/my-pages/health/src/screens/HealthCenter/HealthCenter.tsx (1)
Pattern libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
libs/portals/my-pages/core/src/components/InfoLine/InfoLine.tsx (1)
Pattern libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: tests (judicial-system-backend)
🔇 Additional comments (1)
libs/portals/my-pages/health/src/screens/HealthCenter/HealthCenter.tsx (1)
106-114
: Verify button type safetyThe button prop structure has changed from editLink to a more structured type. Ensure all possible button states are properly typed.
✅ Verification successful
Button prop usage is type-safe
The button prop structure in the code follows the correct type definition, using the 'link' variant with all required properties properly typed. The conditional rendering with undefined is also valid according to the component's interface.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for all InfoLine button prop usages to verify type safety ast-grep --pattern 'InfoLine { $$$ button={$_} $$$ }'Length of output: 61
Script:
#!/bin/bash # Find InfoLine component definition ast-grep --pattern 'interface InfoLineProps { $$$ }' # Find InfoLine component implementation ast-grep --pattern 'const InfoLine = ({$$$}: InfoLineProps) => { $$$ }' # Find all InfoLine usages with context rg "InfoLine" -A 5 -B 5Length of output: 93703
Script:
#!/bin/bash # Find InfoLine component definition and its types in core package fd "InfoLine" --type f --exec cat {} \; libs/portals/my-pages/core/Length of output: 12506
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #17489 +/- ##
=======================================
Coverage 35.61% 35.61%
=======================================
Files 7015 7015
Lines 150309 150313 +4
Branches 42974 42975 +1
=======================================
+ Hits 53535 53537 +2
- Misses 96774 96776 +2
Flags with carried forward coverage won't be shown. Click here to find out more. see 1 file with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
Datadog ReportBranch report: ✅ 0 Failed, 21250 Passed, 0 Skipped, 18m 26.8s Total Time |
User Info Line UI
Replace UserInfoLine with InfoLine and InfoLineStack
Change responsiveness for info line
Ticket: https://www.notion.so/Table-Big-Table-highlight-1265a76701d680cbb9e8fab0b0cc1341?pvs=4
Checklist:
Summary by CodeRabbit
Release Notes
New Features
Improvements
UserInfoLine
with more flexibleInfoLine
componentComponent Updates
InfoLine
andInfoLineStack
components