import type { FC } from 'react'; import { useRef, useState } from 'react'; import { useTranslation } from 'next-i18next'; import { CopyToClipboard } from 'react-copy-to-clipboard'; import { Tooltip } from 'reactstrap'; import { useSWRxAdminHome } from '~/stores/admin/admin-home'; import { useSWRxV5MigrationStatus } from '~/stores/page-listing'; import { generatePrefilledHostInformationMarkdown } from '~/utils/admin-home'; import { EnvVarsTable } from './EnvVarsTable'; import SystemInfomationTable from './SystemInfomationTable'; const COPY_STATE = { DEFAULT: 'default', DONE: 'done', } as const; export const AdminHome: FC = () => { const { t } = useTranslation(); const { data: adminHomeData } = useSWRxAdminHome(); const { data: migrationStatus } = useSWRxV5MigrationStatus(); const [copyState, setCopyState] = useState(COPY_STATE.DEFAULT); const handleCopyPrefilledHostInformation = () => { setCopyState(COPY_STATE.DONE); setTimeout(() => { setCopyState(COPY_STATE.DEFAULT); }, 500); }; const copyIconRef = useRef(null); return (
{ // Alert message will be displayed in case that the GROWI is under maintenance adminHomeData?.isMaintenanceMode && (

{t('admin:maintenance_mode.maintenance_mode')}

{t('admin:maintenance_mode.description')}


{t('admin:maintenance_mode.end_maintenance_mode')}
) } { // Alert message will be displayed in case that V5 migration has not been compleated migrationStatus != null && !migrationStatus.isV5Compatible && (
{t('admin:v5_page_migration.migration_desc')} {t('admin:v5_page_migration.upgrade_to_v5')}
) }

{t('admin:admin_top.wiki_administrator')}

{t('admin:admin_top.assign_administrator')}

{t('admin:admin_top.system_information')}

{t('admin:admin_top.list_of_env_vars')}

{t('admin:admin_top.env_var_priority')}

{t('admin:admin_top.bug_report')}

  1. {t('admin:admin_top:copy_prefilled_host_information:done')}
  2. {t('admin:admin_top:submit_bug_report')}
); };