Skip to content

feat(apollo-vertex): add page-header component to vertex registry#465

Open
creilly11235 wants to merge 1 commit intomainfrom
creilly11235/vertex-header-registry
Open

feat(apollo-vertex): add page-header component to vertex registry#465
creilly11235 wants to merge 1 commit intomainfrom
creilly11235/vertex-header-registry

Conversation

@creilly11235
Copy link
Copy Markdown
Collaborator

Summary

  • Ports the page-header compound component from vertical-medical-mrs to the apollo-vertex shadcn registry
  • Adds docs page with live demos using a ScaledPreview wrapper to simulate full-width layout in narrow docs containers
  • Adds shell preview pages (InvoiceDashboard header + InvoiceDetail page) using the component
  • Includes improvements over MRS source: two-pass collapsible actions algorithm, named prop types for all sub-components, ref forwarding, lint compliance

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

@creilly11235 creilly11235 requested a review from a team as a code owner April 7, 2026 17:32
@creilly11235 creilly11235 requested review from frankkluijtmans and pieman1313 and removed request for a team April 7, 2026 17:32
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (PT)
apollo-canvas 🟢 Ready Preview, Logs Apr 08, 2026, 05:06:42 PM
apollo-landing 🟢 Ready Preview, Logs Apr 08, 2026, 05:06:35 PM
apollo-ui-react 🟢 Ready Preview, Logs Apr 08, 2026, 05:06:47 PM
apollo-vertex 🟢 Ready Preview, Logs Apr 08, 2026, 05:07:45 PM
apollo-wind 🟢 Ready Preview, Logs Apr 08, 2026, 05:06:42 PM

@KokoMilev KokoMilev enabled auto-merge (rebase) April 7, 2026 17:32
@github-actions github-actions bot added the size:XXL 1,000+ changed lines. label Apr 7, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

Dependency License Review

  • 1940 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 3 package(s) excluded (see details below)
License distribution
License Packages
MIT 1700
ISC 89
Apache-2.0 61
BSD-3-Clause 28
BSD-2-Clause 23
BlueOak-1.0.0 8
MPL-2.0 5
MIT OR Apache-2.0 3
MIT-0 3
CC0-1.0 3
LGPL-3.0-or-later 2
(MIT OR Apache-2.0) 2
Unlicense 2
Python-2.0 1
CC-BY-4.0 1
(MPL-2.0 OR Apache-2.0) 1
Unknown 1
Artistic-2.0 1
(WTFPL OR MIT) 1
(BSD-2-Clause OR MIT OR Apache-2.0) 1
CC-BY-3.0 1
0BSD 1
(MIT OR CC0-1.0) 1
MIT AND ISC 1
Excluded packages
Package Version License Reason
@img/sharp-libvips-linux-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
@img/sharp-libvips-linuxmusl-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
khroma 2.1.0 Unknown MIT per GitHub repo, missing license field in package.json

@creilly11235 creilly11235 force-pushed the creilly11235/vertex-header-registry branch from 6df8faa to 0cf415e Compare April 9, 2026 00:02
Port page-header compound component from vertical-medical-mrs to the
apollo-vertex shadcn registry. Includes back navigation, title/description,
metadata fields, collapsible actions with overflow dropdown, and skeleton
loading state. Update shell preview with PageHeader in InvoiceDashboard
and add InvoiceDetail page with back navigation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@creilly11235 creilly11235 force-pushed the creilly11235/vertex-header-registry branch from 0cf415e to 984815b Compare April 9, 2026 00:05
Copy link
Copy Markdown
Contributor

@pieman1313 pieman1313 left a comment

Choose a reason for hiding this comment

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

is this intended behaviour, or am I not using it correctly?
I made the viewport unreasonably small, and the header shrinks to the point its unreadable / unusable

Image

});

interface PageHeaderProps
extends React.ComponentProps<"div">,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

import from react? same for other occurrences

}: PageHeaderCollapsibleActionsProps) {
const containerRef = React.useRef<HTMLDivElement>(null);
const rulerRef = React.useRef<HTMLDivElement>(null);
const [visibleCount, setVisibleCount] = React.useState(-1);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

why -1? wouldn't switching to null make more sense?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

fixed!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't think you pushed the changes yet

"use client";

/* eslint-disable max-lines -- compound component with collapsible actions + skeletons */
import { cva, type VariantProps } from "class-variance-authority";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

doesn't this need to be in the dependencies?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

fixed!

@@ -0,0 +1,540 @@
"use client";

/* eslint-disable max-lines -- compound component with collapsible actions + skeletons */
Copy link
Copy Markdown
Contributor

@pieman1313 pieman1313 Apr 9, 2026

Choose a reason for hiding this comment

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

im a bit offput by the size as well, not sure what others think, but I would prefer each component in each file

@creilly11235
Copy link
Copy Markdown
Collaborator Author

is this intended behaviour, or am I not using it correctly? I made the viewport unreasonably small, and the header shrinks to the point its unreadable / unusable

Image

On this doc page, I ended up using this work around because the preview container is artificially constraining the component and was causing some weird behavior (component was calculating page width not container width) so I had zoom to fit. If you have ideas for a better work around I'd be happy to try it!

@creilly11235 creilly11235 requested a review from pieman1313 April 10, 2026 05:15
Copy link
Copy Markdown
Contributor

@pieman1313 pieman1313 left a comment

Choose a reason for hiding this comment

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

the old changes still show up, did you push the latest ones?

@pieman1313
Copy link
Copy Markdown
Contributor

On this doc page, I ended up using this work around because the preview container is artificially constraining the component and was causing some weird behavior (component was calculating page width not container width) so I had zoom to fit. If you have ideas for a better work around I'd be happy to try it!

shouldn't we then switch to container queries instead of page widths? it would make this more reusable, since this will break as well if used in conjunction with the shell, right?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants