overleaf/services/web/app/views/user/login.pug

47 lines
1.5 KiB
Text
Raw Normal View History

2014-02-12 05:23:40 -05:00
extends ../layout
2018-09-28 16:14:05 -04:00
block vars
- metadata = { viewport: true }
2014-02-12 05:23:40 -05:00
block content
main.content.content-alt
2014-06-09 03:54:14 -04:00
.container
.row
.col-md-6.col-md-offset-3.col-lg-4.col-lg-offset-4
.card
.page-header
2014-07-31 09:01:37 -04:00
h1 #{translate("log_in")}
form(async-form="login", name="loginForm", action='/login', method="POST", ng-cloak)
2014-06-09 03:54:14 -04:00
input(name='_csrf', type='hidden', value=csrfToken)
2014-06-20 06:15:25 -04:00
form-messages(for="loginForm")
2014-06-09 05:19:02 -04:00
.form-group
2014-06-17 11:19:40 -04:00
input.form-control(
type='email',
name='email',
2014-06-18 10:23:00 -04:00
required,
placeholder='email@example.com',
ng-model="email",
ng-model-options="{ updateOn: 'blur' }",
focus="true"
2014-06-17 11:19:40 -04:00
)
2014-06-18 10:23:00 -04:00
span.small.text-primary(ng-show="loginForm.email.$invalid && loginForm.email.$dirty")
2014-07-31 09:01:37 -04:00
| #{translate("must_be_email_address")}
2014-06-09 05:19:02 -04:00
.form-group
2014-06-17 11:19:40 -04:00
input.form-control(
type='password',
name='password',
2014-06-18 10:23:00 -04:00
required,
placeholder='********',
ng-model="password"
2014-06-17 11:19:40 -04:00
)
2014-06-18 10:23:00 -04:00
span.small.text-primary(ng-show="loginForm.password.$invalid && loginForm.password.$dirty")
2014-07-31 09:01:37 -04:00
| #{translate("required")}
2014-06-09 03:54:14 -04:00
.actions
2014-06-18 10:23:00 -04:00
button.btn-primary.btn(
type='submit',
ng-disabled="loginForm.inflight"
)
2014-07-31 09:01:37 -04:00
span(ng-show="!loginForm.inflight") #{translate("login")}
span(ng-show="loginForm.inflight") #{translate("logging_in")}…
2014-07-31 09:01:37 -04:00
a.pull-right(href='/user/password/reset') #{translate("forgot_your_password")}?