import { IconButton, Input } from "@mui/joy"; import classNames from "classnames"; import { useEffect, useState } from "react"; import { generateRandomString } from "@/helpers/utils"; import Icon from "./Icon"; interface Props { name: string; onChange: (name: string) => void; } const ResourceNameInput = (props: Props) => { const { name, onChange } = props; const [modified, setModified] = useState(false); const [editingName, setEditingName] = useState(name || generateRandomString().toLowerCase()); useEffect(() => { onChange(editingName); }, [editingName]); const handleNameInputChange = (e: React.ChangeEvent) => { if (!modified) { return; } setEditingName(e.target.value); }; return (
Name {modified ? ( * ) : ( <> : {editingName}
setModified(true)}> setEditingName(generateRandomString().toLowerCase())}>
)}
{modified && (
)}
); }; export default ResourceNameInput;