mirror of
https://github.com/zulip/zulip.git
synced 2025-11-22 07:21:23 +00:00
portico-pages: Fix flex height issues with content.
This fixes the existing issue where the titles of content is chopped off when the screen height is too small.
This commit is contained in:
committed by
Tim Abbott
parent
6b1c53059b
commit
58d00af6c3
@@ -868,7 +868,7 @@ a:not(.no-style):hover:before {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.features-app .main {
|
.features-app .main {
|
||||||
margin: 0px auto 20px;
|
margin: 0px auto;
|
||||||
width: calc(100% - 40px);
|
width: calc(100% - 40px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -126,7 +126,6 @@ html {
|
|||||||
|
|
||||||
.forgot-password-container {
|
.forgot-password-container {
|
||||||
width: 503px;
|
width: 503px;
|
||||||
margin-top: calc(50vh - 150px);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.forgot-password-container form {
|
.forgot-password-container form {
|
||||||
@@ -348,7 +347,20 @@ html {
|
|||||||
color: #444;
|
color: #444;
|
||||||
}
|
}
|
||||||
|
|
||||||
.new-style .input-box .text-error {
|
.new-style .input-box p.text-error {
|
||||||
|
display: block;
|
||||||
|
padding: 0px;
|
||||||
|
|
||||||
|
color: #d26666;
|
||||||
|
font-size: 0.7em;
|
||||||
|
font-weight: 600;
|
||||||
|
height: 0;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
top: -4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-style .input-box label.text-error {
|
||||||
display: block;
|
display: block;
|
||||||
|
|
||||||
top: 66px;
|
top: 66px;
|
||||||
@@ -360,14 +372,9 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.new-style .get-started {
|
.new-style .get-started {
|
||||||
height: 0px;
|
|
||||||
margin: 0px;
|
|
||||||
|
|
||||||
font-size: 2.5rem;
|
font-size: 2.5rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #666;
|
color: #666;
|
||||||
|
|
||||||
transform: translateY(-90px);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.new-style button {
|
.new-style button {
|
||||||
@@ -654,6 +661,8 @@ button.login-google-button {
|
|||||||
.split-view .left-side {
|
.split-view .left-side {
|
||||||
width: 500px;
|
width: 500px;
|
||||||
border-right: 1px solid #eee;
|
border-right: 1px solid #eee;
|
||||||
|
position: relative;
|
||||||
|
left: -1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.split-view .left-side + .right-side {
|
.split-view .left-side + .right-side {
|
||||||
@@ -742,10 +751,6 @@ button.login-google-button {
|
|||||||
.split-view .right-side {
|
.split-view .right-side {
|
||||||
width: 324px;
|
width: 324px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.new-style .get-started {
|
|
||||||
transform: translateY(-70px);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
|
|||||||
@@ -276,8 +276,7 @@ img.screenshot {
|
|||||||
|
|
||||||
#registration #pw_strength {
|
#registration #pw_strength {
|
||||||
width: 325px;
|
width: 325px;
|
||||||
height: 8px;
|
margin-top: 20px;
|
||||||
margin: -5px 0 0 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.def:before {
|
.def:before {
|
||||||
@@ -1233,7 +1232,7 @@ input.new-organization-button {
|
|||||||
|
|
||||||
.markdown {
|
.markdown {
|
||||||
max-width: 800px;
|
max-width: 800px;
|
||||||
margin: 20px auto;
|
margin: 20px auto 0px auto;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|||||||
@@ -11,70 +11,71 @@ $(function () {
|
|||||||
</script>
|
</script>
|
||||||
<div class="bg-image"></div>
|
<div class="bg-image"></div>
|
||||||
|
|
||||||
<div class="app register-page split-view flex full-page">
|
<div class="app register-page split-view flex full-page new-style">
|
||||||
<div class="app-main register-page-container">
|
<div class="inline-block">
|
||||||
<div class="register-form new-style">
|
<div class="lead">
|
||||||
<div class="lead">
|
<h1 class="get-started">{{ _("Sign up for Zulip") }}</h1>
|
||||||
<h1 class="get-started">{{ _("Sign up for Zulip") }}</h1>
|
</div>
|
||||||
</div>
|
<div class="app-main register-page-container">
|
||||||
{% if realm_name %}
|
<div class="register-form new-style">
|
||||||
<div class="left-side">
|
{% if realm_name %}
|
||||||
<div class="org-header">
|
<div class="left-side">
|
||||||
<div class="avatar" style="background-image: url('{{ realm_icon }}')"></div>
|
<div class="org-header">
|
||||||
<div class="info-box">
|
<div class="avatar" style="background-image: url('{{ realm_icon }}')"></div>
|
||||||
<div class="organization-name">{{ realm_name }}</div>
|
<div class="info-box">
|
||||||
<div class="organization-path">{{ realm_uri }}</div>
|
<div class="organization-name">{{ realm_name }}</div>
|
||||||
|
<div class="organization-path">{{ realm_uri }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="description">
|
||||||
|
{{ realm_description }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="description">
|
{% endif %}
|
||||||
{{ realm_description }}
|
<div class="right-side">
|
||||||
</div>
|
{% if no_auth_enabled %}
|
||||||
</div>
|
<div class="alert">
|
||||||
{% endif %}
|
<p>No authentication backends are enabled on this
|
||||||
<div class="right-side">
|
server yet, so it is impossible to register!</p>
|
||||||
{% if no_auth_enabled %}
|
|
||||||
<div class="alert">
|
|
||||||
<p>No authentication backends are enabled on this
|
|
||||||
server yet, so it is impossible to register!</p>
|
|
||||||
|
|
||||||
<p>See
|
<p>See
|
||||||
the <a href="http://zulip.readthedocs.io/en/latest/prod-install.html#step-3-configure-zulip">Zulip
|
the <a href="http://zulip.readthedocs.io/en/latest/prod-install.html#step-3-configure-zulip">Zulip
|
||||||
authentication documentation</a> to learn how to
|
authentication documentation</a> to learn how to
|
||||||
configure authentication backends.</p>
|
configure authentication backends.</p>
|
||||||
</div>
|
|
||||||
{% else %}
|
|
||||||
<form class="form-inline" id="send_confirm" name="email_form"
|
|
||||||
action="{{ current_url() }}" method="post">
|
|
||||||
{{ csrf_input }}
|
|
||||||
|
|
||||||
<div class="input-box no-validate">
|
|
||||||
<input type="email" id="email" class="email" name="email" value="" required />
|
|
||||||
<label>Email</label>
|
|
||||||
<div class="required"></div>
|
|
||||||
<img class="valid" src="/static/images/checkbox-valid.svg" />
|
|
||||||
</div>
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<form class="form-inline" id="send_confirm" name="email_form"
|
||||||
|
action="{{ current_url() }}" method="post">
|
||||||
|
{{ csrf_input }}
|
||||||
|
|
||||||
<button class="full-width" type="submit" name="">{{ _('Sign up') }}</button>
|
<div class="input-box no-validate">
|
||||||
</form>
|
<input type="email" id="email" class="email" name="email" value="" required />
|
||||||
|
<label>Email</label>
|
||||||
|
<div class="required"></div>
|
||||||
|
<img class="valid" src="/static/images/checkbox-valid.svg" />
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="errors"></div>
|
<button class="full-width" type="submit" name="">{{ _('Sign up') }}</button>
|
||||||
{% if form.email.errors %}
|
</form>
|
||||||
{% for error in form.email.errors %}
|
|
||||||
<div class="alert alert-error">{{ error }}</div>
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if google_auth_enabled %}
|
<div id="errors"></div>
|
||||||
<div class="or">or</div>
|
{% if form.email.errors %}
|
||||||
|
{% for error in form.email.errors %}
|
||||||
|
<div class="alert alert-error">{{ error }}</div>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div class="register-google">
|
{% if google_auth_enabled %}
|
||||||
<a href="{{ url('zerver.views.auth.start_google_oauth2') }}">
|
<div class="or">or</div>
|
||||||
<button class="login-google-button full-width">{{ _('Sign up with Google') }}</button>
|
|
||||||
</a>
|
<div class="register-google">
|
||||||
|
<a href="{{ url('zerver.views.auth.start_google_oauth2') }}">
|
||||||
|
<button class="login-google-button full-width">{{ _('Sign up with Google') }}</button>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,57 +4,62 @@
|
|||||||
<div class="bg-image"></div>
|
<div class="bg-image"></div>
|
||||||
|
|
||||||
<div class="app find-team-page flex full-page">
|
<div class="app find-team-page flex full-page">
|
||||||
<div class="app-main find-team-page-container new-style">
|
<div class="inline-block new-style">
|
||||||
<h3 class="get-started">{{ _("Find your team") }}…</h3>
|
<div class="lead">
|
||||||
{% if emails %}
|
<h1 class="get-started">{{ _("Find your team") }}…</h1>
|
||||||
<div id="results">
|
</div>
|
||||||
<p>
|
|
||||||
Emails sent! You will only receive emails at addresses associated
|
|
||||||
with Zulip organizations. The addresses entered on the previous page
|
|
||||||
are listed below:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<ul>
|
<div class="app-main find-team-page-container">
|
||||||
{% for email in emails %}
|
{% if emails %}
|
||||||
<li>{{ email }}</li>
|
<div id="results">
|
||||||
{% endfor %}
|
<p>
|
||||||
</ul>
|
Emails sent! You will only receive emails at addresses associated
|
||||||
|
with Zulip organizations. The addresses entered on the previous page
|
||||||
|
are listed below:
|
||||||
|
</p>
|
||||||
|
|
||||||
{% if development_environment %}
|
<ul>
|
||||||
<div class="alert alert-info" style="display:inline-block;">
|
{% for email in emails %}
|
||||||
{{ _("In the Zulip development environment, outgoing emails are printed to the run-dev.py console") }}
|
<li>{{ email }}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{% if development_environment %}
|
||||||
|
<div class="alert alert-info" style="display:inline-block;">
|
||||||
|
{{ _("In the Zulip development environment, outgoing emails are printed to the run-dev.py console") }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<div class="find-team-form">
|
||||||
|
<p>
|
||||||
|
We will send you an email with the sign-in information for
|
||||||
|
any Zulip organization(s) associated with the addresses you enter below.
|
||||||
|
</p>
|
||||||
|
<form class="form-inline" id="find_my_team" name="email_form"
|
||||||
|
action="{{ current_url() }}" method="post">
|
||||||
|
{{ csrf_input }}
|
||||||
|
<div class="input-box moving-label horizontal">
|
||||||
|
<div class="inline-block relative">
|
||||||
|
<input type="text" autofocus id="emails" name="emails" required />
|
||||||
|
<label for="id_username">{{ _('Email addresses') }}</label>
|
||||||
|
<div class="required"></div>
|
||||||
|
<img class="valid" src="/static/images/checkbox-valid.svg" />
|
||||||
|
</div>
|
||||||
|
<button type="submit">{{ _('Find team') }}</button>
|
||||||
|
</div>
|
||||||
|
<div><i>{{ form.emails.help_text }}</i></div>
|
||||||
|
</form>
|
||||||
|
<div id="errors"></div>
|
||||||
|
{% if form.emails.errors %}
|
||||||
|
{% for error in form.emails.errors %}
|
||||||
|
<div class="alert alert-error">{{ error }}</div>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
|
||||||
<div class="find-team-form">
|
|
||||||
<p>
|
|
||||||
We will send you an email with the sign-in information for
|
|
||||||
any Zulip organization(s) associated with the addresses you enter below.
|
|
||||||
</p>
|
|
||||||
<form class="form-inline" id="find_my_team" name="email_form"
|
|
||||||
action="{{ current_url() }}" method="post">
|
|
||||||
{{ csrf_input }}
|
|
||||||
<div class="input-box moving-label horizontal">
|
|
||||||
<div class="inline-block relative">
|
|
||||||
<input type="text" autofocus id="emails" name="emails" required />
|
|
||||||
<label for="id_username">{{ _('Email addresses') }}</label>
|
|
||||||
<div class="required"></div>
|
|
||||||
<img class="valid" src="/static/images/checkbox-valid.svg" />
|
|
||||||
</div>
|
|
||||||
<button type="submit">{{ _('Find team') }}</button>
|
|
||||||
</div>
|
|
||||||
<div><i>{{ form.emails.help_text }}</i></div>
|
|
||||||
</form>
|
|
||||||
<div id="errors"></div>
|
|
||||||
{% if form.emails.errors %}
|
|
||||||
{% for error in form.emails.errors %}
|
|
||||||
<div class="alert alert-error">{{ error }}</div>
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -41,125 +41,128 @@ autofocus('#id_username');
|
|||||||
|
|
||||||
|
|
||||||
<div class="app login-page split-view new-style flex full-page">
|
<div class="app login-page split-view new-style flex full-page">
|
||||||
<div class="app-main login-page-container inline-block">
|
<div class="inline-block">
|
||||||
<div class="lead">
|
<div class="lead">
|
||||||
<h1 class="get-started">{{ _("Sign in to Zulip") }}</h1>
|
<h1 class="get-started">{{ _("Sign in to Zulip") }}</h1>
|
||||||
</div>
|
</div>
|
||||||
{% if only_sso %}
|
|
||||||
{# SSO users don't have a password. #}
|
|
||||||
|
|
||||||
<div class="login-sso">
|
<div class="app-main login-page-container inline-block">
|
||||||
<a href="/accounts/login/sso" class="btn btn-large btn-primary">{{ _('Sign in with SSO') }}</a>
|
{% if only_sso %}
|
||||||
</div>
|
{# SSO users don't have a password. #}
|
||||||
|
|
||||||
{% else %}
|
<div class="login-sso">
|
||||||
{# Non-SSO users. #}
|
<a href="/accounts/login/sso" class="btn btn-large btn-primary">{{ _('Sign in with SSO') }}</a>
|
||||||
|
|
||||||
{% if realm_name %}
|
|
||||||
<div class="left-side">
|
|
||||||
<div class="org-header">
|
|
||||||
<div class="avatar" style="background-image: url('{{ realm_icon }}')"></div>
|
|
||||||
<div class="info-box">
|
|
||||||
<div class="organization-name">{{ realm_name }}</div>
|
|
||||||
<div class="organization-path">{{ realm_uri }}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="description">
|
|
||||||
{{ realm_description }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="right-side">
|
|
||||||
{% if no_auth_enabled %}
|
|
||||||
<div class="alert">
|
|
||||||
<p>No authentication backends are enabled on this
|
|
||||||
server yet, so it is impossible to login!</p>
|
|
||||||
|
|
||||||
<p>See
|
|
||||||
the <a href="http://zulip.readthedocs.io/en/latest/prod-install.html#step-3-configure-zulip">Zulip
|
|
||||||
authentication documentation</a> to learn how to
|
|
||||||
configure authentication backends.</p>
|
|
||||||
</div>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{% if password_auth_enabled %}
|
{# Non-SSO users. #}
|
||||||
<form name="login_form" id="login_form" method="post" class="login-form"
|
|
||||||
action="{{ url('django.contrib.auth.views.login') }}?next={{ next }}">
|
|
||||||
|
|
||||||
{{ csrf_input }}
|
{% if realm_name %}
|
||||||
|
<div class="left-side">
|
||||||
<!-- .no-validation is for removing the red star in CSS -->
|
<div class="org-header">
|
||||||
<div class="input-box no-validation">
|
<div class="avatar" style="background-image: url('{{ realm_icon }}')"></div>
|
||||||
<input id="id_username" type="email" name="username" class="email required"
|
<div class="info-box">
|
||||||
{% if email %} value="{{ email }}" {% else %} value="" {% endif %}
|
<div class="organization-name">{{ realm_name }}</div>
|
||||||
maxlength="72" required />
|
<div class="organization-path">{{ realm_uri }}</div>
|
||||||
<label for="id_username">{{ _('Email') }}</label>
|
</div>
|
||||||
<div class="required"></div>
|
|
||||||
<img class="valid" src="/static/images/checkbox-valid.svg" />
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="description">
|
||||||
<div class="input-box no-validation">
|
{{ realm_description }}
|
||||||
<input id="id_password" name="password" class="required" type="password" required />
|
|
||||||
<label for="id_password" class="control-label">{{ _('Password') }}</label>
|
|
||||||
<div class="required"></div>
|
|
||||||
<img class="valid" src="/static/images/checkbox-valid.svg" />
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if form.errors %}
|
|
||||||
<div class="alert alert-error">
|
|
||||||
{% for error in form.errors.values() %}
|
|
||||||
<div>{{ error | striptags }}</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if email %}
|
|
||||||
<div class="alert">
|
|
||||||
{{ _("You've already registered with this email address. Please sign in below.") }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if subdomain %}
|
|
||||||
<div class="alert">
|
|
||||||
{{ wrong_subdomain_error }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<button type="submit" name="button" class="full-width">{{ _("Sign in") }}</button>
|
|
||||||
</form>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if any_oauth_backend_enabled %}
|
|
||||||
<div class="or">or</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if google_auth_enabled %}
|
|
||||||
<div class="login-google">
|
|
||||||
<a href="{{ url('zerver.views.auth.start_google_oauth2') }}">
|
|
||||||
<button class="login-google-button">{{ _('Sign in with Google') }}</button>
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if github_auth_enabled %}
|
<div class="right-side">
|
||||||
<div class="login-github">
|
{% if no_auth_enabled %}
|
||||||
<a href="{{ url('login-social', args=('github',)) }}" class="github-wrapper">
|
<div class="alert">
|
||||||
<button class="login-github-button github">
|
<p>No authentication backends are enabled on this
|
||||||
<span>{{ _('Sign in with GitHub') }}</span>
|
server yet, so it is impossible to login!</p>
|
||||||
</button>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="actions">
|
<p>See
|
||||||
<a class="forgot-password" href="/accounts/password/reset/">Forgot your password?</a>
|
the <a href="http://zulip.readthedocs.io/en/latest/prod-install.html#step-3-configure-zulip">Zulip
|
||||||
{% if not register_link_disabled %}
|
authentication documentation</a> to learn how to
|
||||||
<a class="register-link float-right" href="/register/">Register</a>
|
configure authentication backends.</p>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
{% if password_auth_enabled %}
|
||||||
|
<form name="login_form" id="login_form" method="post" class="login-form"
|
||||||
|
action="{{ url('django.contrib.auth.views.login') }}?next={{ next }}">
|
||||||
|
|
||||||
|
{{ csrf_input }}
|
||||||
|
|
||||||
|
<!-- .no-validation is for removing the red star in CSS -->
|
||||||
|
<div class="input-box no-validation">
|
||||||
|
<input id="id_username" type="email" name="username" class="email required"
|
||||||
|
{% if email %} value="{{ email }}" {% else %} value="" {% endif %}
|
||||||
|
maxlength="72" required />
|
||||||
|
<label for="id_username">{{ _('Email') }}</label>
|
||||||
|
<div class="required"></div>
|
||||||
|
<img class="valid" src="/static/images/checkbox-valid.svg" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-box no-validation">
|
||||||
|
<input id="id_password" name="password" class="required" type="password" required />
|
||||||
|
<label for="id_password" class="control-label">{{ _('Password') }}</label>
|
||||||
|
<div class="required"></div>
|
||||||
|
<img class="valid" src="/static/images/checkbox-valid.svg" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if form.errors %}
|
||||||
|
<div class="alert alert-error">
|
||||||
|
{% for error in form.errors.values() %}
|
||||||
|
<div>{{ error | striptags }}</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if email %}
|
||||||
|
<div class="alert">
|
||||||
|
{{ _("You've already registered with this email address. Please sign in below.") }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if subdomain %}
|
||||||
|
<div class="alert">
|
||||||
|
{{ wrong_subdomain_error }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<button type="submit" name="button" class="full-width">{{ _("Sign in") }}</button>
|
||||||
|
</form>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if any_oauth_backend_enabled %}
|
||||||
|
<div class="or">or</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if google_auth_enabled %}
|
||||||
|
<div class="login-google">
|
||||||
|
<a href="{{ url('zerver.views.auth.start_google_oauth2') }}">
|
||||||
|
<button class="login-google-button">{{ _('Sign in with Google') }}</button>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if github_auth_enabled %}
|
||||||
|
<div class="login-github">
|
||||||
|
<a href="{{ url('login-social', args=('github',)) }}" class="github-wrapper">
|
||||||
|
<button class="login-github-button github">
|
||||||
|
<span>{{ _('Sign in with GitHub') }}</span>
|
||||||
|
</button>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="actions">
|
||||||
|
<a class="forgot-password" href="/accounts/password/reset/">Forgot your password?</a>
|
||||||
|
{% if not register_link_disabled %}
|
||||||
|
<a class="register-link float-right" href="/register/">Register</a>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="footer-padder"></div>
|
<div class="footer-padder"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ Form is validated both client-side using jquery-validate (see signup.js) and ser
|
|||||||
<div class="help-inline text-error">{{ error }}</div>
|
<div class="help-inline text-error">{{ error }}</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<br />
|
|
||||||
<div class="progress" id="pw_strength" title="{{ _('Password strength') }}">
|
<div class="progress" id="pw_strength" title="{{ _('Password strength') }}">
|
||||||
<div class="bar bar-danger" style="width: 10%;"></div>
|
<div class="bar bar-danger" style="width: 10%;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,37 +2,42 @@
|
|||||||
{% block portico_content %}
|
{% block portico_content %}
|
||||||
|
|
||||||
<div class="bg-image"></div>
|
<div class="bg-image"></div>
|
||||||
<div class="app-main forgot-password-container new-style">
|
|
||||||
<div class="bg-image"></div>
|
|
||||||
|
|
||||||
<div class="lead">
|
<div class="flex new-style app portico-page">
|
||||||
<h3 class="get-started">{{ _('Reset your password') }}</h3>
|
<div class="inline-block">
|
||||||
</div>
|
<div class="lead">
|
||||||
|
<h1 class="get-started">{{ _('Reset your password') }}</h1>
|
||||||
<p>Forgot your password? No problem, we'll send a link to reset your password to the email you signed up with.</p>
|
|
||||||
|
|
||||||
<form method="post" class="form-horizontal" action="{{ url('django.contrib.auth.views.password_reset') }}">
|
|
||||||
{{ csrf_input }}
|
|
||||||
<div class="new-style">
|
|
||||||
<div class="input-box horizontal moving-label">
|
|
||||||
<div class="inline-block relative">
|
|
||||||
<input id="id_email" class="required" type="text" name="email"
|
|
||||||
value="{% if form.email.value() %}{{ form.email.value() }}{% endif %}"
|
|
||||||
maxlength="100" required />
|
|
||||||
<label for="id_email" class="">{{ _('Email') }}</label>
|
|
||||||
<div class="required"></div>
|
|
||||||
<img class="valid" src="/static/images/checkbox-valid.svg" />
|
|
||||||
{% if form.email.errors %}
|
|
||||||
{% for error in form.email.errors %}
|
|
||||||
<div class="alert alert-error">{{ error }}</div>
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
<button type="submit">{{ _('Reset password') }}</button>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
|
<div class="app-main forgot-password-container new-style">
|
||||||
|
<div class="bg-image"></div>
|
||||||
|
|
||||||
|
<p>Forgot your password? No problem, we'll send a link to reset your password to the email you signed up with.</p>
|
||||||
|
|
||||||
|
<form method="post" class="form-horizontal" action="{{ url('django.contrib.auth.views.password_reset') }}">
|
||||||
|
{{ csrf_input }}
|
||||||
|
<div class="new-style">
|
||||||
|
<div class="input-box horizontal moving-label">
|
||||||
|
<div class="inline-block relative">
|
||||||
|
<input id="id_email" class="required" type="text" name="email"
|
||||||
|
value="{% if form.email.value() %}{{ form.email.value() }}{% endif %}"
|
||||||
|
maxlength="100" required />
|
||||||
|
<label for="id_email" class="">{{ _('Email') }}</label>
|
||||||
|
<div class="required"></div>
|
||||||
|
<img class="valid" src="/static/images/checkbox-valid.svg" />
|
||||||
|
{% if form.email.errors %}
|
||||||
|
{% for error in form.email.errors %}
|
||||||
|
<div class="alert alert-error">{{ error }}</div>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<button type="submit">{{ _('Reset password') }}</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|||||||
Reference in New Issue
Block a user