Skip to content

[CSM Portal][FE] feat(csm-timecards): UI components (5/6) - #997

Merged
rksk merged 1 commit into
wso2-open-operations:v2from
Hesara2003:feature/timecards-p5-components
Jul 2, 2026
Merged

rksk merged 1 commit into
wso2-open-operations:v2from
Hesara2003:feature/timecards-p5-components

Conversation

@Hesara2003

Copy link
Copy Markdown
Contributor

Purpose

Adds the five reusable UI components consumed by the time-cards page and case-detail panel. Requires PR 4/6 (#996) to be merged first.

Goals

  • TimeCardStatusChip.tsx — semantic status chip for card and sheet states
  • TimeSheetCard.tsx — weekly sheet card with per-card actions and sheet-level approve/reject/submit buttons
  • LogTimeCardDialog.tsx — dialog for logging or editing a time card (date, activity breakdown, billable flag, approver picker)
  • TimeCardReviewDialog.tsx — approver accept/reject dialog with lead comment
  • DelegateApprovalsDialog.tsx — dialog for team leads to delegate approvals for a date range

Approach

All components use Oxygen UI primitives and compose the hooks/utils from PRs 2–4. No inline styles — MUI sx only.

User stories

ISSU-009 — Time Management (Epic: Issue Management, Priority: Must have)

As a CS Engineer, I want to log time spent on an issue so that effort is tracked for operational reporting and billing purposes.

Acceptance criteria addressed here:

  • Log entries with date, hours, activity type, description and billable flag ✓ (LogTimeCardDialog)
  • Team Leads approve/reject submissions ✓ (TimeCardReviewDialog)
  • Delegation of approvals ✓ (DelegateApprovalsDialog)

Release note

Reusable time-card UI components. No user-visible route changes in this PR — wiring lands in PR 6/6.

Documentation

N/A

Training

N/A

Certification

N/A

Marketing

N/A

Automation tests

  • Unit tests: covered by PR 2–4 util tests; component-level tests to follow post-BFF wiring

Security checks

Samples

N/A

Related PRs

6-PR series for ISSU-009 — merge into v2 in order:

  1. [CSM Portal][FE] feat(csm-timecards): foundation types, constants and config keys (1/6) #992 — Foundation
  2. [CSM Portal][FE] feat(csm-timecards): core utility functions and tests (2/6) #994 — Core utility functions and tests
  3. [CSM Portal][FE] feat(csm-timecards): API data layer — store, hooks and tests (3/6) #995 — API data layer
  4. [CSM Portal][FE] feat(csm-timecards): notification util, role hooks and remaining tests (4/6) #996 — Notification util, role hooks and remaining tests
  5. This PR — UI components
  6. PR 6/6 — Page and case-detail integration ← merge last

Migrations

N/A

Test environment

macOS 14, Node 20, Chrome 126

Learning

N/A

@coderabbitai

coderabbitai Bot commented Jul 1, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@rksk, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 43 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 227e16e6-f40b-4028-811d-39e21c1b7ec0

📥 Commits

Reviewing files that changed from the base of the PR and between 5b489e2 and 364051c.

📒 Files selected for processing (5)
  • apps/csm-portal/webapp/src/features/csm-timecards/components/DelegateApprovalsDialog.tsx
  • apps/csm-portal/webapp/src/features/csm-timecards/components/LogTimeCardDialog.tsx
  • apps/csm-portal/webapp/src/features/csm-timecards/components/TimeCardReviewDialog.tsx
  • apps/csm-portal/webapp/src/features/csm-timecards/components/TimeCardStatusChip.tsx
  • apps/csm-portal/webapp/src/features/csm-timecards/components/TimeSheetCard.tsx
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@Hesara2003 Hesara2003 self-assigned this Jul 1, 2026
@Hesara2003 Hesara2003 added Type/New Feature Represents a request or task for a new feature Area/Frontend App/Customer Portal Platform/Web Priority/High High-priority tasks to be completed soon App/CSM Portal and removed Priority/High High-priority tasks to be completed soon App/Customer Portal labels Jul 1, 2026
@Hesara2003
Hesara2003 force-pushed the feature/timecards-p5-components branch 7 times, most recently from 08d9de3 to e0ef661 Compare July 2, 2026 08:58
@Hesara2003
Hesara2003 requested a review from rksk July 2, 2026 17:07
@rksk
rksk force-pushed the feature/timecards-p5-components branch from e0ef661 to 8a6bf7f Compare July 2, 2026 17:55
Adds TimeCardStatusChip, TimeSheetCard, LogTimeCardDialog,
DelegateApprovalsDialog and TimeCardReviewDialog — the reusable
building blocks consumed by the panel and page in the next PR.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@rksk
rksk force-pushed the feature/timecards-p5-components branch from 8a6bf7f to 364051c Compare July 2, 2026 18:11
@rksk
rksk merged commit 7aa785e into wso2-open-operations:v2 Jul 2, 2026
1 check passed
@Hesara2003
Hesara2003 deleted the feature/timecards-p5-components branch July 3, 2026 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

App/CSM Portal Area/Frontend Platform/Web Type/New Feature Represents a request or task for a new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants