[PR #9343] [MERGED] Refactor /data page #7972

Closed
opened 2026-02-26 16:31:21 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/community-scripts/ProxmoxVE/pull/9343
Author: @BramSuurdje
Created: 11/21/2025
Status: Merged
Merged: 11/22/2025
Merged by: @tremor021

Base: mainHead: refactor-data-page


📝 Commits (5)

  • d9890ff feat: add ChartContainer and related components for data visualization
  • 9d7dcd0 feat: enhance DataPage with improved data fetching, visualization, and UI components
  • 7e10266 feat: update dependencies in package.json and bun.lock for improved functionality
  • 0eb3c9d feat: add ScrollArea and ScrollBar components for enhanced UI scrolling functionality
  • be15b2b refactor: remove ApplicationChart component to streamline codebase and improve maintainability

📊 Changes

6 files changed (+1052 additions, -386 deletions)

View changed files

📝 frontend/bun.lock (+75 -25)
📝 frontend/package.json (+3 -1)
📝 frontend/src/app/data/page.tsx (+557 -161)
frontend/src/components/application-chart.tsx (+0 -199)
frontend/src/components/ui/chart.tsx (+369 -0)
frontend/src/components/ui/scroll-area.tsx (+48 -0)

📄 Description

✍️ Description

This pull request introduces a new, reusable chart component system based on Recharts, updates several frontend dependencies, and removes the previous Chart.js-based implementation for displaying application data. The changes focus on modernizing chart rendering, improving maintainability, and enhancing UI consistency by leveraging Radix UI primitives.

Charting System Refactor:

  • Added a new ChartContainer and related chart UI components in ui/chart.tsx, providing a reusable, theme-aware charting system built on Recharts. This includes context-based configuration, custom tooltips, legends, and style injection for consistent theming.
  • Removed the old Chart.js-based ApplicationChart component, which included custom pagination, dialogs, and table views, to make way for the new charting approach.

Dependency Updates and Additions:

  • Added recharts and @radix-ui/react-scroll-area as new dependencies to support the new chart and scroll area components, and updated lucide-react to the latest version for icon consistency. [1] [2] [3]

UI Component Enhancements:

  • Introduced a new ScrollArea component in ui/scroll-area.tsx, wrapping Radix UI's scroll area primitive for consistent, customizable scrollable containers in the frontend.
image image

Link: #

Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/community-scripts/ProxmoxVE/pull/9343 **Author:** [@BramSuurdje](https://github.com/BramSuurdje) **Created:** 11/21/2025 **Status:** ✅ Merged **Merged:** 11/22/2025 **Merged by:** [@tremor021](https://github.com/tremor021) **Base:** `main` ← **Head:** `refactor-data-page` --- ### 📝 Commits (5) - [`d9890ff`](https://github.com/community-scripts/ProxmoxVE/commit/d9890ff1ecb0b97b09ceafaa7b1eb5efe3d6d603) feat: add ChartContainer and related components for data visualization - [`9d7dcd0`](https://github.com/community-scripts/ProxmoxVE/commit/9d7dcd0710e74e13228ad7ca02f101aec582c02e) feat: enhance DataPage with improved data fetching, visualization, and UI components - [`7e10266`](https://github.com/community-scripts/ProxmoxVE/commit/7e10266527e81ef9f1d24b63f2d331545f97ba2c) feat: update dependencies in package.json and bun.lock for improved functionality - [`0eb3c9d`](https://github.com/community-scripts/ProxmoxVE/commit/0eb3c9d9f120b925e99e03e0b3bc2006d2c65920) feat: add ScrollArea and ScrollBar components for enhanced UI scrolling functionality - [`be15b2b`](https://github.com/community-scripts/ProxmoxVE/commit/be15b2b4882b4ff36b00fd0b64487fe03b749dd5) refactor: remove ApplicationChart component to streamline codebase and improve maintainability ### 📊 Changes **6 files changed** (+1052 additions, -386 deletions) <details> <summary>View changed files</summary> 📝 `frontend/bun.lock` (+75 -25) 📝 `frontend/package.json` (+3 -1) 📝 `frontend/src/app/data/page.tsx` (+557 -161) ➖ `frontend/src/components/application-chart.tsx` (+0 -199) ➕ `frontend/src/components/ui/chart.tsx` (+369 -0) ➕ `frontend/src/components/ui/scroll-area.tsx` (+48 -0) </details> ### 📄 Description <!--🛑 New scripts must be submitted to [ProxmoxVED](https://github.com/community-scripts/ProxmoxVED) for testing. PRs without prior testing will be closed. --> ## ✍️ Description This pull request introduces a new, reusable chart component system based on Recharts, updates several frontend dependencies, and removes the previous Chart.js-based implementation for displaying application data. The changes focus on modernizing chart rendering, improving maintainability, and enhancing UI consistency by leveraging Radix UI primitives. **Charting System Refactor:** * Added a new `ChartContainer` and related chart UI components in `ui/chart.tsx`, providing a reusable, theme-aware charting system built on Recharts. This includes context-based configuration, custom tooltips, legends, and style injection for consistent theming. * Removed the old Chart.js-based `ApplicationChart` component, which included custom pagination, dialogs, and table views, to make way for the new charting approach. **Dependency Updates and Additions:** * Added `recharts` and `@radix-ui/react-scroll-area` as new dependencies to support the new chart and scroll area components, and updated `lucide-react` to the latest version for icon consistency. [[1]](diffhunk://#diff-da6498268e99511d9ba0df3c13e439d10556a812881c9d03955b2ef7c6c1c655R26) [[2]](diffhunk://#diff-da6498268e99511d9ba0df3c13e439d10556a812881c9d03955b2ef7c6c1c655L41-R42) [[3]](diffhunk://#diff-da6498268e99511d9ba0df3c13e439d10556a812881c9d03955b2ef7c6c1c655R59) **UI Component Enhancements:** * Introduced a new `ScrollArea` component in `ui/scroll-area.tsx`, wrapping Radix UI's scroll area primitive for consistent, customizable scrollable containers in the frontend. <img width="3784" height="4080" alt="image" src="https://github.com/user-attachments/assets/5ae55404-179e-40b3-880f-22f7e9ed1476" /> <img width="896" height="1646" alt="image" src="https://github.com/user-attachments/assets/a2d14b13-420d-47c5-8645-19c654527678" /> ## 🔗 Related PR / Issue Link: # ## ✅ Prerequisites (**X** in brackets) - [x] **Self-review completed** – Code follows project standards. - [x] **Tested thoroughly** – Changes work as expected. - [x] **No security risks** – No hardcoded secrets, unnecessary privilege escalations, or permission issues. --- ## 🛠️ Type of Change (**X** in brackets) - [ ] 🐞 **Bug fix** – Resolves an issue without breaking functionality. - [x] ✨ **New feature** – Adds new, non-breaking functionality. - [ ] 💥 **Breaking change** – Alters existing functionality in a way that may require updates. - [ ] 🆕 **New script** – A fully functional and tested script or script set. - [ ] 🌍 **Website update** – Changes to website-related JSON files or metadata. - [ ] 🔧 **Refactoring / Code Cleanup** – Improves readability or maintainability without changing functionality. - [ ] 📝 **Documentation update** – Changes to `README`, `AppName.md`, `CONTRIBUTING.md`, or other docs. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 16:31:21 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ProxmoxVE#7972
No description provided.