File tree Expand file tree Collapse file tree 2 files changed +17
-6
lines changed
src/app/[...parts]/_page/DiffIntro Expand file tree Collapse file tree 2 files changed +17
-6
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -25,20 +25,28 @@ export default function VersionSelector({
2525 const router = useRouter ( ) ;
2626 const [ versions , setVersions ] = useState < Version [ ] > ( [ ] ) ;
2727 const [ isLoading , setIsLoading ] = useState ( true ) ;
28+ const [ hasError , setHasError ] = useState ( false ) ;
2829
2930 useEffect ( ( ) => {
3031 const fetchVersions = async ( ) => {
3132 try {
3233 setIsLoading ( true ) ;
34+ setHasError ( false ) ;
3335 const response = await fetch (
3436 `/api/-/versions?package=${ encodeURIComponent ( currentSpec . name ) } ` ,
3537 ) ;
3638 if ( response . ok ) {
3739 const data : Version [ ] = await response . json ( ) ;
3840 setVersions ( data ) ;
41+ } else {
42+ console . error (
43+ `Failed to fetch versions: ${ response . status } ${ response . statusText } ` ,
44+ ) ;
45+ setHasError ( true ) ;
3946 }
4047 } catch ( error ) {
4148 console . error ( "Failed to fetch versions:" , error ) ;
49+ setHasError ( true ) ;
4250 } finally {
4351 setIsLoading ( false ) ;
4452 }
@@ -67,6 +75,15 @@ export default function VersionSelector({
6775 } ;
6876
6977 if ( isLoading ) {
78+ return (
79+ < span className = { className } aria-busy = "true" aria-live = "polite" >
80+ { currentSpec . version }
81+ </ span >
82+ ) ;
83+ }
84+
85+ if ( hasError || versions . length === 0 ) {
86+ // Fallback to plain text if we can't fetch versions
7087 return < span className = { className } > { currentSpec . version } </ span > ;
7188 }
7289
You can’t perform that action at this time.
0 commit comments