UNPKG

@letanure/resend-cli

Version:

A command-line interface for Resend email API

28 lines 1.69 kB
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'; export const App = ({ onExit }) => { const [screenState, setScreenState] = useState('menu'); const [lastSelectedAudienceMenuItem, setLastSelectedAudienceMenuItem] = useState(); const handleMenuSelect = (menuId) => { setScreenState(menuId); }; return (_jsxs(_Fragment, { children: [screenState === 'menu' && (_jsx(Menu, { onSelect: handleMenuSelect, onExit: () => onExit(), initialSelectedKey: lastSelectedAudienceMenuItem })), screenState === 'create' && (_jsx(CreateForm, { onExit: () => { setLastSelectedAudienceMenuItem(MenuState.create); setScreenState('menu'); } })), screenState === 'retrieve' && (_jsx(RetrieveForm, { onExit: () => { setLastSelectedAudienceMenuItem(MenuState.retrieve); setScreenState('menu'); } })), screenState === 'delete' && (_jsx(DeleteForm, { onExit: () => { setLastSelectedAudienceMenuItem(MenuState.delete); setScreenState('menu'); } })), screenState === 'list' && (_jsx(ListForm, { onExit: () => { setLastSelectedAudienceMenuItem(MenuState.list); setScreenState('menu'); } }))] })); }; //# sourceMappingURL=App.js.map