Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/strapi-admin/admin/src/containers/LeftMenu/ drwxr-xr-x | |
| Viewing file: Select action/file-type: import React, { memo, useEffect } from 'react';
import PropTypes from 'prop-types';
import { useLocation } from 'react-router-dom';
import {
LeftMenuLinksSection,
LeftMenuFooter,
LeftMenuHeader,
LinksContainer,
} from '../../components/LeftMenu';
import Loader from './Loader';
import Wrapper from './Wrapper';
import useMenuSections from './useMenuSections';
const LeftMenu = ({ shouldUpdateStrapi, version, plugins, setUpdateMenu }) => {
const location = useLocation();
const {
state: {
isLoading,
collectionTypesSectionLinks,
singleTypesSectionLinks,
generalSectionLinks,
pluginsSectionLinks,
},
toggleLoading,
generateMenu,
} = useMenuSections(plugins, shouldUpdateStrapi);
const filteredCollectionTypeLinks = collectionTypesSectionLinks.filter(
({ isDisplayed }) => isDisplayed
);
const filteredSingleTypeLinks = singleTypesSectionLinks.filter(({ isDisplayed }) => isDisplayed);
// This effect is really temporary until we create the menu api
// We need this because we need to regenerate the links when the settings are being changed
// in the content manager configurations list
useEffect(() => {
setUpdateMenu(() => {
toggleLoading();
generateMenu();
});
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
return (
<Wrapper>
<Loader show={isLoading} />
<LeftMenuHeader />
<LinksContainer>
{filteredCollectionTypeLinks.length > 0 && (
<LeftMenuLinksSection
section="collectionType"
name="collectionType"
links={filteredCollectionTypeLinks}
location={location}
searchable
/>
)}
{filteredSingleTypeLinks.length > 0 && (
<LeftMenuLinksSection
section="singleType"
name="singleType"
links={filteredSingleTypeLinks}
location={location}
searchable
/>
)}
{pluginsSectionLinks.length > 0 && (
<LeftMenuLinksSection
section="plugins"
name="plugins"
links={pluginsSectionLinks}
location={location}
searchable={false}
emptyLinksListMessage="app.components.LeftMenuLinkContainer.noPluginsInstalled"
/>
)}
{generalSectionLinks.length > 0 && (
<LeftMenuLinksSection
section="general"
name="general"
links={generalSectionLinks}
location={location}
searchable={false}
/>
)}
</LinksContainer>
<LeftMenuFooter key="footer" version={version} />
</Wrapper>
);
};
LeftMenu.propTypes = {
shouldUpdateStrapi: PropTypes.bool.isRequired,
version: PropTypes.string.isRequired,
plugins: PropTypes.object.isRequired,
setUpdateMenu: PropTypes.func.isRequired,
};
export default memo(LeftMenu);
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0293 ]-- |