CORE-1206: Port errata-summary page to TypeScript #2772
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR ports all JavaScript modules in the errata-summary page directory to TypeScript, changing file extensions from
.js
to.tsx
and adding comprehensive type definitions.Files Converted
✅ Main Files Ported
src/app/pages/errata-summary/errata-summary.js
→errata-summary.tsx
src/app/pages/errata-summary/hero/hero.js
→hero/hero.tsx
src/app/pages/errata-summary/table/table.js
→table/table.tsx
TypeScript Improvements Added
🔧 Type Safety Enhancements
errata-summary.tsx:
RadioItem
interface for radio button configurationErrataData
interface for data structureErrataSummaryProps
interface for component propshero.tsx:
BookEntry
,HeroData
,HeroProps
,HeroContentProps
PopTipProps
,PopTipState
,PopTipStyleResult
interfacesuseBookInfo
,usePopTipStyle
,usePopTipState
)table.tsx:
ColumnSpec
interface for table column configurationRawErrataItem
andProcessedErrataItem
interfaces for data transformationSortController
interface for sort functionality🚀 Benefits
Technical Details
Testing
The TypeScript compiler will validate all type annotations and catch potential issues. The dynamic import system (
ImportedPage
component) automatically resolves.tsx
extensions.🤖 Generated with Claude Code