This commit is contained in:
Dessalines 2019-04-26 09:21:20 -07:00
parent 9b9e57a69d
commit e3651e76bb
4 changed files with 13 additions and 14 deletions

View file

@ -92,7 +92,7 @@ pub struct Register {
password: String,
password_verify: String,
admin: bool,
spam_timer: i64,
spam_timeri: i64,
}
#[derive(Serialize, Deserialize)]
@ -790,7 +790,7 @@ impl Perform for Register {
return Err(self.error("Passwords do not match."))?
}
if self.spam_timer < 1142 {
if self.spam_timeri < 1142 {
return Err(self.error("Too fast"))?
}

View file

@ -27,7 +27,7 @@ export class Login extends Component<any, State> {
password: undefined,
password_verify: undefined,
admin: false,
spam_timer: undefined,
spam_timeri: undefined,
},
loginLoading: false,
registerLoading: false,
@ -103,6 +103,7 @@ export class Login extends Component<any, State> {
return (
<form onSubmit={linkEvent(this, this.handleRegisterSubmit)}>
<h5>Sign Up</h5>
<input type="text" class="no-s-hows" value={this.state.spamNada} onInput={linkEvent(this, this.handleSpamNada)} />
<div class="form-group row">
<label class="col-sm-2 col-form-label">Username</label>
<div class="col-sm-10">
@ -127,9 +128,7 @@ export class Login extends Component<any, State> {
<input type="password" value={this.state.registerForm.password_verify} onInput={linkEvent(this, this.handleRegisterPasswordVerifyChange)} class="form-control" required />
</div>
</div>
<input type="hidden" value={this.state.registerForm.spam_timer} />
<input type="text" class="d-none" value={this.state.spamNada} onInput={linkEvent(this, this.handleSpamNada)} />
<input type="text" class="no-s-hows" value={this.state.spamNada} onInput={linkEvent(this, this.handleSpamNada)} />
<input type="hidden" value={this.state.registerForm.spam_timeri} />
<div class="form-group row">
<div class="col-sm-10">
<button type="submit" class="btn btn-secondary">{this.state.registerLoading ?
@ -165,21 +164,19 @@ export class Login extends Component<any, State> {
event.preventDefault();
let endTimer = new Date().getTime();
let elapsed = endTimer - i.state.registerForm.spam_timer;
let elapsed = endTimer - i.state.registerForm.spam_timeri;
i.state.registerForm.spam_timer = elapsed;
i.state.registerForm.spam_timeri = elapsed;
if (elapsed > 1423 && i.state.spamNada == undefined) {
WebSocketService.Instance.register(i.state.registerForm);
} else {
i.state.spamNada = "nt";
i.setState(i.state);
{/* window.location.href = "https://github.com/dessalines/lemmy"; */}
window.location.href = "https://github.com/dessalines/lemmy";
}
}
handleRegisterUsernameChange(i: Login, event: any) {
i.state.registerForm.username = event.target.value;
i.state.registerForm.spam_timer = new Date().getTime();
i.state.registerForm.spam_timeri = new Date().getTime();
i.setState(i.state);
}

View file

@ -102,5 +102,7 @@ blockquote {
}
.no-s-hows {
display: none;
position: absolute !important;
top: -9999px !important;
left: -9999px !important;
}

View file

@ -330,7 +330,7 @@ export interface RegisterForm {
email?: string;
password: string;
password_verify: string;
spam_timer: number;
spam_timeri: number;
admin: boolean;
}