QuantEcon / QuantEcon/quantecon-theme.mystmd
SiteFooter accepts a className prop but never applies it
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 1
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 56
Description
SiteFooter declares className?: string in its props but never uses it — the outer element composes only its own classes plus the grid, so anything a caller passes is silently dropped.
This is cosmetic today rather than a bug: the sole caller (app/components/PageContent.tsx) does not pass className, so nothing currently misbehaves. It is worth fixing because the prop is a silent no-op waiting for someone to trust it, and because SiteFooter is the only component in the codebase that does this — ProjectFrontmatter, ThemeButton and Search all fold their className into a classNames(...) call as expected.
Noted by Copilot on #221 as a suppressed comment; left out of that PR to avoid an unrelated change on a green branch.
Fix
Either apply the prop:
className={classNames(
'qe-site-footer col-screen text-qetext-light text-opacity-80 dark:text-qetext-dark-muted subgrid-gap',
grid,
className
)}
…or drop className from the signature entirely. SiteFooter is repo-local (added 2025-02-14, and no such component exists in @myst-theme), so there is no upstream shape to stay compatible with and either direction is safe. Applying it is the smaller change and matches the rest of the codebase.
🤖 Generated with Claude Code
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Find the SiteFooter component and inspect its props and outer element, then compare its className handling with ProjectFrontmatter, ThemeButton, and Search. Apply the passed className consistently with the existing classes, and verify that the sole caller in app/components/PageContent.tsx remains unaffected and the prop is no longer silently ignored.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 84/100