Repository navigation
feat(web): render every chart from API data and refresh the dashboard UI - #490
Merged
Merged
Conversation
feat: implement ToggleGroup and ToggleGroupItem components for grouped toggle functionality feat: create Toggle component with variant and size support feat: add useIsMobile hook for mobile detection refactor: export cn utility from utils feat: implement navigation model for dashboard navigation test: add shell component tests for theme menu and sidebar tabs test: add theme tests for theme storage and application logic feat: implement theme management with localStorage support feat: create table of contents functionality for section navigation feat: add useActiveSection hook for scroll-spy functionality Signed-off-by: Ntege Daniel <danientege785@gmail.com>
feat: implement ToggleGroup and ToggleGroupItem components for grouped toggle functionality feat: create Toggle component with variant and size support feat: add useIsMobile hook for mobile detection refactor: export cn utility from utils feat: implement navigation model for dashboard navigation test: add shell component tests for theme menu and sidebar tabs test: add theme tests for theme storage and application logic feat: implement theme management with localStorage support feat: create table of contents functionality for section navigation feat: add useActiveSection hook for scroll-spy functionality Signed-off-by: Ntege Daniel <danientege785@gmail.com>
Signed-off-by: Ntege Daniel <danientege785@gmail.com>
…L state management - Created to test various functionalities of the InteractiveChart component, including data handling, user interactions, and error states. - Created to test specialized chart types such as heatmaps, networks, and release timelines, ensuring correct rendering and data manipulation. - Introduced to manage URL parameters for the application, allowing for state persistence across navigation and user interactions. - Implemented functions to read and write URL parameters, supporting various data types including strings, lists, integers, and booleans. Signed-off-by: Ntege Daniel <danientege785@gmail.com>
- Changed favicon to new Hiero brand mark. - Updated App component to include sidebar width and TOC based on navigation state. - Enhanced app styles with new brand colors and improved layout for header and sidebar. - Refactored AppHeader to include new HieroBrand component and improved organization switcher. - Updated AppSidebar to include Hiero branding and improved footer with GitHub contribution link. - Added NavigationSearch component for improved navigation experience with keyboard shortcuts. - Implemented tests for navigation search functionality. - Added new Hiero brand assets including logos and marks. Signed-off-by: Ntege Daniel <danientege785@gmail.com>
- Changed favicon to new Hiero brand mark. - Updated App component to include sidebar width and TOC based on navigation state. - Enhanced app styles with new brand colors and improved layout for header and sidebar. - Refactored AppHeader to include new HieroBrand component and improved organization switcher. - Updated AppSidebar to include Hiero branding and improved footer with GitHub contribution link. - Added NavigationSearch component for improved navigation experience with keyboard shortcuts. - Implemented tests for navigation search functionality. - Added new Hiero brand assets including logos and marks. Signed-off-by: Ntege Daniel <danientege785@gmail.com>
…r readability Signed-off-by: Ntege Daniel <danientege785@gmail.com>
…d layout Signed-off-by: Ntege Daniel <danientege785@gmail.com>
…parate line options Signed-off-by: Ntege Daniel <danientege785@gmail.com>
- Updated PeriodTabs to improve styling and interaction. - Enhanced SectionCard to include header actions and improved date display. - Refactored SectionTable to integrate header actions and controls. - Improved VariantTabs with segmented appearance and icon support. - Modified ChartShell to support toolbar integration for better layout. - Updated EventsView and MatrixView for improved controls and styling. - Enhanced NetworkView with segmented variant tabs and improved search functionality. - Refactored SeriesView to streamline toolbar and controls for better user experience. - Added RepoCell and RoleCell components for better representation of repository and governance roles. - Introduced ChartLeading and OrgContext for better context management in charts. - Updated tests to reflect changes in UI and functionality. Signed-off-by: Ntege Daniel <danientege785@gmail.com>
Signed-off-by: Ntege Daniel <danientege785@gmail.com>
Contributor
📊 Dashboard previewThe dashboard was built for this PR. ➡️ Download
|
Signed-off-by: Ntege Daniel <danientege785@gmail.com>
- Added and components to catch rendering errors in specific sections without affecting the entire application. - Integrated for global error handling, allowing users to reload the application when an error occurs. - Updated to utilize new utility functions for calculating visible totals, shares, and cumulative values, improving chart data processing. - Introduced for managing URL parameters with a delay, preventing excessive state updates during user interactions. - Enhanced tests for error boundaries, series rows calculations, and URL state management to ensure robustness and reliability. Signed-off-by: Ntege Daniel <danientege785@gmail.com>
Brings in the printable dashboard tabs (#473) and the ClusterFuzzLite base image bump (#486). #473 was written against the PNG-gallery dashboard this branch replaces, so its print feature is carried onto the shadcn/ui and interactive-chart components rather than merged line by line: - Print readiness waits on data-print-pending / data-print-error markers on loading and failed charts instead of decoding chart images. - Radix collapsibles (section groups, cards, the tab explainer) are forced open while printing and restore the reader's state afterwards. - Toggle-group selections print as text; controls stay mounted but hidden. - print.css targets data attributes and shadcn data-slots; buttons that carry data (chart legends, row names) are kept with data-print-keep. - Dialogs ignore Escape and outside clicks while printing and restore their scroll; an expanded chart prints in place. - Dark mode (the Tailwind dark variant) is scoped to screen. The component and Playwright suites are ported to the new DOM, with real chart datasets in the e2e fixtures and GitHub avatar requests answered locally. docs/printing.md records the port. Signed-off-by: Ntege Daniel <danientege785@gmail.com>
danielmarv
force-pushed
the
feat/web-shadcn-ui
branch
from
September 27, 2026 17:00
0703852 to
04f4e40
Compare
danielmarv
force-pushed
the
feat/web-shadcn-ui
branch
from
September 27, 2026 23:34
421ae12 to
c284118
Compare
4 tasks
danielmarv
added a commit
to 5affron/analytics
that referenced
this pull request
Sep 30, 2026
The dashboard rework (hiero-hackers#490) replaced the chart images, lightbox and TabBar this branch changed; conflicts resolve to main's versions. Signed-off-by: Ntege Daniel <danientege785@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description:
Replace every chart PNG on the dashboard with an interactive chart drawn from typed JSON in the data API, and refresh the dashboard shell (header, sidebar, stat tiles, tables) on shadcn/ui.
The data flow is: pipeline CSV → validated chart document (
export/chart_data.py) → React view. Drawing options are declared per chart indashboard_spec/, not coded per chart, so adding a chart means writing a spec entry, not a component. The exporter never aggregates, so the charts show the analysis's own numbers.interactivereference todata/api/v1/<org>/charts/<chart>.json. The document kinds aretimeseries,categories,matrix,networkandevents.percentcolumn format (PythonCOLUMN_FORMATSandFormattedCell).Related issue(s):
Refs #333. That issue migrates the first chart (the contributor heatmap). This PR migrates all of them, following the per-kind design discussed there.
Overlaps with open PRs, so we should agree a merge order with their authors:
ChartSectionCard.tsxandTabBar.tsx. This PR removes the images andTabBar.tsx. Its tab-state goal is covered here: variant tabs are radio groups that report the checked tab, and sidebar tabs setaria-current="page".Notes for reviewer:
https://github.comimages, needed for org avatars.web/src/components/charts/andsrc/hiero_analytics/export/chart_data.py.uv run pytest(858 passed) anduv run ruff check src tests.web/:npm test(127 passed),npm run lint,npm run build.