11import type { Metadata } from "next" ;
2+ import AnimatedScore from "./animated-score" ;
23
34const PERFECT_SCORE = 100 ;
45const SCORE_GOOD_THRESHOLD = 75 ;
56const SCORE_OK_THRESHOLD = 50 ;
6- const SCORE_BAR_WIDTH = 30 ;
77const COMMAND = "npx -y react-doctor@latest ." ;
88const SHARE_BASE_URL = "https://www.react.doctor/share" ;
99const X_ICON_PATH =
@@ -49,19 +49,6 @@ const DoctorFace = ({ score }: { score: number }) => {
4949 ) ;
5050} ;
5151
52- const ScoreBar = ( { score } : { score : number } ) => {
53- const filledCount = Math . round ( ( score / PERFECT_SCORE ) * SCORE_BAR_WIDTH ) ;
54- const emptyCount = SCORE_BAR_WIDTH - filledCount ;
55- const colorClass = getScoreColorClass ( score ) ;
56-
57- return (
58- < span >
59- < span className = { colorClass } > { "\u2588" . repeat ( filledCount ) } </ span >
60- < span className = "text-neutral-600" > { "\u2591" . repeat ( emptyCount ) } </ span >
61- </ span >
62- ) ;
63- } ;
64-
6552export const generateMetadata = async ( {
6653 searchParams,
6754} : {
@@ -104,7 +91,6 @@ const SharePage = async ({ searchParams }: { searchParams: Promise<ShareSearchPa
10491 const errorCount = Math . max ( 0 , Number ( resolvedParams . e ) || 0 ) ;
10592 const warningCount = Math . max ( 0 , Number ( resolvedParams . w ) || 0 ) ;
10693 const fileCount = Math . max ( 0 , Number ( resolvedParams . f ) || 0 ) ;
107- const colorClass = getScoreColorClass ( score ) ;
10894 const label = getScoreLabel ( score ) ;
10995
11096 const shareSearchParams = new URLSearchParams ( ) ;
@@ -127,14 +113,7 @@ const SharePage = async ({ searchParams }: { searchParams: Promise<ShareSearchPa
127113 </ div >
128114 </ div >
129115
130- < div className = "mb-2 pl-2" >
131- < span className = { colorClass } > { score } </ span >
132- { ` / ${ PERFECT_SCORE } ` }
133- < span className = { colorClass } > { getScoreLabel ( score ) } </ span >
134- </ div >
135- < div className = "mb-6 pl-2" >
136- < ScoreBar score = { score } />
137- </ div >
116+ < AnimatedScore targetScore = { score } />
138117
139118 { ( errorCount > 0 || warningCount > 0 || fileCount > 0 ) && (
140119 < div className = "mb-8 pl-2" >
0 commit comments