|
@@ -1,18 +1,34 @@
|
|
|
/* eslint-disable no-multi-spaces */
|
|
/* eslint-disable no-multi-spaces */
|
|
|
/* eslint-disable react/jsx-props-no-multi-spaces */
|
|
/* eslint-disable react/jsx-props-no-multi-spaces */
|
|
|
|
|
|
|
|
-import React from 'react';
|
|
|
|
|
|
|
+import React, { useEffect } from 'react';
|
|
|
import PropTypes from 'prop-types';
|
|
import PropTypes from 'prop-types';
|
|
|
import { withTranslation } from 'react-i18next';
|
|
import { withTranslation } from 'react-i18next';
|
|
|
import urljoin from 'url-join';
|
|
import urljoin from 'url-join';
|
|
|
|
|
+import loggerFactory from '@alias/logger';
|
|
|
import AdminHomeContainer from '../../../services/AdminHomeContainer';
|
|
import AdminHomeContainer from '../../../services/AdminHomeContainer';
|
|
|
import { withUnstatedContainers } from '../../UnstatedUtils';
|
|
import { withUnstatedContainers } from '../../UnstatedUtils';
|
|
|
|
|
+import { toastError } from '../../../util/apiNotification';
|
|
|
|
|
|
|
|
|
|
+const logger = loggerFactory('growi:admin');
|
|
|
|
|
|
|
|
const AdminNavigation = (props) => {
|
|
const AdminNavigation = (props) => {
|
|
|
const { t, adminHomeContainer } = props;
|
|
const { t, adminHomeContainer } = props;
|
|
|
const pathname = window.location.pathname;
|
|
const pathname = window.location.pathname;
|
|
|
|
|
|
|
|
|
|
+ useEffect(() => {
|
|
|
|
|
+ (async() => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ await adminHomeContainer.retrieveAdminHomeData();
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (err) {
|
|
|
|
|
+ toastError(err);
|
|
|
|
|
+ adminHomeContainer.setState({ retrieveError: err });
|
|
|
|
|
+ logger.error(err);
|
|
|
|
|
+ }
|
|
|
|
|
+ })();
|
|
|
|
|
+ }, [adminHomeContainer]);
|
|
|
|
|
+
|
|
|
// eslint-disable-next-line react/prop-types
|
|
// eslint-disable-next-line react/prop-types
|
|
|
const MenuLabel = ({ menu }) => {
|
|
const MenuLabel = ({ menu }) => {
|
|
|
switch (menu) {
|
|
switch (menu) {
|