mirror of
https://git.sr.ht/~emersion/gamja
synced 2024-11-14 19:25:26 -05:00
Add "auth" parameter to tune connect form
This commit is contained in:
parent
6039e13411
commit
eef2093c88
3 changed files with 31 additions and 6 deletions
|
@ -85,6 +85,11 @@ gamja default settings can be set using a `config.json` file at the root:
|
|||
"url": "wss://irc.example.org",
|
||||
// Channel(s) to auto-join (string or array of strings).
|
||||
"autojoin": "#gamja",
|
||||
// Controls how the password UI is presented to the user. Set to
|
||||
// "mandatory" to require a password, "optional" to accept one but not
|
||||
// require it, and "disabled" to never ask for a password. Defaults to
|
||||
// "optional".
|
||||
"auth": "optional",
|
||||
// Interval in seconds to send PING commands (number). Set to 0 to
|
||||
// disable. Enabling PINGs can have an impact on client power usage and
|
||||
// should only be enabled if necessary.
|
||||
|
|
|
@ -213,7 +213,12 @@ export default class App extends Component {
|
|||
}
|
||||
|
||||
this.setState((state) => {
|
||||
return { connectParams: { ...state.connectParams, ...connectParams } };
|
||||
return {
|
||||
connectParams: {
|
||||
...state.connectParams,
|
||||
...connectParams,
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
if (connectParams.autoconnect) {
|
||||
|
@ -1203,6 +1208,7 @@ export default class App extends Component {
|
|||
<${ConnectForm}
|
||||
error=${this.state.error}
|
||||
params=${this.state.connectParams}
|
||||
auth=${this.config.server ? this.config.server.auth : null}
|
||||
connecting=${connecting}
|
||||
onSubmit=${this.handleConnectSubmit}
|
||||
key=${this.state.connectParams}
|
||||
|
|
|
@ -98,6 +98,24 @@ export default class ConnectForm extends Component {
|
|||
`;
|
||||
}
|
||||
|
||||
var auth = null;
|
||||
if (this.props.auth !== "disabled") {
|
||||
auth = html`
|
||||
<label>
|
||||
Password:<br/>
|
||||
<input
|
||||
type="password"
|
||||
name="password"
|
||||
value=${this.state.password}
|
||||
disabled=${disabled}
|
||||
required=${this.props.auth === "mandatory"}
|
||||
placeholder=${this.props.auth !== "mandatory" ? "(optional)" : ""}
|
||||
/>
|
||||
</label>
|
||||
<br/><br/>
|
||||
`;
|
||||
}
|
||||
|
||||
return html`
|
||||
<form onChange=${this.handleChange} onSubmit=${this.handleSubmit}>
|
||||
<h2>Connect to IRC</h2>
|
||||
|
@ -108,11 +126,7 @@ export default class ConnectForm extends Component {
|
|||
</label>
|
||||
<br/><br/>
|
||||
|
||||
<label>
|
||||
Password:<br/>
|
||||
<input type="password" name="password" value=${this.state.password} disabled=${disabled}/>
|
||||
</label>
|
||||
<br/><br/>
|
||||
${auth}
|
||||
|
||||
<label>
|
||||
<input type="checkbox" name="rememberMe" checked=${this.state.rememberMe} disabled=${disabled}/>
|
||||
|
|
Loading…
Reference in a new issue