import { Button, Container, FormControl, InputLabel, TextField } from "@material-ui/core"; import Select, { SelectChangeEvent } from '@mui/material/Select'; import { Category, LibraryItem, addItemToLibrary, categoryHasName } from "../lib/prompt"; import { ChangeEvent, useState } from "react"; import { v4 as uuidv4 } from "uuid" import { Stack } from "@mui/material"; import "./NewLibraryItem.css" export interface NewLibraryItemProps { onNewCreated?: () => void; } export function NewLibraryItem(props: NewLibraryItemProps) { const { onNewCreated } = props; const [category, setCategory] = useState(Category.subject); const [name, setName] = useState(""); const [prompt, setPrompt] = useState(""); const handleCategoryChange = (e: any | SelectChangeEvent) => { setCategory(e.target.value as Category); } const handleNameChange = (e: ChangeEvent) => { setName(e.target.value); } const handlePromptChange = (e: ChangeEvent) => { setPrompt(e.target.value); } const titleCase = (s: string) => { return s[0].toUpperCase() + s.substring(1); } const handleCreateItem = () => { const libraryItem = { id: uuidv4(), category, name: categoryHasName(category) ? name : null, prompt, } as LibraryItem; addItemToLibrary(libraryItem); setCategory(Category.subject); setName(""); setPrompt(""); onNewCreated ? onNewCreated() : null; } const catChoices = Object.keys(Category); return ( Category Name Prompt ) }