Skip to content

[Customer Portal][FE][Web] Implement Case Details Content Orchestrator and Modular Tabbed UI - #148

Merged
Rashmika998 merged 2 commits into
wso2-open-operations:customer-portal-milestone-1from
dileepapeiris:feat/fix-case-create-id-issue
Feb 13, 2026
Merged

Rashmika998 merged 2 commits into
wso2-open-operations:customer-portal-milestone-1from
dileepapeiris:feat/fix-case-create-id-issue

Conversation

@dileepapeiris

@dileepapeiris dileepapeiris commented Feb 13, 2026 •

Copy link
Copy Markdown
Contributor

###. Description

This pull request introduces a new CaseDetailsContent component to the customer portal webapp, which consolidates the display logic for case details, including loading and error states, header, tabs, and content panels. The component improves code organization and maintainability by encapsulating the case details UI in a single, well-structured React function component.

Key additions in this pull request:

New Component Implementation:

  • Added a new CaseDetailsContent React component in CaseDetailsContent.tsx to handle the rendering of case details, including header, action row, tabs, and content panels, as well as loading and error states.
  • Incorporated logic to fetch and display case attachments count, assigned engineer initials, and dynamic status chip styling based on the case status and theme.
  • Utilized subcomponents such as CaseDetailsHeader, CaseDetailsActionRow, CaseDetailsTabs, and CaseDetailsTabPanels for modular UI composition.
  • Implemented focus mode and tab switching logic to control the layout and visibility of certain UI elements.
  • Added a skeleton loading state using CaseDetailsSkeleton for improved user experience during data fetches.

Introduce CaseDetailsContent.tsx: a new React component for the customer-portal that renders the case header, action row, tabs and tab panels in a template-aligned layout. Handles loading/error states (shows skeleton), focus mode toggle, active tab state, and computes status/severity visuals (chip styling, icon) using theme helpers. Fetches attachment count via useGetCaseAttachments and derives engineer initials for display. Composes existing CaseDetails* subcomponents and ensures correct scroll/overflow behavior for activity vs other tabs.
@coderabbitai

coderabbitai Bot commented Feb 13, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@dileepapeiris has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 9 minutes and 28 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.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Update CaseDetailsContent.tsx to import CaseDetailsSkeleton from the new module alias '@case-details-details/CaseDetailsSkeleton' instead of '@case-details/CaseDetailsSkeleton'. This ensures the component resolves from its updated location/alias.
@Rashmika998
Rashmika998 merged commit 25c055f into wso2-open-operations:customer-portal-milestone-1 Feb 13, 2026
1 check passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a new CaseDetailsContent container component that composes the Case Details page layout (header, action row, tabs, and tab panels) and handles loading vs. content rendering.

Changes:

  • Introduces CaseDetailsContent component to render case details header/action row and tabbed content.
  • Adds focus mode support to hide header/action row while keeping the tab bar visible.
  • Fetches attachment count to display in the “Attachments” tab label.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dileepapeiris dileepapeiris self-assigned this Feb 13, 2026
@dileepapeiris dileepapeiris added Type/New Feature Represents a request or task for a new feature Type/UX Refers to user experience-related tasks or issues App/Customer Portal Area/Backend Area/Frontend Platform/Web labels Feb 13, 2026
@dileepapeiris dileepapeiris moved this from Todo to Done in Customer Portal Development Feb 13, 2026
@dileepapeiris dileepapeiris changed the title Add CaseDetailsContent component [Customer Portal][FE][Web] Implement Case Details Content Orchestrator and Modular Tabbed UI Feb 13, 2026
@dileepapeiris dileepapeiris moved this from Done to Staging Deployed in Customer Portal Development Feb 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

App/Customer Portal Area/Backend Area/Frontend Platform/Web Type/New Feature Represents a request or task for a new feature Type/UX Refers to user experience-related tasks or issues

Projects

Status: Staging Deployed

Development

Successfully merging this pull request may close these issues.

3 participants