Files
bare-operating-system/examples/tui-form/index.js
T
Raven Scott ddebf42f1c
Release rolling / release (push) Successful in 9m38s
TUI Updates p2
2026-08-12 22:55:38 -04:00

34 lines
852 B
JavaScript

/** Guest TUI form. Raw JS: `run(ctx)` only. */
async function run(ctx) {
if (!ctx.tui || !ctx.tui.isTTY()) {
ctx.console.error('tui-form: needs a TTY')
ctx.exitCode = 1
return
}
const values = await ctx.tui.form.run(
ctx.tui.form.create({
title: 'Create account',
fields: [
ctx.tui.form.text({ name: 'user', label: 'User', required: true }),
ctx.tui.form.text({
name: 'pass',
label: 'Pass',
echoMode: 'password'
}),
ctx.tui.form.select({
name: 'plan',
label: 'Plan',
options: ['free', 'pro']
}),
ctx.tui.form.confirm({ name: 'tos', label: 'Accept terms', required: true })
]
})
)
if (values == null) {
ctx.console.log('cancelled')
return
}
ctx.console.log(JSON.stringify(values))
}