* Check `adminPrivilegeAvailable` to show "Project URL lookup" This is the correct check as it's what used to decide if the AdminPanelRouter should be included: https://github.com/overleaf/internal/blob/ffa200d59538e683c95e34dfd3dff2dc68403c51/services/web/modules/admin-panel/index.mjs#L14-L15 * Add "it displays expected admin menu items" to e2e tests * Don't expect "Project URL lookup" in CE * Revert "Don't expect "Project URL lookup" in CE" This reverts commit 467cccbf6c0d538c386d459403c521e3f62cfee2. * Make "Project URL Lookup" capitalization consistent GitOrigin-RevId: ed5c219e9b5912a4c324cf9dce58061b58d911b0
74 lines
2.2 KiB
TypeScript
74 lines
2.2 KiB
TypeScript
import type { DefaultNavbarMetadata } from '@/shared/components/types/default-navbar-metadata'
|
|
import NavDropdownMenu from '@/shared/components/navbar/nav-dropdown-menu'
|
|
import NavDropdownLinkItem from '@/shared/components/navbar/nav-dropdown-link-item'
|
|
import { useSendProjectListMB } from '@/features/project-list/components/project-list-events'
|
|
|
|
export default function AdminMenu({
|
|
canDisplayAdminMenu,
|
|
canDisplayAdminRedirect,
|
|
canDisplayProjectUrlLookup,
|
|
canDisplaySplitTestMenu,
|
|
canDisplaySurveyMenu,
|
|
canDisplayScriptLogMenu,
|
|
adminUrl,
|
|
}: Pick<
|
|
DefaultNavbarMetadata,
|
|
| 'canDisplayAdminMenu'
|
|
| 'canDisplayAdminRedirect'
|
|
| 'canDisplayProjectUrlLookup'
|
|
| 'canDisplaySplitTestMenu'
|
|
| 'canDisplaySurveyMenu'
|
|
| 'canDisplayScriptLogMenu'
|
|
| 'adminUrl'
|
|
>) {
|
|
const sendProjectListMB = useSendProjectListMB()
|
|
return (
|
|
<NavDropdownMenu
|
|
title="Admin"
|
|
className="subdued"
|
|
onToggle={nextShow => {
|
|
if (nextShow) {
|
|
sendProjectListMB('menu-expand', {
|
|
item: 'admin',
|
|
location: 'top-menu',
|
|
})
|
|
}
|
|
}}
|
|
>
|
|
{canDisplayAdminMenu ? (
|
|
<>
|
|
<NavDropdownLinkItem href="/admin">Manage Site</NavDropdownLinkItem>
|
|
<NavDropdownLinkItem href="/admin/user">
|
|
Manage Users
|
|
</NavDropdownLinkItem>
|
|
</>
|
|
) : null}
|
|
{canDisplayProjectUrlLookup ? (
|
|
<NavDropdownLinkItem href="/admin/project">
|
|
Project URL Lookup
|
|
</NavDropdownLinkItem>
|
|
) : null}
|
|
{canDisplayAdminRedirect && adminUrl ? (
|
|
<NavDropdownLinkItem href={adminUrl}>
|
|
Switch to Admin
|
|
</NavDropdownLinkItem>
|
|
) : null}
|
|
{canDisplaySplitTestMenu ? (
|
|
<NavDropdownLinkItem href="/admin/split-test">
|
|
Manage Feature Flags
|
|
</NavDropdownLinkItem>
|
|
) : null}
|
|
{canDisplaySurveyMenu ? (
|
|
<NavDropdownLinkItem href="/admin/survey">
|
|
Manage Surveys
|
|
</NavDropdownLinkItem>
|
|
) : null}
|
|
{canDisplayScriptLogMenu ? (
|
|
<NavDropdownLinkItem href="/admin/script-logs">
|
|
View Script Logs
|
|
</NavDropdownLinkItem>
|
|
) : null}
|
|
</NavDropdownMenu>
|
|
)
|
|
}
|