Browse Source

Fix login separator.

pull/1117/head
Sebastian Stehle 2 years ago
parent
commit
5566435ddc
  1. 161
      backend/src/Squidex/Areas/IdentityServer/Views/Account/Login.cshtml
  2. 87
      backend/src/Squidex/Areas/IdentityServer/Views/Setup/Setup.cshtml
  3. 12
      frontend/src/app/theme/_static.scss

161
backend/src/Squidex/Areas/IdentityServer/Views/Account/Login.cshtml

@ -32,101 +32,110 @@
</div>
</div>
<form asp-controller="Account" asp-action="External" asp-route-returnurl="@Model.ReturnUrl" method="post">
@Html.AntiForgeryToken()
@foreach (var provider in Model.ExternalProviders)
<div>
@if (Model.HasExternalLogin)
{
var schema = provider.AuthenticationScheme.ToLowerInvariant();
<form asp-controller="Account" asp-action="External" asp-route-returnurl="@Model.ReturnUrl" method="post">
@Html.AntiForgeryToken()
<div class="form-group mb-2">
<button class="btn external-button btn-block btn btn-@schema" type="submit" name="provider" value="@provider.AuthenticationScheme">
<i class="icon-@schema external-icon"></i> @Html.Raw(T.Get("users.login.loginWith", new { action, provider = provider.DisplayName }))
</button>
</div>
@foreach (var provider in Model.ExternalProviders)
{
var schema = provider.AuthenticationScheme.ToLowerInvariant();
<div class="form-group mb-2">
<button class="btn external-button btn-block btn btn-@schema" type="submit" name="provider" value="@provider.AuthenticationScheme">
<i class="icon-@schema external-icon"></i> @Html.Raw(T.Get("users.login.loginWith", new { action, provider = provider.DisplayName }))
</button>
</div>
}
</form>
}
</form>
@if (Model.HasPasswordAuth)
{
<div class="profile-separator">
<div class="profile-separator-text">@T.Get("users.login.separator")</div>
</div>
if (Model.IsLogin)
{
@if (Model.RequestType == RequestType.Login)
{
<div asp-validation-summary="ModelOnly" class="form-alert form-alert-error"></div>
}
<form asp-controller="Account" asp-action="Login" asp-route-returnurl="@Model.ReturnUrl" method="post">
@Html.AntiForgeryToken()
<div class="form-group">
<div error-for="Email"></div>
<input asp-for="Email" type="email" class="form-control" placeholder="@T.Get("users.login.emailPlaceholder")" />
</div>
<div class="form-group">
<div error-for="Password"></div>
<input asp-for="Password" type="password" class="form-control" placeholder="@T.Get("users.login.passwordPlaceholder")" />
</div>
<button type="submit" data-testid="login-button" class="btn btn-block btn-primary">@action</button>
</form>
}
else
@if (Model.HasPasswordAuth)
{
<div class="profile-password-signup text-center">@T.Get("users.login.askAdmin")</div>
<div>
@if (Model.IsLogin)
{
@if (Model.RequestType == RequestType.Login)
{
<div asp-validation-summary="ModelOnly" class="form-alert form-alert-error"></div>
}
<form asp-controller="Account" asp-action="Login" asp-route-returnurl="@Model.ReturnUrl" method="post">
@Html.AntiForgeryToken()
<div class="form-group">
<div error-for="Email"></div>
<input asp-for="Email" type="email" class="form-control" placeholder="@T.Get("users.login.emailPlaceholder")" />
</div>
<div class="form-group">
<div error-for="Password"></div>
<input asp-for="Password" type="password" class="form-control" placeholder="@T.Get("users.login.passwordPlaceholder")" />
</div>
<button type="submit" data-testid="login-button" class="btn btn-block btn-primary">@action</button>
</form>
}
else
{
<div class="profile-password-signup text-center">@T.Get("users.login.askAdmin")</div>
}
</div>
}
}
@if (Model.HasCustomAuth && Model.IsLogin)
{
<div class="profile-separator">
<div class="profile-separator-text">@T.Get("users.login.separator")</div>
</div>
@if (Model.RequestType == RequestType.LoginCustom)
@if (Model.HasCustomAuth && Model.IsLogin)
{
<div asp-validation-summary="ModelOnly" class="form-alert form-alert-error"></div>
}
<div>
@if (Model.RequestType == RequestType.LoginCustom)
{
<div asp-validation-summary="ModelOnly" class="form-alert form-alert-error"></div>
}
<div class="mb-2">
<small class="text-muted form-text">@T.Get("users.login.custom")</small>
</div>
<div class="mb-2">
<small class="text-muted form-text">@T.Get("users.login.custom")</small>
</div>
<form asp-controller="Account" asp-action="LoginDynamic" asp-route-returnurl="@Model.ReturnUrl" method="post">
@Html.AntiForgeryToken()
<form asp-controller="Account" asp-action="LoginDynamic" asp-route-returnurl="@Model.ReturnUrl" method="post">
@Html.AntiForgeryToken()
<div class="form-group">
<div error-for="DynamicEmail"></div>
<input asp-for="DynamicEmail" type="email" class="form-control" placeholder="@T.Get("users.login.emailBusinessPlaceholder")" />
<div class="form-group">
<div error-for="DynamicEmail"></div>
<input asp-for="DynamicEmail" type="email" class="form-control" placeholder="@T.Get("users.login.emailBusinessPlaceholder")" />
</div>
<button type="submit" data-testid="dynamic-button" class="btn btn-block btn-primary">@action</button>
</form>
</div>
}
@if (Model.IsLogin)
{
<p class="profile-footer">
@T.Get("users.login.noAccountSignupQuestion")
<a asp-controller="Account" asp-action="Signup" asp-route-returnurl="@Model.ReturnUrl">
@T.Get("users.login.noAccountSignupAction")
</a>
</p>
}
else
{
<p class="profile-footer">
@T.Get("users.login.noAccountLoginQuestion")
<button type="submit" data-testid="dynamic-button" class="btn btn-block btn-primary">@action</button>
</form>
}
@if (Model.IsLogin)
{
<p class="profile-footer">
@T.Get("users.login.noAccountSignupQuestion")
<a asp-controller="Account" asp-action="Signup" asp-route-returnurl="@Model.ReturnUrl">
@T.Get("users.login.noAccountSignupAction")
</a>
</p>
}
else
{
<p class="profile-footer">
@T.Get("users.login.noAccountLoginQuestion")
<a asp-controller="Account" asp-action="Login" asp-route-returnurl="@Model.ReturnUrl">
@T.Get("users.login.noAccountLoginAction")
</a>
</p>
}
<a asp-controller="Account" asp-action="Login" asp-route-returnurl="@Model.ReturnUrl">
@T.Get("users.login.noAccountLoginAction")
</a>
</p>
}
</div>
</div>

