import { Store } from '@hyper-hyper-space/core'; import { Folder } from '@hyper-hyper-space/home'; import { Button, CircularProgress, Dialog, DialogActions, DialogContent, DialogTitle, Stack, TextField } from '@mui/material'; import { Fragment, useState } from 'react'; import { HomeContext } from '../HomeSpace'; // FIXME: this is incomplete! function ConfirmDeleteFolderDialog(props: {folder: Folder, context: HomeContext, onClose: () => void}) { const [open, setOpen] = useState(true); const [creating, setCreating] = useState(false); const close = () => { setOpen(false); props.onClose(); } const [name, setName] = useState(props.folder.name?.getValue() || ''); const [nameError, setNameError] = useState(false); const handleNameChange = (event: React.ChangeEvent) => { setName(event.target.value); }; const handleNameKeyPress = (e: React.KeyboardEvent) => { if (e.key === 'Enter') { e.preventDefault(); renameFolder(); } else { setNameError(false); } }; const { home } = props.context; const renameFolder = async () => { if (name.trim() === '') { setNameError(true); } else { setCreating(true); const store = home?.getStore() as Store; await props.folder.name?.setValue(name); store.save(props.folder); close(); } }; return ( Delete Folder? {!creating && } {creating && } ); } export default ConfirmDeleteFolderDialog;