github.com/grafviktor/keep-my-secret@v0.9.10-0.20230908165355-19f35cce90e5/website/src/components/Version/index.jsx (about) 1 import get from 'lodash/get' 2 import map from 'lodash/map' 3 import startCase from 'lodash/startCase' 4 import React, {useEffect, useState, useContext} from 'react' 5 import applicationContext from '../../context' 6 7 import './style.css' 8 9 export default () => { 10 const [version, setVersion] = useState({}) 11 const {getVersion, setAlertMessage} = useContext(applicationContext) 12 13 useEffect(() => { 14 (async () => { 15 try { 16 const {data : response} = await getVersion() 17 setVersion(get(response, 'data', {})) 18 } catch (error) { 19 console.warn(error.message) 20 setAlertMessage(`Error: ${error.message}`) 21 } 22 })() 23 }, []) 24 25 return ( 26 <div className="kms-version"> 27 <dl> 28 {map(version, (value, name) => ( 29 <React.Fragment key={name}> 30 <dt>{startCase(name)}</dt> 31 <dd>{value}</dd> 32 </React.Fragment> 33 ))} 34 </dl> 35 </div> 36 ) 37 }