import { Dialog, Transition } from '@headlessui/react' import { Fragment } from 'react' import { toast } from 'react-hot-toast' import { type InstanceProps, create } from 'react-modal-promise' import { ActionButton } from '@src/components/ActionButton' import { CreateNewVariable } from '@src/components/AvailableVarsHelpers' import { useCalculateKclExpression } from '@src/lib/useCalculateKclExpression' import type { Selections } from '@src/lib/selections' type ModalResolve = { variableName: string } type ModalReject = boolean type SetVarNameModalProps = InstanceProps & { valueName: string selectionRanges: Selections } export const createSetVarNameModal = create< SetVarNameModalProps, ModalResolve, ModalReject > export const SetVarNameModal = ({ isOpen, onResolve, onReject, valueName, selectionRanges, }: SetVarNameModalProps) => { const { isNewVariableNameUnique, newVariableName, setNewVariableName } = useCalculateKclExpression({ value: '', initialVariableName: valueName, selectionRanges, }) return (
{ e.preventDefault() onResolve({ variableName: newVariableName, }) toast.success(`Added variable ${newVariableName}`) }} >
onReject(false)}> Cancel Add variable
) }