Skip to content

Add hero card polymiddleware infrastructure#10

Draft
Claude wants to merge 1 commit intomainfrom
claude/add-hero-card-polymiddleware
Draft

Add hero card polymiddleware infrastructure#10
Claude wants to merge 1 commit intomainfrom
claude/add-hero-card-polymiddleware

Conversation

@Claude
Copy link
Copy Markdown

@Claude Claude AI commented Mar 31, 2026

Implements hero card polymiddleware to enable customization of hero card rendering, following the existing activity and error box polymiddleware patterns.

Changes

  • Created heroCardPolymiddleware.tsx in api-middleware package

    • Request type: { readonly heroCard: unknown } with no props
    • Exports createHeroCardPolymiddleware, HeroCardPolymiddlewareProxy, heroCardComponent, and related types
  • Integrated into PolymiddlewareComposer

    • Added HeroCardPolymiddlewareProvider to provider chain
    • Extracts and applies hero card enhancers alongside activity and error box polymiddleware
  • Refactored HeroCardAttachment

    • Converted from .js to .tsx with TypeScript types and valibot validation
    • Replaced direct rendering with HeroCardPolymiddlewareProxy
  • Added default implementation

    • Created createDefaultHeroCardPolymiddleware() that renders existing HeroCardContent component
    • Wired into bundle via useComposerProps polymiddleware array
  • Exported from all middleware entry points

    • packages/api-middleware/src/index.ts
    • packages/api/src/boot/middleware.ts
    • packages/bundle/src/boot/actual/middleware.ts

Usage

// Custom hero card rendering
const customHeroCardMiddleware = createHeroCardPolymiddleware(
  () => ({ heroCard }) => heroCardComponent(MyCustomHeroCard, { content: heroCard })
);

<Composer polymiddleware={[customHeroCardMiddleware]}>
  {/* Hero cards will now use custom renderer */}
</Composer>

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.

2 participants