in packages/app/client/src/ui/dialogs/botSettingsEditor/botSettingsEditor.tsx [105:168]
public render() {
const { name, dirty, secret, revealSecret, encryptKey } = this.state;
const disabled = !name || !dirty;
const error = !name ? 'The bot name is required' : '';
return (
<Dialog cancel={this.onCancel} title="Bot Settings" className={styles.main}>
<TextField label="Name" value={name} required={true} onChange={this.onInputChange} errorMessage={error} />
<Row align={RowAlignment.Bottom}>
<Checkbox
className={styles.encryptKeyCheckBox}
label="Encrypt keys stored in your bot configuration."
checked={encryptKey}
onChange={this.onEncryptKeyChange}
/>
<LinkButton
ariaLabel="Learn more about bot file encryption"
className={styles.dialogLink}
linkRole={true}
onClick={this.onLearnMoreEncryptionClick}
>
Learn more.
</LinkButton>
</Row>
<Row align={RowAlignment.Bottom}>
<TextField
inputContainerClassName={styles.key}
label="Secret "
placeholder="Your keys are not encrypted"
inputRef={this.setSecretInputRef}
value={secret}
readOnly={true}
id="key-input"
type={revealSecret ? 'text' : 'password'}
/>
<ul className={styles.actionsList}>
<li>
<LinkButton className={styles.dialogLink} disabled={!encryptKey} onClick={this.onRevealSecretClick}>
{revealSecret ? 'Hide' : 'Show'}
</LinkButton>
</li>
<li>
<LinkButton className={styles.dialogLink} disabled={!encryptKey} onClick={this.onCopyClick}>
Copy
</LinkButton>
</li>
{/* <li>
<LinkButton
className={styles.dialogLink}
onClick={this.onResetClick}>
Generate new secret
</LinkButton>
</li> */}
</ul>
</Row>
<DialogFooter>
<DefaultButton text="Cancel" onClick={this.onCancel} />
<PrimaryButton text="Save" onClick={this.onSaveClick} disabled={disabled} />
</DialogFooter>
</Dialog>
);
}