mirror of
https://github.com/getnamingo/registry.git
synced 2025-06-27 22:53:34 +02:00
Login page fixes and UI cleanup
This commit is contained in:
parent
a8be1a3c30
commit
7fc56f3866
8 changed files with 34 additions and 952 deletions
|
@ -15,68 +15,6 @@ use Psr\Http\Message\ServerRequestInterface as Request;
|
||||||
*/
|
*/
|
||||||
class AuthController extends Controller
|
class AuthController extends Controller
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @param Request $request
|
|
||||||
* @param Response $response
|
|
||||||
* @return mixed
|
|
||||||
* @throws \DI\DependencyException
|
|
||||||
* @throws \DI\NotFoundException
|
|
||||||
*/
|
|
||||||
public function createRegister(Request $request, Response $response){
|
|
||||||
return view($response,'auth/register.twig');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Request $request
|
|
||||||
* @param Response $response
|
|
||||||
* @return Response
|
|
||||||
* @throws \DI\DependencyException
|
|
||||||
* @throws \DI\NotFoundException
|
|
||||||
* @throws \Pinga\Auth\AuthError
|
|
||||||
*/
|
|
||||||
public function register(Request $request, Response $response){
|
|
||||||
|
|
||||||
$validation = $this->validator->validate($request, [
|
|
||||||
'email' => v::noWhitespace()->notEmpty()->email(),
|
|
||||||
'username' => v::noWhitespace()->notEmpty()->alnum(),
|
|
||||||
'password' => v::notEmpty()->stringType()->length(8),
|
|
||||||
]);
|
|
||||||
|
|
||||||
if ($validation->failed()) {
|
|
||||||
redirect()->route('register');
|
|
||||||
//or
|
|
||||||
//return $response->withHeader('Location', route('register'));
|
|
||||||
}
|
|
||||||
$data = $request->getParsedBody();
|
|
||||||
$auth =Auth::create($data['email'],$data['password'],$data['username']);
|
|
||||||
if($auth) {
|
|
||||||
$msg = '<a href="'.route('verify.email.resend',[],['email'=>$data['email']]).'">Resend email</a>';
|
|
||||||
flash('success', 'We have send you a verification link to '.$data['email'].' <br>'.$msg);
|
|
||||||
return $response->withHeader('Location', route('login'));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Request $request
|
|
||||||
* @param Response $response
|
|
||||||
*/
|
|
||||||
public function verifyEmailResend(Request $request, Response $response){
|
|
||||||
$data = $request->getQueryParams();
|
|
||||||
Auth::ResendVerification($data['email']);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Request $request
|
|
||||||
* @param Response $response
|
|
||||||
* @throws \Pinga\Auth\AuthError
|
|
||||||
*/
|
|
||||||
public function verifyEmail(Request $request, Response $response){
|
|
||||||
//confirm email
|
|
||||||
$data = $request->getQueryParams();
|
|
||||||
Auth::verifyEmail($data['selector'], $data['token']);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @param Response $response
|
* @param Response $response
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
<!-- Verification Code Input -->
|
<!-- Verification Code Input -->
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="verificationCode" class="form-label">Verification Code</label>
|
<label for="verificationCode" class="form-label">Verification Code</label>
|
||||||
<input type="text" class="form-control" id="verificationCode" name="verificationCode" placeholder="Enter code">
|
<input type="number" class="form-control" id="verificationCode" name="verificationCode" placeholder="Enter code">
|
||||||
<small class="form-text text-muted">
|
<small class="form-text text-muted">
|
||||||
Enter the code generated by your authentication app. This code verifies that your 2FA setup is working correctly. Once entered, click 'Save 2FA Settings' to activate two-factor authentication for your account.
|
Enter the code generated by your authentication app. This code verifies that your 2FA setup is working correctly. Once entered, click 'Save 2FA Settings' to activate two-factor authentication for your account.
|
||||||
</small>
|
</small>
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<label class="form-label">Email address</label>
|
<label class="form-label">Email address</label>
|
||||||
<input name="email" type="email" class="form-control" placeholder="your@email.com" autocomplete="off">
|
<input name="email" type="email" class="form-control" placeholder="your@email.com" autocomplete="off">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-2">
|
<div class="mb-3">
|
||||||
<label class="form-label">
|
<label class="form-label">
|
||||||
Password
|
Password
|
||||||
<span class="form-label-description">
|
<span class="form-label-description">
|
||||||
|
@ -33,6 +33,10 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="mb-2">
|
||||||
|
<label class="form-label">2FA Code</label>
|
||||||
|
<input name="code" type="number" class="form-control" autocomplete="off">
|
||||||
|
</div>
|
||||||
<div class="mb-2">
|
<div class="mb-2">
|
||||||
<label class="form-check">
|
<label class="form-check">
|
||||||
<input name="remember" value="remember" id="remember" type="checkbox" class="form-check-input"/>
|
<input name="remember" value="remember" id="remember" type="checkbox" class="form-check-input"/>
|
||||||
|
@ -44,29 +48,35 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="hr-text">or</div>
|
||||||
<div class="text-center text-muted mt-3">
|
<div class="card-body">
|
||||||
Don't have account yet? <a href="{{route('register')}}" tabindex="-1">Sign up</a>
|
<div class="row">
|
||||||
|
<div class="col"><a href="#" class="btn btn-secondary w-100">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0z" /><path d="M15 9h.01" /></svg>
|
||||||
|
Login with WebAuthn
|
||||||
|
</a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>const passwordInput = document.querySelector('input[name="password"]');
|
<script>const passwordInput = document.querySelector('input[name="password"]');
|
||||||
const togglePasswordBtn = document.querySelector('.input-group-text a');
|
const togglePasswordBtn = document.querySelector('.input-group-text a');
|
||||||
|
|
||||||
togglePasswordBtn.addEventListener('click', function() {
|
togglePasswordBtn.addEventListener('click', function() {
|
||||||
const type = passwordInput.getAttribute('type') === 'password' ? 'text' : 'password';
|
const type = passwordInput.getAttribute('type') === 'password' ? 'text' : 'password';
|
||||||
passwordInput.setAttribute('type', type);
|
passwordInput.setAttribute('type', type);
|
||||||
|
|
||||||
const svg = togglePasswordBtn.querySelector('svg');
|
const svg = togglePasswordBtn.querySelector('svg');
|
||||||
const title = togglePasswordBtn.getAttribute('title');
|
const title = togglePasswordBtn.getAttribute('title');
|
||||||
|
|
||||||
if (type === 'text') {
|
if (type === 'text') {
|
||||||
svg.innerHTML = '<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M3 3l18 18"></path><path d="M10.584 10.587a2 2 0 0 0 2.828 2.83"></path><path d="M9.363 5.365a9.466 9.466 0 0 1 2.637 -.365c4 0 7.333 2.333 10 7c-.778 1.361 -1.612 2.524 -2.503 3.488m-2.14 1.861c-1.631 1.1 -3.415 1.651 -5.357 1.651c-4 0 -7.333 -2.333 -10 -7c1.369 -2.395 2.913 -4.175 4.632 -5.341"></path>';
|
svg.innerHTML = '<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M3 3l18 18"></path><path d="M10.584 10.587a2 2 0 0 0 2.828 2.83"></path><path d="M9.363 5.365a9.466 9.466 0 0 1 2.637 -.365c4 0 7.333 2.333 10 7c-.778 1.361 -1.612 2.524 -2.503 3.488m-2.14 1.861c-1.631 1.1 -3.415 1.651 -5.357 1.651c-4 0 -7.333 -2.333 -10 -7c1.369 -2.395 2.913 -4.175 4.632 -5.341"></path>';
|
||||||
togglePasswordBtn.setAttribute('title', 'Hide password');
|
togglePasswordBtn.setAttribute('title', 'Hide password');
|
||||||
} else {
|
} else {
|
||||||
svg.innerHTML = '<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M12 12m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M22 12c-2.667 4.667 -6 7 -10 7s-7.333 -2.333 -10 -7c2.667 -4.667 6 -7 10 -7s7.333 2.333 10 7"></path>';
|
svg.innerHTML = '<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M12 12m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M22 12c-2.667 4.667 -6 7 -10 7s-7.333 -2.333 -10 -7c2.667 -4.667 6 -7 10 -7s7.333 2.333 10 7"></path>';
|
||||||
togglePasswordBtn.setAttribute('title', 'Show password');
|
togglePasswordBtn.setAttribute('title', 'Show password');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -1,236 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<title>Confirm Email</title>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<style type="text/css">
|
|
||||||
#outlook a {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.ReadMsgBody {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.ExternalClass {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.ExternalClass * {
|
|
||||||
line-height: 100%;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
-webkit-text-size-adjust: 100%;
|
|
||||||
-ms-text-size-adjust: 100%;
|
|
||||||
}
|
|
||||||
table,
|
|
||||||
td {
|
|
||||||
border-collapse: collapse;
|
|
||||||
mso-table-lspace: 0pt;
|
|
||||||
mso-table-rspace: 0pt;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
border: 0;
|
|
||||||
height: auto;
|
|
||||||
line-height: 100%;
|
|
||||||
outline: none;
|
|
||||||
text-decoration: none;
|
|
||||||
-ms-interpolation-mode: bicubic;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
display: block;
|
|
||||||
margin: 13px 0;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<style type="text/css">
|
|
||||||
@media only screen and (max-width:480px) {
|
|
||||||
@-ms-viewport {
|
|
||||||
width: 320px;
|
|
||||||
}
|
|
||||||
@viewport {
|
|
||||||
width: 320px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<!--<![endif]-->
|
|
||||||
<!--[if mso]>
|
|
||||||
<xml>
|
|
||||||
<o:OfficeDocumentSettings>
|
|
||||||
<o:AllowPNG/>
|
|
||||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
|
||||||
</o:OfficeDocumentSettings>
|
|
||||||
</xml>
|
|
||||||
<![endif]-->
|
|
||||||
<!--[if lte mso 11]>
|
|
||||||
<style type="text/css">
|
|
||||||
.outlook-group-fix { width:100% !important; }
|
|
||||||
</style>
|
|
||||||
<![endif]-->
|
|
||||||
<style type="text/css">
|
|
||||||
@media only screen and (min-width:480px) {
|
|
||||||
.mj-column-per-100 {
|
|
||||||
width: 100% !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<style type="text/css">
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body style="background-color:#f9f9f9;">
|
|
||||||
<div style="background-color:#f9f9f9;">
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" style="width:600px;" width="600">
|
|
||||||
<tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
<div style="background:#f9f9f9;background-color:#f9f9f9;Margin:0px auto;max-width:600px;">
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#f9f9f9;background-color:#f9f9f9;width:100%;">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td style="border-bottom:#333957 solid 5px;direction:ltr;font-size:0px;padding:20px 0;text-align:center;vertical-align:top;">
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0">
|
|
||||||
<tr>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<![endif]-->
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" style="width:600px;" width="600">
|
|
||||||
<tr>
|
|
||||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
|
|
||||||
<div style="background:#fff;background-color:#fff;Margin:0px auto;max-width:600px;">
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#fff;background-color:#fff;width:100%;">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td style="border:#dddddd solid 1px;border-top:0px;direction:ltr;font-size:0px;padding:20px 0;text-align:center;vertical-align:top;">
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0">
|
|
||||||
<tr>
|
|
||||||
<td style="vertical-align:bottom;width:600px;">
|
|
||||||
<![endif]-->
|
|
||||||
<div class="mj-column-per-100 outlook-group-fix" style="font-size:13px;text-align:left;direction:ltr;display:inline-block;vertical-align:bottom;width:100%;">
|
|
||||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:bottom;" width="100%">
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:collapse;border-spacing:0px;">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td style="width:64px;">
|
|
||||||
|
|
||||||
<img height="auto" src="https://i.imgur.com/KO1vcE9.png" style="border:0;display:block;outline:none;text-decoration:none;width:100%;" width="64" />
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px 25px;padding-bottom:40px;word-break:break-word;">
|
|
||||||
<div style="font-family:'Helvetica Neue',Arial,sans-serif;font-size:32px;font-weight:bold;line-height:1;text-align:center;color:#555;">
|
|
||||||
Please confirm your email
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px 25px;padding-bottom:20px;word-break:break-word;">
|
|
||||||
|
|
||||||
<div style="font-family:'Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:22px;text-align:center;color:#555;">
|
|
||||||
Follow the link bellow to verify your email address to start using
|
|
||||||
<br>
|
|
||||||
<b>{app_name}</b>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px 25px;padding-top:30px;padding-bottom:40px;word-break:break-word;">
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:separate;line-height:100%;">
|
|
||||||
<tr>
|
|
||||||
<td align="center" bgcolor="#2F67F6" role="presentation" style="border:none;border-radius:3px;color:#ffffff;cursor:auto;padding:15px 25px;" valign="middle">
|
|
||||||
<p style="background:#2F67F6;color:#ffffff;font-family:'Helvetica Neue',Arial,sans-serif;font-size:15px;font-weight:normal;line-height:120%;Margin:0;text-decoration:none;text-transform:none;">
|
|
||||||
<a href="{link}" style="color: #ffffff; text-decoration: none">Confirm Your Email</a>
|
|
||||||
</p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px 25px;padding-bottom:0;word-break:break-word;">
|
|
||||||
<div style="font-family:'Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:22px;text-align:center;color:#555;">
|
|
||||||
Or verify using this link:
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px 25px;padding-bottom:40px;word-break:break-word;">
|
|
||||||
<div style="font-family:'Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:22px;text-align:center;color:#555;">
|
|
||||||
<a href="{link}" style="color:#2F67F6">{link}</a>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
|
||||||
<div style="font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:22px;text-align:center;color:#555;">
|
|
||||||
Please send and feedback or bug info<br> to <a href="mailto:info@example.com" style="color:#2F67F6">info@example.com</a>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<![endif]-->
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" style="width:600px;" width="600">
|
|
||||||
<tr>
|
|
||||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,216 +0,0 @@
|
||||||
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
|
|
||||||
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;"><title>Alsco Forms</title><style>
|
|
||||||
body{width: 100%; background-color: #f0f0f0; margin:0; padding:0; mso-margin-top-alt:0px; mso-margin-bottom-alt:0px; mso-padding-alt: 0px 0px 0px 0px;}
|
|
||||||
p,h1,h2,h3,h4{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;}
|
|
||||||
span.preheader{display: none; font-size: 1px;}
|
|
||||||
html{width: 100%;}
|
|
||||||
table{font-size: 12px;border: 0;}
|
|
||||||
.menu-space{padding-right:25px;}
|
|
||||||
a,a:hover { text-decoration:none; color:#FFF;}
|
|
||||||
@media only screen and (max-width:640px)
|
|
||||||
{
|
|
||||||
body{width:auto!important;}
|
|
||||||
table[class=main] {width:440px !important;}
|
|
||||||
table[class=two-left] {width:420px !important; margin:0px auto;}
|
|
||||||
table[class=full] {width:100% !important; margin:0px auto;}
|
|
||||||
table[class=alaine] { text-align:center;}
|
|
||||||
table[class=menu-space] {padding-right:0px;}
|
|
||||||
table[class=banner] {width:438px !important;}
|
|
||||||
table[class=menu] {width:438px !important; margin:0px auto; border-bottom:#e1e0e2 solid 1px;}
|
|
||||||
table[class=date] {width:438px !important; margin:0px auto; text-align:center;}
|
|
||||||
table[class=two-left-inner] {width:400px !important; margin:0px auto;}
|
|
||||||
table[class=menu-icon] { display:block;}
|
|
||||||
table[class=two-left-menu] {text-align:center;}
|
|
||||||
}
|
|
||||||
@media only screen and (max-width:479px)
|
|
||||||
{
|
|
||||||
body{width:auto!important;}
|
|
||||||
table[class=main] {width:310px !important;}
|
|
||||||
table[class=two-left] {width:300px !important; margin:0px auto;}
|
|
||||||
table[class=full] {width:100% !important; margin:0px auto;}
|
|
||||||
table[class=alaine] { text-align:center;}
|
|
||||||
table[class=menu-space] {padding-right:0px;}
|
|
||||||
table[class=banner] {width:308px !important;}
|
|
||||||
table[class=menu] {width:308px !important; margin:0px auto; border-bottom:#e1e0e2 solid 1px;}
|
|
||||||
table[class=date] {width:308px !important; margin:0px auto; text-align:center;}
|
|
||||||
table[class=two-left-inner] {width:280px !important; margin:0px auto;}
|
|
||||||
table[class=menu-icon] { display:none;}
|
|
||||||
table[class=two-left-menu] {width:310px !important; margin:0px auto;}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body marginwidth="0" marginheight="0" style="margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; width: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;" offset="0" topmargin="0" leftmargin="0"><table width="100%" bgcolor="#f0f0f0" border="0" cellspacing="0" cellpadding="0" data-module="notemail-1" data-bgcolor="BodyBg">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="middle">
|
|
||||||
<!--Top Space Start-->
|
|
||||||
|
|
||||||
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="top">
|
|
||||||
<table width="600" align="center" class="main" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td height="40" align="center" valign="middle" style="line-height:40px; font-size:40px;">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<!--Top Space End-->
|
|
||||||
|
|
||||||
<!--Logo Part Start-->
|
|
||||||
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="top">
|
|
||||||
<table width="600" align="center" class="main" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="middle">
|
|
||||||
<table width="165" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="middle">
|
|
||||||
<a href="#"><img style="width: 200px;" alt="" src="{{url()}}"></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td height="10" align="center" valign="middle" style="line-height:10px; font-size:10px;">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<!--Logo Part End-->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--Content Part Start-->
|
|
||||||
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="top">
|
|
||||||
<table width="600" align="center" class="main" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="middle" bgcolor="#ffffff">
|
|
||||||
<table width="350" class="two-left-inner" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td height="80" align="center" valign="middle" style="line-height:80px; font-size:80px;">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td height="20" align="center" valign="middle" style="line-height:20px; font-size:20px;">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="middle" style="font-family: Cambria, 'Hoefler Text', 'Liberation Serif', Times, 'Times New Roman', 'serif'; font-size: 18px">
|
|
||||||
<h3 style="padding-bottom: 20px">Email verification</h3>
|
|
||||||
<p>Follow the link bellow to verify your email address:</p><br>
|
|
||||||
<p><a href="{link}" style="color: blue">Click Verify email</a> </p><br>
|
|
||||||
<p>Or copy the link to your browser: <a href="{link}" style="color: blue">{link}</a></p>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td height="90" align="center" valign="middle" style="line-height:90px; font-size:90px;">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<!--Content Part End-->
|
|
||||||
|
|
||||||
<!--Profile Part Start-->
|
|
||||||
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="top">
|
|
||||||
<table width="600" align="center" class="main" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="left" valign="middle" style="border-radius: 0px 0px 8px 8px; background-color: rgb(193, 24, 107); -moz-border-radius: 0px 0px 8px 8px;" bgcolor="#18c197" data-bgcolor="theme-bg">
|
|
||||||
<table width="170" align="left" class="full" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="left" valign="top">
|
|
||||||
<table width="120" align="center" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="middle">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="middle">
|
|
||||||
<table width="120" align="left" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td width="35" align="left" valign="top">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
<td width="85" align="center" valign="middle" style="font-family:'Open Sans', Verdana, Arial; font-size:15px; color:#FFF; font-weight:normal; text-transform:uppercase; line-height:28px;">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="middle">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="410" align="right" class="full" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="left" valign="top">
|
|
||||||
<table width="205" align="left" class="full" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="top" bgcolor="#5d5650" data-bgcolor="theme-bg2">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="175" align="right" class="full" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="top">
|
|
||||||
<table width="120" align="center" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="middle">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="middle">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<!--Copyright Part End-->
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,348 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<title>
|
|
||||||
|
|
||||||
</title>
|
|
||||||
<!--[if !mso]><!-- -->
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<!--<![endif]-->
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<style type="text/css">
|
|
||||||
#outlook a {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ReadMsgBody {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ExternalClass {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ExternalClass * {
|
|
||||||
line-height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
-webkit-text-size-adjust: 100%;
|
|
||||||
-ms-text-size-adjust: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
table,
|
|
||||||
td {
|
|
||||||
border-collapse: collapse;
|
|
||||||
mso-table-lspace: 0pt;
|
|
||||||
mso-table-rspace: 0pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
border: 0;
|
|
||||||
height: auto;
|
|
||||||
line-height: 100%;
|
|
||||||
outline: none;
|
|
||||||
text-decoration: none;
|
|
||||||
-ms-interpolation-mode: bicubic;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
display: block;
|
|
||||||
margin: 13px 0;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<!--[if !mso]><!-->
|
|
||||||
<style type="text/css">
|
|
||||||
@media only screen and (max-width:480px) {
|
|
||||||
@-ms-viewport {
|
|
||||||
width: 320px;
|
|
||||||
}
|
|
||||||
@viewport {
|
|
||||||
width: 320px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<!--<![endif]-->
|
|
||||||
<!--[if mso]>
|
|
||||||
<xml>
|
|
||||||
<o:OfficeDocumentSettings>
|
|
||||||
<o:AllowPNG/>
|
|
||||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
|
||||||
</o:OfficeDocumentSettings>
|
|
||||||
</xml>
|
|
||||||
<![endif]-->
|
|
||||||
<!--[if lte mso 11]>
|
|
||||||
<style type="text/css">
|
|
||||||
.outlook-group-fix { width:100% !important; }
|
|
||||||
</style>
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
|
|
||||||
<style type="text/css">
|
|
||||||
@media only screen and (min-width:480px) {
|
|
||||||
.mj-column-per-100 {
|
|
||||||
width: 100% !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
|
|
||||||
<style type="text/css">
|
|
||||||
</style>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body style="background-color:#f9f9f9;">
|
|
||||||
|
|
||||||
|
|
||||||
<div style="background-color:#f9f9f9;">
|
|
||||||
|
|
||||||
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
<table
|
|
||||||
align="center" border="0" cellpadding="0" cellspacing="0" style="width:600px;" width="600"
|
|
||||||
>
|
|
||||||
<tr>
|
|
||||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
|
|
||||||
<div style="background:#f9f9f9;background-color:#f9f9f9;Margin:0px auto;max-width:600px;">
|
|
||||||
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#f9f9f9;background-color:#f9f9f9;width:100%;">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td style="border-bottom:#333957 solid 5px;direction:ltr;font-size:0px;padding:20px 0;text-align:center;vertical-align:top;">
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0">
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
<![endif]-->
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table
|
|
||||||
align="center" border="0" cellpadding="0" cellspacing="0" style="width:600px;" width="600"
|
|
||||||
>
|
|
||||||
<tr>
|
|
||||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
|
|
||||||
<div style="background:#fff;background-color:#fff;Margin:0px auto;max-width:600px;">
|
|
||||||
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#fff;background-color:#fff;width:100%;">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td style="border:#dddddd solid 1px;border-top:0px;direction:ltr;font-size:0px;padding:20px 0;text-align:center;vertical-align:top;">
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0">
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
|
|
||||||
<td
|
|
||||||
style="vertical-align:bottom;width:600px;"
|
|
||||||
>
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
<div class="mj-column-per-100 outlook-group-fix" style="font-size:13px;text-align:left;direction:ltr;display:inline-block;vertical-align:bottom;width:100%;">
|
|
||||||
|
|
||||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:bottom;" width="100%">
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
|
||||||
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:collapse;border-spacing:0px;">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td style="width:64px;">
|
|
||||||
|
|
||||||
<img height="auto" src="https://i.imgur.com/KO1vcE9.png" style="border:0;display:block;outline:none;text-decoration:none;width:100%;" width="64" />
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px 25px;padding-bottom:40px;word-break:break-word;">
|
|
||||||
|
|
||||||
<div style="font-family:'Helvetica Neue',Arial,sans-serif;font-size:28px;font-weight:bold;line-height:1;text-align:center;color:#555;">
|
|
||||||
Welcome to {{Product}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
|
||||||
|
|
||||||
<div style="font-family:'Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:22px;text-align:left;color:#555;">
|
|
||||||
Hello {{ name }}!<br></br>
|
|
||||||
Thank you for signing up for {{ product }}. We're really happy to have you! Click the link below to login to your account:
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px 25px;padding-top:30px;padding-bottom:50px;word-break:break-word;">
|
|
||||||
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:separate;line-height:100%;">
|
|
||||||
<tr>
|
|
||||||
<td align="center" bgcolor="#2F67F6" role="presentation" style="border:none;border-radius:3px;color:#ffffff;cursor:auto;padding:15px 25px;" valign="middle">
|
|
||||||
<p style="background:#2F67F6;color:#ffffff;font-family:'Helvetica Neue',Arial,sans-serif;font-size:15px;font-weight:normal;line-height:120%;Margin:0;text-decoration:none;text-transform:none;">
|
|
||||||
Login to Your Account
|
|
||||||
</p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="left" style="font-size:0px;padding:10px 25px;word-break:break-word;">
|
|
||||||
|
|
||||||
<div style="font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:20px;text-align:left;color:#525252;">
|
|
||||||
Best regards,<br><br> Csaba Kissi<br>Elerion ltd., CEO and Founder<br>
|
|
||||||
<a href="https://www.htmlemailtemplates.net" style="color:#2F67F6">htmlemailtemplates.net</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
<![endif]-->
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table
|
|
||||||
align="center" border="0" cellpadding="0" cellspacing="0" style="width:600px;" width="600"
|
|
||||||
>
|
|
||||||
<tr>
|
|
||||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
|
|
||||||
<div style="Margin:0px auto;max-width:600px;">
|
|
||||||
|
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width:100%;">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td style="direction:ltr;font-size:0px;padding:20px 0;text-align:center;vertical-align:top;">
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0">
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
|
|
||||||
<td
|
|
||||||
style="vertical-align:bottom;width:600px;"
|
|
||||||
>
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
<div class="mj-column-per-100 outlook-group-fix" style="font-size:13px;text-align:left;direction:ltr;display:inline-block;vertical-align:bottom;width:100%;">
|
|
||||||
|
|
||||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" width="100%">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td style="vertical-align:bottom;padding:0;">
|
|
||||||
|
|
||||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation" width="100%">
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:0;word-break:break-word;">
|
|
||||||
|
|
||||||
<div style="font-family:'Helvetica Neue',Arial,sans-serif;font-size:12px;font-weight:300;line-height:1;text-align:center;color:#575757;">
|
|
||||||
Some Firm Ltd, 35 Avenue. City 10115, USA
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td align="center" style="font-size:0px;padding:10px;word-break:break-word;">
|
|
||||||
|
|
||||||
<div style="font-family:'Helvetica Neue',Arial,sans-serif;font-size:12px;font-weight:300;line-height:1;text-align:center;color:#575757;">
|
|
||||||
<a href="" style="color:#575757">Unsubscribe</a> from our emails
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
<![endif]-->
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!--[if mso | IE]>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
|
@ -1,60 +0,0 @@
|
||||||
{% extends "layouts/auth.twig" %}
|
|
||||||
|
|
||||||
{% block title %}Sign Up{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<div class="page page-center">
|
|
||||||
<div class="container container-tight py-4">
|
|
||||||
<div class="text-center mb-4">
|
|
||||||
<a href="." class="navbar-brand navbar-brand-autodark"><img src="./static/logo-bw.svg" height="36" alt=""></a>
|
|
||||||
{% include 'partials/flash.twig' %}
|
|
||||||
</div>
|
|
||||||
<form class="card card-md" action="{{ route('register') }}" name="register" method="post" autocomplete="off" novalidate>
|
|
||||||
{{ csrf.field | raw }}
|
|
||||||
<div class="card-body">
|
|
||||||
<h2 class="card-title text-center mb-4">Create new account</h2>
|
|
||||||
<div class="mb-3">
|
|
||||||
<label class="form-label">User Name</label>
|
|
||||||
<input type="text" name="username" value="{{ old.username }}" class="form-control{{ errors.name ? ' is-invalid' : '' }}" placeholder="Enter name">
|
|
||||||
{% if errors.username %}
|
|
||||||
<small class="form-hint">{{ errors.username | first }}</small>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
<div class="mb-3">
|
|
||||||
<label class="form-label">Email address</label>
|
|
||||||
<input type="email" name="email" value="{{ old.email }}" class="form-control{{ errors.email ? ' is-invalid' : '' }}" placeholder="Enter email">
|
|
||||||
{% if errors.email %}
|
|
||||||
<small class="form-hint">{{ errors.email | first }}</small>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
<div class="mb-3">
|
|
||||||
<label class="form-label">Password</label>
|
|
||||||
<div class="input-group input-group-flat">
|
|
||||||
<input type="password" name="password" class="form-control{{ errors.password ? ' is-invalid' : '' }}" placeholder="Password" autocomplete="off">
|
|
||||||
<span class="input-group-text">
|
|
||||||
<a href="#" class="link-secondary" title="Show password" data-bs-toggle="tooltip"><!-- Download SVG icon from http://tabler-icons.io/i/eye -->
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><circle cx="12" cy="12" r="2" /><path d="M22 12c-2.667 4.667 -6 7 -10 7s-7.333 -2.333 -10 -7c2.667 -4.667 6 -7 10 -7s7.333 2.333 10 7" /></svg>
|
|
||||||
</a>
|
|
||||||
</span>
|
|
||||||
{% if errors.password %}
|
|
||||||
<small class="form-hint">{{ errors.password | first }}</small>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-3">
|
|
||||||
<label class="form-check">
|
|
||||||
<input type="checkbox" value="" id="flexCheckChecked" class="form-check-input"/>
|
|
||||||
<span class="form-check-label">Agree the <a href="./terms-of-service.html" tabindex="-1">terms and policy</a>.</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-footer">
|
|
||||||
<button type="submit" class="btn btn-primary w-100">Create new account</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<div class="text-center text-muted mt-3">
|
|
||||||
Already have account? <a href="{{ route('login') }}" tabindex="-1">Sign in</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
|
@ -24,14 +24,8 @@ use Tqdev\PhpCrudApi\Config\Config;
|
||||||
$app->get('/', HomeController::class .':index')->setName('index');
|
$app->get('/', HomeController::class .':index')->setName('index');
|
||||||
|
|
||||||
$app->group('', function ($route) {
|
$app->group('', function ($route) {
|
||||||
$route->get('/register', AuthController::class . ':createRegister')->setName('register');
|
|
||||||
$route->post('/register', AuthController::class . ':register');
|
|
||||||
$route->get('/login', AuthController::class . ':createLogin')->setName('login');
|
$route->get('/login', AuthController::class . ':createLogin')->setName('login');
|
||||||
$route->post('/login', AuthController::class . ':login');
|
$route->post('/login', AuthController::class . ':login');
|
||||||
|
|
||||||
$route->get('/verify-email', AuthController::class.':verifyEmail')->setName('verify.email');
|
|
||||||
$route->get('/verify-email-resend',AuthController::class.':verifyEmailResend')->setName('verify.email.resend');
|
|
||||||
|
|
||||||
$route->get('/forgot-password', PasswordController::class . ':createForgotPassword')->setName('forgot.password');
|
$route->get('/forgot-password', PasswordController::class . ':createForgotPassword')->setName('forgot.password');
|
||||||
$route->post('/forgot-password', PasswordController::class . ':forgotPassword');
|
$route->post('/forgot-password', PasswordController::class . ':forgotPassword');
|
||||||
$route->get('/reset-password', PasswordController::class.':resetPassword')->setName('reset.password');
|
$route->get('/reset-password', PasswordController::class.':resetPassword')->setName('reset.password');
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue