import clsx from 'clsx'; import { useNewNavigate } from '@/modules'; import { useTranslation } from 'react-i18next'; import { useLayoutStore } from '@/modules/layout/store'; import { useShallow } from 'zustand/shallow'; import { useMemo } from 'react'; const ServerPath = () => { const navigate = useNewNavigate(); const { t } = useTranslation(); const layoutStore = useLayoutStore( useShallow((state) => { return { isAdmin: state.isAdmin, checkHasOrg: state.checkHasOrg, }; }), ); const serverPath = [ { path: 'container', links: ['edit/list', 'preview/:id', 'edit/:id'], }, { path: 'app', links: ['edit/list', ':app/version/list'], }, { path: 'file', links: ['edit/list'], }, { path: 'map', links: ['/'], }, { path: 'org', links: ['edit/list'], }, ]; return (

{t('Site Map')}

{serverPath.map((item) => { const links = item.links.map((link) => { const hasId = link.includes(':'); const _path = link === '/' ? item.path : item.path + '/' + link; return (
{ if (hasId) { return; } if (link === '/') { navigate(`/${item.path}`); return; } if (link) { navigate(`/${item.path}/${link}`); } else { navigate(`/${item.path}`); } }}>
{_path}
); }); return (
{links}
); })}
); }; export const App = ServerPath;