Skip to content

TEST: New related links component #2175

@sehyunidaaa

Description

@sehyunidaaa

Read these files first:

  • /isomer/packages/components/src/templates/next/components/complex/Blockquote/Blockquote.tsx
  • /isomer/packages/components/src/templates/next/components/complex/Callout/Callout.tsx
  • /isomer/packages/components/src/interfaces/complex/Blockquote.ts
  • /isomer/packages/components/src/interfaces/complex/Callout.ts

Then generate a new component to the spec below. Follow these rules strictly:

  1. Use tv() only if the component has variants. Otherwise use plain classnames like Callout.
  2. Only use semantic colour and type tokens. Never raw Tailwind colours (e.g. text-gray-500) or arbitrary values (e.g. w-[372px]).
  3. When choosing tokens, match the intent: use base-content-default for body and interactive text, base-content-strong only for emphasis, prose-headline-lg-medium for structural labels, bg-base-canvas-alt for container backgrounds, border-base-divider for borders.
  4. For icons, use react-icons/bi. Prefer BiChevronRight for directional/navigation cues.
  5. Props interface goes in ~/interfaces/complex/[ComponentName].ts
  6. File structure:
    • /complex/RelatedLinks/index.ts
    • /complex/RelatedLinks/RelatedLinks.tsx
    • /complex/RelatedLinks/RelatedLinks.stories.tsx
  7. index.ts should re-export the component.
  8. Stories file should have a Default story, one edge case, and add the component to the Layout-level story.
  9. No data fetching. All event data is passed in directly as props.

Spec

Name: RelatedLinks
Type: complex
Has homepage variant: no
Purpose: Displays a list of related page links, typically at the bottom of a content page
Required props: links (array of { title: string, url: string })
Optional props: heading (string, defaults to "Related links")
Max items: 7
Visual description: A box with a heading and a vertical list of linked page titles, each with a right-facing chevron icon
Behaviour notes: No data fetching — links are passed in directly as props. Each link opens normally (no new tab). Use LinkComponent instead of native anchor tags.
References: Callout (similar box treatment), Cards (similar link pattern)

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions