import React, { useState } from "react"; import { Button, Form, InputGroup } from "react-bootstrap"; import Icon from "./Icon"; export default function EditableText({ as = "p", onSubmit, initial, authorised, className, }: { as?: "p" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "span"; onSubmit: (value: string) => void; initial: string; authorised: boolean; className?: string; }) { const [text, setText] = useState(initial); const [editing, setEditing] = useState(false); if (editing) { return ( setText(e.target.value)} /> ); } return (
authorised && setEditing(true)} className={`d-flex gap-2 ${authorised ? "cursor-pointer" : ""}`} > {React.createElement(as, { className }, text)} {authorised && }
); }