Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | import React, { useContext, useEffect, useState, FC } from 'react' import { AdminContext } from 'components/Admin/AdminPage' interface Info { crowiVersion: string | null searchInfo: { host?: string indexName?: string esVersion?: string } } function useInfo(crowi) { const [info, setInfo] = useState<Info>({ crowiVersion: null, searchInfo: {} }) const fetchInfo = async () => { const { crowiVersion, searchInfo } = await crowi.apiGet('/admin/top') setInfo({ crowiVersion, searchInfo }) } return [info, fetchInfo] as const } const TopPage: FC<{}> = () => { const { crowi, searchConfigured } = useContext(AdminContext) const [{ crowiVersion, searchInfo }, fetchInfo] = useInfo(crowi) const { host, indexName, esVersion } = searchInfo useEffect(() => { fetchInfo() }, []) return ( <> <p> この画面はWiki管理者のみがアクセスできる画面です。 <br /> 「ユーザー管理」から「管理者にする」ボタンを使ってユーザーをWiki管理者に任命することができます。 </p> <h2>Information</h2> <dl className="row"> <dt className="col-3">Crowi Version</dt> <dd className="col-9">{crowiVersion}</dd> <dt className="col-3">Search</dt> <dd className="col-9"> {/* TODO: multiple nodes */} {searchConfigured ? ( <> Configured: {host} {indexName}, <strong>{esVersion}</strong> </> ) : ( 'Not available.' )} </dd> </dl> </> ) } export default TopPage |