Skip to content

Add components section#2025

Merged
Mbeaulne merged 1 commit intomasterfrom
03-27-add_components_section
Apr 10, 2026
Merged

Add components section#2025
Mbeaulne merged 1 commit intomasterfrom
03-27-add_components_section

Conversation

@Mbeaulne
Copy link
Copy Markdown
Collaborator

@Mbeaulne Mbeaulne commented Mar 27, 2026

Description

This PR implements a comprehensive components dashboard that allows users to browse, search, and view details for components from multiple sources. The dashboard includes a searchable component list with collapsible sections for user components, library components, and published components. When a component is selected, detailed information is displayed including metadata, inputs/outputs, and source code. Additionally, recently used components are now tracked and displayed on the dashboard home page.

Note: This is a foundational PR to build the component dashboard upon. Its not the final state, but its a shippable state.

Type of Change

  • New feature

Key Features

  • Component Browser: Three-panel layout with search functionality and hierarchical component organization
  • Component Details: Side-by-side view showing metadata, I/O specifications, and syntax-highlighted source code
  • Recently Used Tracking: Components are automatically added to recently viewed when dropped onto the canvas
  • Multi-source Support: Displays components from user library, static component library, and published components from the backend
  • Responsive Design: Sticky positioning for source code panel and proper overflow handling

Checklist

  • I have tested this does not break current pipelines / runs functionality
  • I have tested the changes on staging

Test Instructions

  1. Navigate to the dashboard and verify the new "Recently Used Components" section appears
  2. Go to the Components tab in the dashboard
  3. Test searching for components across different sources
  4. Select a component and verify the detail panel shows metadata, I/O specs, and source code
  5. In the flow editor, drag and drop a component onto the canvas
  6. Return to the dashboard and verify the component appears in the recently used section
  7. Test the collapsible sections and folder navigation in the component list

Additional Comments

The component tracking functionality integrates with the existing useRecentlyViewed hook and filters component entries separately from other dashboard items to maintain clean separation between different content types.

image.pngimage.pngimage.pngimage.pngimage.png

image.png

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 27, 2026

🎩 To tophat this PR:

You can add the following URL parameter to your browser to tophat this PR:

`?tophat_location=03-27-add_components_section/84b41ed`

@Mbeaulne
Copy link
Copy Markdown
Collaborator Author

Reviewer note: This is the top of the stack and the largest PR — it completes the components sub-route and fills in the last slot on the dashboard home.

Key things to review:

  • DashboardComponentsView.tsx — new file, the full component browser (searchable list with folder tree + detail panel with source YAML viewer)
  • FlowCanvas.tsxaddRecentlyViewed hooked into the component drop/import actions to track "recently used components"
  • DashboardHomeView.tsx — third grid column now shows "Recently Used Components"; RecentlyViewedPreview filters out component-type items (components have their own dedicated section)
  • DashboardRecentlyViewedView.tsx — same component filter applied to the full recently viewed page

No churn after this PR — this is the final state of the stack.

@Mbeaulne Mbeaulne force-pushed the 03-25-adds_new_dashboard_view branch from adc0997 to 3ee93b8 Compare April 1, 2026 17:49
@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch from 5a680f4 to 0458dc0 Compare April 1, 2026 17:49
@Mbeaulne Mbeaulne force-pushed the 03-25-adds_new_dashboard_view branch from 3ee93b8 to b025222 Compare April 1, 2026 18:34
@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch from 0458dc0 to e113278 Compare April 1, 2026 18:34
@Mbeaulne Mbeaulne force-pushed the 03-25-adds_new_dashboard_view branch from b025222 to bc9f3f5 Compare April 1, 2026 18:37
@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch 2 times, most recently from 0843834 to 793bdee Compare April 1, 2026 18:42
@Mbeaulne Mbeaulne force-pushed the 03-25-adds_new_dashboard_view branch from 428a7a7 to 676a8d1 Compare April 2, 2026 16:35
@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch from 793bdee to 09fc761 Compare April 2, 2026 16:35
@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch from 30fdeac to e2bc869 Compare April 9, 2026 19:53
@Mbeaulne Mbeaulne force-pushed the 03-25-adds_new_dashboard_view branch 2 times, most recently from 6cd9c4f to 679b853 Compare April 9, 2026 20:04
@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch 2 times, most recently from 3129d15 to 8355b71 Compare April 9, 2026 20:12
@Mbeaulne Mbeaulne force-pushed the 03-25-adds_new_dashboard_view branch from 679b853 to c46ecec Compare April 9, 2026 20:13
@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch 3 times, most recently from c2ca00f to 38b45f5 Compare April 10, 2026 18:33
@Mbeaulne Mbeaulne force-pushed the 03-25-adds_new_dashboard_view branch from a96e466 to ce9f9ee Compare April 10, 2026 19:09
@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch 2 times, most recently from 2753771 to e8fe5c7 Compare April 10, 2026 19:24
@Mbeaulne Mbeaulne force-pushed the 03-25-adds_new_dashboard_view branch from ce9f9ee to 83b73f8 Compare April 10, 2026 19:24
@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch from e8fe5c7 to 4134ea7 Compare April 10, 2026 19:31
@Mbeaulne Mbeaulne force-pushed the 03-25-adds_new_dashboard_view branch 2 times, most recently from 448253d to e8ff7c7 Compare April 10, 2026 19:59
@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch from 4134ea7 to 7c60f5f Compare April 10, 2026 19:59
size="icon"
>
<Star className="h-4 w-4" fill={active ? "currentColor" : "none"} />
<Star className={cn("h-4 w-4", active ? "fill-warning" : "fill-none")} />
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIT: Use ui primitive Icon

@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch from 7c60f5f to a81f654 Compare April 10, 2026 20:16
Copy link
Copy Markdown

More of a backend concern:

I notice we load 200+ published components from a single API call. This is not going to scale well and we'll need to introduce pagination, search, and filtering most likely.

This will be its own epic.

@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch from a81f654 to c1b63c6 Compare April 10, 2026 20:21
Copy link
Copy Markdown
Collaborator

^ yes, we will need to find a way to manage the components list but I think this can fall under the upcoming Component Browser work

@Mbeaulne Mbeaulne force-pushed the 03-27-add_components_section branch from c1b63c6 to 2892744 Compare April 10, 2026 20:35
Copy link
Copy Markdown
Collaborator Author

Mbeaulne commented Apr 10, 2026

Merge activity

  • Apr 10, 8:38 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Apr 10, 9:42 PM UTC: Graphite couldn't merge this PR because it had merge conflicts.
  • Apr 10, 10:50 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Apr 10, 10:50 PM UTC: @Mbeaulne merged this pull request with Graphite.

@Mbeaulne Mbeaulne changed the base branch from 03-25-adds_new_dashboard_view to graphite-base/2025 April 10, 2026 21:37
@Mbeaulne Mbeaulne changed the base branch from graphite-base/2025 to master April 10, 2026 21:40
@camielvs camielvs force-pushed the 03-27-add_components_section branch from 2892744 to 84b41ed Compare April 10, 2026 22:47
@Mbeaulne Mbeaulne merged commit 5de008b into master Apr 10, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants