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

{title}

{navs.map(({ title, items }) => { return (
    {items.map(({ name, link, title }) => { if (link) return
  • {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} {/* */}
{!nav && } ); }; export default StyledSettingContainer;