|
@@ -5,12 +5,16 @@ import React 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 AppContainer from '../../../services/AppContainer';
|
|
|
|
|
+import { withUnstatedContainers } from '../../UnstatedUtils';
|
|
|
|
|
|
|
|
const AdminNavigation = (props) => {
|
|
const AdminNavigation = (props) => {
|
|
|
- const { t } = props;
|
|
|
|
|
|
|
+ const { t, appContainer } = props;
|
|
|
const pathname = window.location.pathname;
|
|
const pathname = window.location.pathname;
|
|
|
|
|
|
|
|
|
|
+ const growiCloudUri = appContainer.config.env.GROWI_CLOUD_URI;
|
|
|
|
|
+ const growiAppIdForGrowiCloud = appContainer.config.env.GROWI_APP_ID_FOR_GROWI_CLOUD;
|
|
|
|
|
+
|
|
|
// eslint-disable-next-line react/prop-types
|
|
// eslint-disable-next-line react/prop-types
|
|
|
const MenuLabel = ({ menu }) => {
|
|
const MenuLabel = ({ menu }) => {
|
|
|
switch (menu) {
|
|
switch (menu) {
|
|
@@ -24,6 +28,7 @@ const AdminNavigation = (props) => {
|
|
|
case 'users': return <><i className="icon-fw icon-user"></i> { t('User_Management') }</>;
|
|
case 'users': return <><i className="icon-fw icon-user"></i> { t('User_Management') }</>;
|
|
|
case 'user-groups': return <><i className="icon-fw icon-people"></i> { t('UserGroup Management') }</>;
|
|
case 'user-groups': return <><i className="icon-fw icon-people"></i> { t('UserGroup Management') }</>;
|
|
|
case 'search': return <><i className="icon-fw icon-magnifier"></i> { t('Full Text Search Management') }</>;
|
|
case 'search': return <><i className="icon-fw icon-magnifier"></i> { t('Full Text Search Management') }</>;
|
|
|
|
|
+ case 'cloud': return <><i className="icon-fw icon-share-alt"></i> { t('to_cloud_settings')} </>;
|
|
|
default: return <><i className="icon-fw icon-home"></i> { t('Wiki Management Home Page') }</>;
|
|
default: return <><i className="icon-fw icon-home"></i> { t('Wiki Management Home Page') }</>;
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
@@ -64,6 +69,16 @@ const AdminNavigation = (props) => {
|
|
|
<MenuLink menu="users" isListGroupItems isActive={isActiveMenu('/users')} />
|
|
<MenuLink menu="users" isListGroupItems isActive={isActiveMenu('/users')} />
|
|
|
<MenuLink menu="user-groups" isListGroupItems isActive={isActiveMenu('/user-groups')} />
|
|
<MenuLink menu="user-groups" isListGroupItems isActive={isActiveMenu('/user-groups')} />
|
|
|
<MenuLink menu="search" isListGroupItems isActive={isActiveMenu('/search')} />
|
|
<MenuLink menu="search" isListGroupItems isActive={isActiveMenu('/search')} />
|
|
|
|
|
+ {growiCloudUri != null && growiAppIdForGrowiCloud != null
|
|
|
|
|
+ && (
|
|
|
|
|
+ <a
|
|
|
|
|
+ href={`${growiCloudUri}/my/apps/${growiAppIdForGrowiCloud}`}
|
|
|
|
|
+ className="list-group-item list-group-item-action border-0 round-corner"
|
|
|
|
|
+ >
|
|
|
|
|
+ <MenuLabel menu="cloud" />
|
|
|
|
|
+ </a>
|
|
|
|
|
+ )
|
|
|
|
|
+ }
|
|
|
</>
|
|
</>
|
|
|
);
|
|
);
|
|
|
};
|
|
};
|
|
@@ -109,10 +124,11 @@ const AdminNavigation = (props) => {
|
|
|
);
|
|
);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+const AdminNavigationWrapper = withUnstatedContainers(AdminNavigation, [AppContainer]);
|
|
|
|
|
|
|
|
AdminNavigation.propTypes = {
|
|
AdminNavigation.propTypes = {
|
|
|
t: PropTypes.func.isRequired, // i18next
|
|
t: PropTypes.func.isRequired, // i18next
|
|
|
-
|
|
|
|
|
|
|
+ appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-export default withTranslation()(AdminNavigation);
|
|
|
|
|
|
|
+export default withTranslation()(AdminNavigationWrapper);
|