import { useContext } from "react"; import Divider from "@moduletrace/twui/layout/Divider"; import { SettingsPages } from "@/src/dict/settings-pages-dict"; import { AppContext } from "@/src/pages/__root"; import canSeeRailItem from "@/src/utils/rbac/can-see-rail-item"; import isPassThroughUser from "@/src/utils/rbac/is-pass-through-user"; import RailBackLink from "./rail-back-link"; import RailSettingsLink from "./rail-settings-link"; type Props = { pathname?: string; }; /** * Settings mode of the rail: back to the bots, then the settings sub pages * (super admin pages only for super admins, RBAC-gated pages by their * own rule). */ export default function RailSettingsList({ pathname }: Props) { const { pageProps } = useContext(AppContext); const current = pathname?.replace(/\/$/, ""); const is_super_admin = isPassThroughUser({ user_types: pageProps?.user_types, }); return ( <> {/* */} {SettingsPages.filter((page) => canSeeRailItem({ item: page, is_super_admin, user_types: pageProps?.user_types, }), ).map((page) => ( ))} ); }