1
- import React from 'react' ;
1
+ import React , { useEffect , useState } from 'react' ;
2
2
import { Helmet } from 'react-helmet' ;
3
+ import axios from 'axios' ;
3
4
import { useTranslation } from 'react-i18next' ;
4
5
import { Link } from 'react-router' ;
5
6
import SquareLogoIcon from '../../../images/p5js-square-logo.svg' ;
6
7
// import PlayIcon from '../../../images/play.svg';
7
8
import AsteriskIcon from '../../../images/p5-asterisk.svg' ;
9
+ import packageData from '../../../../package.json' ;
8
10
9
11
function About ( props ) {
10
12
const { t } = useTranslation ( ) ;
13
+ const [ p5version , setP5version ] = useState ( 0 ) ;
14
+ useEffect ( ( ) => {
15
+ axios
16
+ . get ( 'https://cdn.jsdelivr.net/npm/p5/package.json' )
17
+ . then ( ( data ) => setP5version ( data ?. data ?. version ) ) ;
18
+ } , [ ] ) ;
11
19
return (
12
20
< div className = "about__content" >
13
21
< Helmet >
@@ -20,6 +28,14 @@ function About(props) {
20
28
aria-label = { t ( 'Common.p5logoARIA' ) }
21
29
focusable = "false"
22
30
/>
31
+ < div className = "about__content-column" >
32
+ < p className = "about__version-info" >
33
+ Editor version: < span > v{ packageData ?. version } </ span >
34
+ </ p >
35
+ < p className = "about__version-info" >
36
+ p5.js version: < span > v{ p5version } </ span >
37
+ </ p >
38
+ </ div >
23
39
</ div >
24
40
< div className = "about__content-column" >
25
41
< h3 className = "about__content-column-title" > { t ( 'About.NewP5' ) } </ h3 >
0 commit comments