import clsx from "clsx"; import { FC } from "react"; import { createPortal } from "react-dom"; import { useSelector } from "react-redux"; import { rulesEngineSelectors } from "@dndbeyond/character-rules-engine"; import { Dialog, DialogProps } from "@dndbeyond/ttui/components/Dialog"; import { useSheetContext } from "~/subApps/sheet/contexts/Sheet"; import { ActionsIcon, AttributesIcon, DescriptionIcon, EquipmentIcon, ExtrasIcon, FeatureTraitsIcon, NotesIcon, ProficienciesSvg, SkillsIcon, SpellsIcon, } from "~/svgs"; import { appEnvSelectors } from "~/tools/js/Shared/selectors"; import { SectionButton } from "../SectionButton"; import styles from "./styles.module.css"; export interface SectionMenuProps extends DialogProps { open: boolean; } export const SectionMenu: FC = ({ className, open, ...props }) => { const { setMobileActiveSectionId: setId } = useSheetContext(); const isReadonly = useSelector(appEnvSelectors.getIsReadonly); const hasSpells = useSelector(rulesEngineSelectors.hasSpells); return createPortal( <> setId("main")} > Abilities, Saves, Senses , Proficiencies, Training, Skills setId("skills")} > Skills setId("actions")}> Actions setId("equipment")}> Inventory {hasSpells && ( setId("spells")}> Spells )} setId("features_traits")}> Features & Traits setId("proficiencies")} > Proficiencies & Training {!isReadonly && ( setId("description")}> Background )} {!isReadonly && ( setId("notes")}> Notes )} setId("extras")} > Extras {open &&
} , document.body ); };