@letanure/resend-cli
Version:
A command-line interface for Resend email API
32 lines • 1.94 kB
JavaScript
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
import { useState } from 'react';
import { Form as CreateForm } from './create/Form.js';
import { Form as DeleteForm } from './delete/Form.js';
import { Form as ListForm } from './list/Form.js';
import { Menu, MenuState } from './Menu.js';
import { Form as RetrieveForm } from './retrieve/Form.js';
import { Form as UpdateForm } from './update/Form.js';
export const App = ({ onExit }) => {
const [screenState, setScreenState] = useState('menu');
const [lastSelectedContactMenuItem, setLastSelectedContactMenuItem] = useState();
const handleMenuSelect = (menuId) => {
setScreenState(menuId);
};
return (_jsxs(_Fragment, { children: [screenState === 'menu' && (_jsx(Menu, { onSelect: handleMenuSelect, onExit: () => onExit(), initialSelectedKey: lastSelectedContactMenuItem })), screenState === 'create' && (_jsx(CreateForm, { onExit: () => {
setLastSelectedContactMenuItem(MenuState.create);
setScreenState('menu');
} })), screenState === 'retrieve' && (_jsx(RetrieveForm, { onExit: () => {
setLastSelectedContactMenuItem(MenuState.retrieve);
setScreenState('menu');
} })), screenState === 'update' && (_jsx(UpdateForm, { onExit: () => {
setLastSelectedContactMenuItem(MenuState.update);
setScreenState('menu');
} })), screenState === 'delete' && (_jsx(DeleteForm, { onExit: () => {
setLastSelectedContactMenuItem(MenuState.delete);
setScreenState('menu');
} })), screenState === 'list' && (_jsx(ListForm, { onExit: () => {
setLastSelectedContactMenuItem(MenuState.list);
setScreenState('menu');
} }))] }));
};
//# sourceMappingURL=App.js.map