kaori 3 лет назад
Родитель
Сommit
ed67415d9e

+ 3 - 3
packages/app/src/components/Admin/AdminPage.tsx

@@ -14,7 +14,7 @@ import AdminExternalAccountsContainer from '~/client/services/AdminExternalAccou
 // import AdminGeneralSecurityContainer from '~/client/services/AdminGeneralSecurityContainer';
 // import AdminGitHubSecurityContainer from '~/client/services/AdminGitHubSecurityContainer';
 // import AdminGoogleSecurityContainer from '~/client/services/AdminGoogleSecurityContainer';
-import AdminHomeContainer from '~/client/services/AdminHomeContainer';
+// import AdminHomeContainer from '~/client/services/AdminHomeContainer';
 // import AdminImportContainer from '~/client/services/AdminImportContainer';
 // import AdminLdapSecurityContainer from '~/client/services/AdminLdapSecurityContainer';
 // import AdminLocalSecurityContainer from '~/client/services/AdminLocalSecurityContainer';
@@ -211,7 +211,7 @@ const AdminPage: NextPage<Props> = (props: Props) => {
     // Create unstated container instances (except Security)
     // const adminAppContainer = new AdminAppContainer();
     // const adminImportContainer = new AdminImportContainer();
-    const adminHomeContainer = new AdminHomeContainer();
+    // const adminHomeContainer = new AdminHomeContainer();
     // const adminCustomizeContainer = new AdminCustomizeContainer();
     // const adminUsersContainer = new AdminUsersContainer();
     const adminExternalAccountsContainer = new AdminExternalAccountsContainer();
@@ -222,7 +222,7 @@ const AdminPage: NextPage<Props> = (props: Props) => {
     injectableContainers.push(
       // adminAppContainer,
       // adminImportContainer,
-      adminHomeContainer,
+      // adminHomeContainer,
       // adminCustomizeContainer,
       // adminUsersContainer,
       adminExternalAccountsContainer,

+ 61 - 0
packages/app/src/pages/admin.page.tsx

@@ -0,0 +1,61 @@
+import { isClient } from '@growi/core';
+import {
+  NextPage, GetServerSideProps, GetServerSidePropsContext,
+} from 'next';
+import { useTranslation } from 'next-i18next';
+import dynamic from 'next/dynamic';
+import { Container, Provider } from 'unstated';
+
+import AdminHomeContainer from '~/client/services/AdminHomeContainer';
+import { CommonProps, useCustomTitle } from '~/pages/utils/commons';
+
+import { retrieveServerSideProps } from '../utils/admin-page-util';
+
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
+const AdminHome = dynamic(() => import('~/components/Admin/AdminHome/AdminHome'), { ssr: false });
+
+
+type Props = CommonProps & {
+  nodeVersion: string,
+  npmVersion: string,
+  yarnVersion: string,
+  installedPlugins: any,
+};
+
+
+const AdminHomePage: NextPage<Props> = (props) => {
+  const { t } = useTranslation();
+
+  const title = t('wiki_management_home_page');
+  const injectableContainers: Container<any>[] = [];
+
+  if (isClient()) {
+    const adminHomeContainer = new AdminHomeContainer();
+
+    injectableContainers.push(adminHomeContainer);
+  }
+
+
+  return (
+    <Provider inject={[...injectableContainers]}>
+      <AdminLayout title={useCustomTitle(props, title)} componentTitle={title} >
+        <AdminHome
+          nodeVersion={props.nodeVersion}
+          npmVersion={props.npmVersion}
+          yarnVersion={props.yarnVersion}
+          installedPlugins={props.installedPlugins}
+        />
+      </AdminLayout>
+    </Provider>
+  );
+
+};
+
+
+export const getServerSideProps: GetServerSideProps = async(context: GetServerSidePropsContext) => {
+  const props = await retrieveServerSideProps(context);
+  return props;
+};
+
+
+export default AdminHomePage;