* Remove icons folder * Create folders for badge, button, and dropdown components * Remove Bootstrap 5 from test * Rename `getBootstrap5Breakpoint` to `getBootstrapBreakpoint` * Cleanup and update BS 5 comments * Move components to the shared folder * Rename `tooltips-bs5` to `tooltip` * Remove `-bs5` suffix * Fix path * Delete BS3 version file * Rename `_form_marketing-bootstrap-5` to `_form_marketing` * Delete BS3 version file * Rename `_contact_general_modal-marketing-bootstrap-5` to `_contact_general_modal-marketing` * Delete BS3 version file * Rename `_contact_modal-marketing-bootstrap-5` to `_contact_modal-marketing` * Delete BS3 version file * Rename `thin-footer-bootstrap-5` to `thin-footer` * Delete BS3 version file * Rename `language-picker-bootstrap-5` to `language-picker` * Rename `fat-footer-react-bootstrap-5` to `fat-footer-react` * Delete BS3 version file * Rename `navbar-marketing-bootstrap-5` to `navbar-marketing` * Rename `navbar-marketing-react-bootstrap-5` to `navbar-marketing-react` * Delete BS3 version file * Rename `layout-website-redesign-cms-bootstrap-5` to `layout-website-redesign-cms` * Source format * Fix path GitOrigin-RevId: cf0f5db7c84cf545c69213dcc271d9ff17fe5db7
70 lines
2.1 KiB
TypeScript
70 lines
2.1 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,
|
|
canDisplaySplitTestMenu,
|
|
canDisplaySurveyMenu,
|
|
canDisplayScriptLogMenu,
|
|
adminUrl,
|
|
}: Pick<
|
|
DefaultNavbarMetadata,
|
|
| 'canDisplayAdminMenu'
|
|
| 'canDisplayAdminRedirect'
|
|
| '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>
|
|
<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>
|
|
)
|
|
}
|