Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: Modernize dashboard with MUI X charts and activity timeline#706

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Draft
nicolai-rhesis wants to merge7 commits intomain
base:main
Choose a base branch
Loading
fromfeat/revised-dashboard

Conversation

@nicolai-rhesis
Copy link
Member

@nicolai-rhesisnicolai-rhesis commentedOct 28, 2025
edited
Loading

📊 Dashboard Modernization

This PR completely redesigns the dashboard with a modern, interactive interface using MUI X Charts.

✨ What's New

🎨 Modern UI Components

  • DashboardKPIs: Hero section with 4 KPI cards featuring:

    • Overall Pass Rate gauge with month-over-month trend (color-coded: green >60%, orange 30-60%, red <30%)
    • Sparkline charts with area fills showing trends
    • Trend indicators (up/down arrows with change values)
    • Brand color palette throughout
  • TestRunPerformance: Recent test runs in compact cards:

    • Pass rate progress bars with ~tilde for approximate times
    • Status chips (Completed/Failed based on pass rate)
    • Executor information
    • Click to navigate to test run details
    • Dynamic viewport-based item limits (6-20 items)
  • ActivityTimeline: Comprehensive activity feed showing:

    • Test Created & Test Updated (NEW!)
    • Test Run Executed (usesstarted_at timestamp)
    • Test Set Created
    • Task Created (NEW!)
    • Task Assigned (NEW!)
    • Task Completed (NEW!)
    • Task Updated (NEW!)
    • Shows assignees, status, and metadata chips
    • Click to navigate to related entities
    • Dynamic viewport-based item limits (6-15 items)

📈 Technical Improvements

  • Brand Consistency: All charts use brand color palette from theme
  • Unified Loading: Single spinner for entire dashboard instead of 3 separate ones
  • Data Consistency: Test runs data aligned with Test Results page usinggetComprehensiveTestResultsStats
  • Interactive Features: Click-to-navigate, subtle hover effects (no translation animations)
  • Responsive Layout: 2x3 grid system with proper spacing
  • Viewport Optimization: Dynamic content display based on available screen space
  • TypeScript Updates: Added missingcreated_at andupdated_at to Task interface

🗑️ Removed

  • Legacy dashboard components (DashboardCharts.tsx, pie charts)
  • Redundant hover animations (translateY/translateX transforms)
  • Auto-refresh mechanism (data only fetched on mount and token changes)
  • Window resize listeners (viewport assessed once at initial load)

📊 Dashboard Layout

┌─────────────────────────────────────────────────────────────┐│  Overall Pass │  Test Exec.   │  Total Test   │  Tests      ││  Rate (Gauge) │  (Sparkline)  │  Sets         │ (Sparkline) ││  + Trend      │               │  (Sparkline)  │             │└─────────────────────────────────────────────────────────────┘┌──────────────────────────┬──────────────────────────────────┐│  Recent Test Runs        │  Recent Activity Timeline        ││  (6-20 cards, dynamic)   │  (6-15 items, dynamic)          ││  - Pass rates            │  - Tests, Test Runs, Test Sets  ││  - Status (Completed/    │  - Tasks (Created/Assigned/     ││    Failed)               │    Completed/Updated)           ││  - ~X time ago           │  - ~X time ago                  │└──────────────────────────┴──────────────────────────────────┘

🎯 User Benefits

  • At-a-glance insights: KPIs with trends immediately visible
  • Team visibility: Task tracking shows who's working on what
  • Better data visualization: Aligned with Test Results page
  • Actionable intelligence: Click any element to drill down
  • Modern design: Subtle hover effects, smooth transitions
  • Optimized for any screen: 4K displays show more content automatically

⚠️ Backend Requirements

🔴 Critical: Missing Timestamps on Tasks & Test Sets

The/api/tasks and/api/test-sets endpoints arenot consistently returningcreated_at andupdated_at timestamps. This causes issues in the Activity Timeline where items without timestamps are sorted to the bottom with a fallback date of2000-01-01.

Workaround implemented (temporary):

  • Tasks/test sets without timestamps use fallback date2000-01-01T00:00:00Z
  • Console warnings logged for debugging:Task missing timestamp (will be sorted to bottom)
  • Items still visible but sorted incorrectly

Required fix (choose one):

  1. Option A: Fix existing endpoints

    • Ensure/api/tasks always returnscreated_at andupdated_at
    • Ensure/api/test-sets always returnscreated_at andupdated_at
    • All timestamp fields should be ISO 8601 format
  2. Option B: Create dedicated timeline endpoint (recommended)

    • New endpoint:/api/timeline or/api/activity-feed
    • Returns pre-aggregated activity items with guaranteed timestamps
    • Better performance (single call vs 5 parallel calls)
    • Better control over activity types and sorting

🧪 Testing

  • TypeScript type-check: ✅ Passing
  • All dashboard components render correctly
  • Interactive features (click navigation) working
  • API queries optimized and functional
  • Task tracking in activity feed verified
  • Viewport-based dynamic limits working
  • Unified loading spinner working

📦 Dependencies

  • Uses:@mui/x-charts (already in package.json)
  • No breaking changes to existing APIs

🔄 Migration Notes

  • Old dashboard grids completely replaced
  • No data migration needed
  • Backward compatible API calls
  • Timeline will work better once backend timestamps are fixed

- Replace old dashboard grids with modern components using MUI X Charts- Add DashboardKPIs with sparklines, trend indicators, and colored gauge- Add DashboardCharts using MUI X PieCharts for test run status/results- Add ActivityTimeline showing tests, test runs, test sets, and tasks- Add TestRunPerformance component with compact card layout- Apply brand color palette to all charts and sparklines- Optimize API queries (reduced from 4→3 calls in timeline)- Add task tracking in activity feed (created and completed)- Add interactive features: click to navigate, hover effects- Remove legacy grid components- Update task interface with created_at/updated_at timestamps
@nicolai-rhesisnicolai-rhesis self-assigned thisOct 28, 2025
nicolai-rhesisand others added6 commitsNovember 11, 2025 07:54
- Resolved conflicts in dashboard page by combining imports from both branches- Removed root-level package.json and package-lock.json as they were deleted in main- Successfully merged all changes from main branch
- Reorder KPI cards: Overall Pass Rate, Test Executions, Test Sets, Tests- Add timestamp fallbacks for tasks and test sets (use updated_at or current time)- Simplify task activity chips to show only status and assignee- Fix SparkLineChart valueFormatter type signature- Implement unified loading spinner for better UX- Use tilde (~) for relative time displays- Rename 'Total Tests' to 'Tests' for consistency
- Remove translateY/translateX transform on hover for all dashboard cards- Keep subtle box-shadow and background-color hover effects- Delete unused DashboardCharts.tsx component- Improve visual stability of dashboard interface
…ling- Fix viewport height timing issue causing only 6 items to load- Split viewport initialization and data fetching into separate effects- Use fallback date (2000-01-01) for tasks/test sets without timestamps- Prevent refetch on window resize (only on initial mount)- Tasks without timestamps now visible but sorted to bottom- Log warnings for missing timestamps to aid backend debugging
Resolved conflicts:- Kept new dashboard implementation with DashboardKPIs, TestRunPerformance, and ActivityTimeline- Removed old RecentTestsGrid and RecentTestSetsGrid components- Integrated onboarding context from main branch
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

@nicolai-rhesisnicolai-rhesis

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

3 participants

@nicolai-rhesis@harry-rhesis

[8]ページ先頭

©2009-2025 Movatter.jp