import { faBinoculars, faPencil } from "@fortawesome/free-solid-svg-icons" import { useTranslation } from "next-i18next" import { useDefinedContext } from "../../../utils/definedContext" import { EditingContext, EditingMode } from "../../generic/editable/base" import { FestaIcon } from "../../generic/renderers/fontawesome" import { Tool } from "../../generic/toolbar/tool" export type ToolToggleEditingProps = { onViewStart?: () => void, onViewEnd?: () => void, onEditStart?: () => void, onEditEnd?: () => void, } /** * ToolBar {@link Tool} which switches between {@link EditingMode}s of the surrounding context. */ export function ToolToggleEditing({ onViewStart, onViewEnd, onEditStart, onEditEnd }: ToolToggleEditingProps) { const { t } = useTranslation() const [editing, setEditing] = useDefinedContext(EditingContext) if (editing === EditingMode.EDIT) { return ( { onEditEnd?.() setEditing(EditingMode.VIEW) onViewStart?.() }} > ) } else { return ( { onViewEnd?.() setEditing(EditingMode.EDIT) onEditStart?.() }} > ) } }