import { FC, PropsWithChildren, ReactNode } from "react"; import { useLocation, NavLink } from "react-router-dom"; import IconBack from "../../assets/icons/arrow.left.svg"; import { Nav } from "../../routes/settingChannel/navs"; import clsx from "clsx"; export interface Danger { title: string; handler: () => void; } interface Props { closeModal: () => void; title?: string; navs: Nav[]; dangers: [Danger | boolean]; nav: { title: string; name?: string; component?: ReactNode }; } const StyledSettingContainer: FC> = ({ closeModal, title = "Settings", navs = [], dangers = [], nav, children }) => { const { pathname } = useLocation(); return (

{title}

{navs.map(({ title, items }) => { return (
    {items.map(({ name, title }) => { return (
  • {title}
  • ); })}
); })} {dangers.length ? (
    {dangers.map((d) => { if (typeof d === "boolean" || !d) return null; const { title, handler } = d; return (
  • {title}
  • ); })}
) : null}
{nav &&

{nav.title}

} {children}
); }; export default StyledSettingContainer;