consortium
Version:
Remote control and session sharing CLI for AI coding agents
35 lines (31 loc) • 1.2 kB
JavaScript
;
var React = require('react');
var ink = require('ink');
const EmailInput = ({
onSubmit,
onCancel,
prompt = "Enter your email:"
}) => {
const [email, setEmail] = React.useState("");
ink.useInput((input, key) => {
if (key.escape) {
onCancel();
return;
}
if (key.return) {
if (email.includes("@") && email.includes(".")) {
onSubmit(email);
}
return;
}
if (key.backspace || key.delete) {
setEmail((prev) => prev.slice(0, -1));
return;
}
if (input && !key.ctrl && !key.meta) {
setEmail((prev) => prev + input);
}
});
return /* @__PURE__ */ React.createElement(ink.Box, { flexDirection: "column", paddingY: 1 }, /* @__PURE__ */ React.createElement(ink.Text, null, prompt), /* @__PURE__ */ React.createElement(ink.Box, null, /* @__PURE__ */ React.createElement(ink.Text, { color: "cyan" }, email), /* @__PURE__ */ React.createElement(ink.Text, { color: "gray" }, "\u2588")), /* @__PURE__ */ React.createElement(ink.Box, { marginTop: 1 }, /* @__PURE__ */ React.createElement(ink.Text, { dimColor: true }, "Press Enter to continue, Escape to cancel")));
};
exports.EmailInput = EmailInput;