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  }