87
backend/src/Squidex/Areas/IdentityServer/Views/Setup/Setup.cshtml

@ -118,66 +118,67 @@
<div class="profile-section">
<h2 class="mb-3">@T.Get("setup.createUser.headline")</h2>
@if (Model.HasExternalLogin)
{
<div>
<small class="form-text text-muted mt-2 mb-2">@T.Get("setup.createUser.loginHint")</small>
<div>
@if (Model.HasExternalLogin)
{
<div>
<small class="form-text text-muted mt-2 mb-2">@T.Get("setup.createUser.loginHint")</small>
<div class="mt-3">
<a class="btn btn-primary force-white" asp-controller="Account" asp-action="Login">
@T.Get("setup.createUser.loginLink")
</a>
<div class="mt-3">
<a class="btn btn-primary force-white" asp-controller="Account" asp-action="Login">
@T.Get("setup.createUser.loginLink")
</a>
</div>
</div>
</div>
}
}
@if (Model.HasExternalLogin && Model.HasPasswordAuth)
{
<div class="profile-separator">
<div class="profile-separator-text">@T.Get("setup.createUser.separator")</div>
</div>
}
@if (Model.HasPasswordAuth)
{
<h3>@T.Get("setup.createUser.headlineCreate")</h3>
<div class="profile-separator-text">@T.Get("setup.createUser.separator")</div>
</div>
@if (!string.IsNullOrWhiteSpace(Model.ErrorMessage))
@if (Model.HasPasswordAuth)
{
<div class="form-alert form-alert-error">
<div>
<h3>@T.Get("setup.createUser.headlineCreate")</h3>
@if (!string.IsNullOrWhiteSpace(Model.ErrorMessage))
{
<div class="form-alert form-alert-error">
@Model.ErrorMessage
</div>
}
}
<form class="profile-form" asp-controller="Setup" asp-action="Setup" method="post">
@Html.AntiForgeryToken()
<form class="profile-form" asp-controller="Setup" asp-action="Setup" method="post">
@Html.AntiForgeryToken()
<div class="form-group">
<label asp-for="Email">@T.Get("common.email")</label>
<div class="form-group">
<label asp-for="Email">@T.Get("common.email")</label>
<div error-for="Email"></div>
<input asp-for="Email" type="text" class="form-control" />
</div>
<div error-for="Email"></div>
<input asp-for="Email" type="text" class="form-control" />
</div>
<div class="form-group">
<label asp-for="Password">@T.Get("common.password")</label>
<div class="form-group">
<label asp-for="Password">@T.Get("common.password")</label>
<div error-for="Password"></div>
<input asp-for="Password" type="password" class="form-control" />
</div>
<div error-for="Password"></div>
<input asp-for="Password" type="password" class="form-control" />
</div>
<div class="form-group">
<label asp-for="PasswordConfirm">@T.Get("setup.createUser.confirmPassword")</label>
<div class="form-group">
<label asp-for="PasswordConfirm">@T.Get("setup.createUser.confirmPassword")</label>
<div error-for="PasswordConfirm"></div>
<input asp-for="PasswordConfirm" type="password" class="form-control" />
</div>
<div error-for="PasswordConfirm"></div>
<input asp-for="PasswordConfirm" type="password" class="form-control" />
</div>
<div class="form-group mb-0">
<button type="submit" class="btn btn-success">@T.Get("setup.createUser.button")</button>
<div class="form-group mb-0">
<button type="submit" class="btn btn-success">@T.Get("setup.createUser.button")</button>
</div>
</form>
</div>
</form>
}
}
</div>
@if (!Model.HasExternalLogin && !Model.HasPasswordAuth)
{

12
frontend/src/app/theme/_static.scss

@ -100,6 +100,18 @@ noscript {
margin-right: auto;
text-align: center;
width: 10rem;
&:last-child {
display: none;
}
&:first-child {
display: none;
}
& + & {
display: none;
}
}
&-text {

Loading…
Cancel
Save