Skip to content

Conversation

@Abhishek-Punhani
Copy link

@Abhishek-Punhani Abhishek-Punhani commented Feb 9, 2026

What does this PR change?

  • Pulls in a full Assets UI experience that matches the new Assets API, including summary tiles, detailed metrics, trend visualisations, and responsive layouts.
  • Adds mock-data fallbacks and enhanced theme handling so the new screens stay polished in both light and dark modes.
  • Improves navigation (responsive sidebar, Carbon Design System integration, and loading skeletons) alongside currency/CSV tooling for assets.

Does this PR relate to any other PRs?

None noted.

How will this PR impact users?

  • Gives users a usable visualisation layer for the Assets API (and lays groundwork for /assets/carbon), making those backend data points actionable within OpenCost.
  • Add graphs for better utilisation of information.

Does this PR address any GitHub or Zendesk issues?

LFX Task Issue #28 #155

How was this PR tested?

  • Manual Testing, Build Checks Passing

Does this PR require changes to documentation?

No doc changes noted.

Have you labeled this PR and its corresponding Issue as "next release" if it should be part of the next OpenCost release? If not, why not?

Yes, this addresses issue #28, which is part of the LFX mentorship coding challenge, and, if the proposal is accepted, should be included in the next release.

2026-02-10.02-56-36.mp4

- Implemented the Assets page to display asset data.
- Created a new service for fetching assets from the OpenCost API with mock data fallback.
- Added constants and configuration for asset types and window options.
- Developed CSS styles for the Assets page, including layout, notifications, and table design.
- Integrated summary tiles and filter functionality for asset types.

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
… and styling

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
- Updated assets.css for a cleaner billing-dashboard design, including new header controls and cost tiles.
- Implemented auto-refresh functionality in Assets.js, allowing assets to refresh every 60 seconds.
- Added AssetCostChart component to visualize costs over time.
- Improved UI elements such as dropdowns and buttons for better user experience.
- Introduced last updated timestamp with auto-refresh indication.
- Updated routing to include asset detail view.

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
…ement

- Implemented a view toggle for switching between table and dashboard visualizations in the Assets page.
- Created a new AssetsDashboard component to display asset data in a dashboard format.
- Enhanced CSS styles for the dashboard and view toggle buttons for improved UI/UX.
- Updated mock asset data generation to include daily cost snapshots for better visualization in the dashboard.

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
…real data fallback

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
…sistency

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
- Enhanced SidebarNav component to support mobile view with a toggle button.
- Added ThemeToggle component for switching between light and dark themes.
- Updated AssetCostChart to reflect theme changes dynamically.
- Modified AssetsSummaryTiles to improve color consistency.
- Refactored CSS styles to utilize CSS variables for theming.
- Introduced theme-variables.css for centralized theme management.
- Improved chart theming with getChartTheme utility.
- Adjusted assets.css for better responsiveness and dark mode support.

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
…dling

feat: add loading skeleton component for assets page
feat: implement currency exchange rate service with live and fallback rates
feat: integrate currency selector and CSV export functionality in assets page
style: update assets CSS for improved styling and responsiveness

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
…data handling

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
- Added `sass` dependency for styling.
- Updated `SidebarNav` to use Carbon's `SideNav` and `SideNavLink` components, replacing Material-UI components.
- Refactored `Page` and `Assets` components to utilize Carbon's `Loading` and `Dropdown` components.
- Replaced Material-UI's `Modal` and `CircularProgress` with Carbon's equivalents in `CloudCostDetails` and `ExternalCostDetails`.
- Enhanced `externalCostsControls` and `cloudCostEditControls` to use Carbon's `Dropdown` for selection inputs.
- Introduced new window option for "Entire window" in various components.
- Updated CSS to override Carbon Design System styles for better integration.
- Adjusted routing to include Carbon's `Theme` for consistent theming across the application.

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
…de experience

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
- Implemented AllocationService to wrap the /allocation/compute API.
- Added window to date helpers for date range calculations.
- Created realistic mock data for Kubernetes allocation metrics.
- Included methods for generating daily allocation data and handling various aggregation types.
- Enhanced error handling to fallback to mock data when the API is unavailable.

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
@netlify
Copy link

netlify bot commented Feb 9, 2026

Deploy Preview for opencost-ui ready!

Name Link
🔨 Latest commit 3362397
🔍 Latest deploy log https://app.netlify.com/projects/opencost-ui/deploys/698a6a3390faa70008d315b6
😎 Deploy Preview https://deploy-preview-211--opencost-ui.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

…Assets and Allocations pages

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
…on components; integrate them into Assets page

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
@Abhishek-Punhani Abhishek-Punhani force-pushed the main branch 3 times, most recently from 327282a to c36290d Compare February 9, 2026 23:08
…in Assets and Allocations pages

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
…il components for improved robustness

Signed-off-by: Abhishek-Punhani <punhani.manavabhi@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant