import React, { useEffect, useCallback } from 'react'; import PropTypes from 'prop-types'; import { useTranslation } from 'react-i18next'; import { CopyToClipboard } from 'react-copy-to-clipboard'; import { Tooltip } from 'reactstrap'; import loggerFactory from '~/utils/logger'; import { toastError } from '~/client/util/apiNotification'; import { withUnstatedContainers } from '../../UnstatedUtils'; import AppContainer from '~/client/services/AppContainer'; import AdminHomeContainer from '~/client/services/AdminHomeContainer'; import { useSWRxV5MigrationStatus } from '~/stores/page-listing'; import SystemInfomationTable from './SystemInfomationTable'; import InstalledPluginTable from './InstalledPluginTable'; import EnvVarsTable from './EnvVarsTable'; const logger = loggerFactory('growi:admin'); const AdminHome = (props) => { const { adminHomeContainer } = props; const { t } = useTranslation(); const { data: migrationStatus } = useSWRxV5MigrationStatus(); const fetchAdminHomeData = useCallback(async() => { try { await adminHomeContainer.retrieveAdminHomeData(); } catch (err) { toastError(err); logger.error(err); } }, [adminHomeContainer]); useEffect(() => { fetchAdminHomeData(); }, [fetchAdminHomeData]); return (
{t('admin:admin_top.wiki_administrator')}
{t('admin:admin_top.assign_administrator')}
{t('admin:admin_top.env_var_priority')}
{/* eslint-disable-next-line react/no-danger */} {adminHomeContainer.state.envVars &&