209 lines
9.7 KiB
HTML
209 lines
9.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="author" content="Florine W. Dekker" />
|
|
<meta name="application-name" content="Death Notifier" />
|
|
<meta name="description" content="Get notified when a famous person dies." />
|
|
<meta name="theme-color" content="#0033cc" />
|
|
|
|
<title>Death Notifier | FWDekker</title>
|
|
|
|
<link rel="stylesheet" href="https://static.fwdekker.com/fonts/roboto/roboto.css" />
|
|
<link rel="stylesheet" href="https://static.fwdekker.com/lib/template/2.x.x/template.css" />
|
|
<!--suppress HtmlUnknownTarget -->
|
|
<link rel="stylesheet" href="main.css?v=%%VERSION_NUMBER%%" />
|
|
<script async src="https://stats.fwdekker.com/count.js"
|
|
data-goatcounter="https://stats.fwdekker.com/count"></script>
|
|
</head>
|
|
<body>
|
|
<noscript>
|
|
<img src="https://stats.fwdekker.com/count?p=/tools/death-notifier/" alt="Counting pixel" />
|
|
|
|
<p>
|
|
This website does not function if JavaScript is disabled.
|
|
Please check the
|
|
<a href="https://www.enable-javascript.com/">instructions on how to enable JavaScript in your web browser</a>.
|
|
</p>
|
|
</noscript>
|
|
<main class="hidden">
|
|
<div id="nav"></div>
|
|
<div id="contents">
|
|
<div id="header"></div>
|
|
|
|
<section class="container">
|
|
<div class="row">
|
|
<div class="column">
|
|
<p id="sharedValidationInfo" class="formValidationInfo">
|
|
<span class="validationInfo"></span>
|
|
</p>
|
|
<p id="sharedHomeLink" class="hidden">
|
|
<a href="./">Click here to return to the main page</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row hidden" id="loginRow">
|
|
<div class="column">
|
|
<h2>Log in</h2>
|
|
<p>Already have an account? Welcome back!</p>
|
|
<!-- TODO: Forgot password option (with table for tokens?) -->
|
|
<form id="loginForm" novalidate>
|
|
<p class="formValidationInfo">
|
|
<!-- TODO: Make `formValidationInfo` elements closable with an X symbol -->
|
|
<span class="validationInfo"></span>
|
|
</p>
|
|
<label for="loginEmail">
|
|
Email
|
|
<input id="loginEmail" type="email" name="email" autocomplete="on" />
|
|
<span class="validationInfo"></span>
|
|
</label>
|
|
<label for="loginPassword">
|
|
Password
|
|
<input id="loginPassword" type="password" name="password" />
|
|
<span class="validationInfo"></span>
|
|
</label>
|
|
<button id="loginButton">Log in</button>
|
|
</form>
|
|
</div>
|
|
<div class="column">
|
|
<h2>Register</h2>
|
|
<p>
|
|
New user?
|
|
Create an account!
|
|
You can always delete your account and associated data.
|
|
Check the <a href="https://fwdekker.com/privacy/">privacy policy</a> for more information.
|
|
</p>
|
|
<form id="registerForm" novalidate>
|
|
<p class="formValidationInfo">
|
|
<span class="validationInfo"></span>
|
|
</p>
|
|
<label for="registerEmail">
|
|
Email
|
|
<input id="registerEmail" type="email" name="email" autocomplete="on" />
|
|
<span class="validationInfo"></span>
|
|
</label>
|
|
<label for="registerPassword">
|
|
Password
|
|
<input id="registerPassword" type="password" name="password" />
|
|
<span class="validationInfo"></span>
|
|
</label>
|
|
<label for="registerPasswordConfirm">
|
|
Confirm password
|
|
<input id="registerPasswordConfirm" type="password" name="password_confirm" />
|
|
<span class="validationInfo"></span>
|
|
</label>
|
|
<!-- TODO: Display loading indicator while waiting for form to complete -->
|
|
<button id="registerButton">Create account</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row hidden" id="trackingRow">
|
|
<div class="column">
|
|
<h2>Has this person died?</h2>
|
|
<table id="trackings">
|
|
<thead>
|
|
<tr>
|
|
<th>Name</th>
|
|
<th>Status</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td colspan="3">
|
|
<form id="addTrackingForm" novalidate>
|
|
<p class="formValidationInfo">
|
|
<span class="validationInfo"></span>
|
|
</p>
|
|
<label for="addTrackingPersonName">
|
|
<input id="addTrackingPersonName" type="text" name="person_name"
|
|
autocomplete="on" />
|
|
<button id="addTrackingButton">Add</button>
|
|
<span class="validationInfo"></span>
|
|
</label>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row hidden" id="accountRow">
|
|
<div class="column">
|
|
<h2>Manage account</h2>
|
|
<!-- TODO: Add way to delete account -->
|
|
<form id="logoutForm" novalidate>
|
|
<p class="formValidationInfo">
|
|
<span class="validationInfo"></span>
|
|
</p>
|
|
<button id="logoutButton">Log out</button>
|
|
</form>
|
|
</div>
|
|
<div class="column">
|
|
<h3>Change email</h3>
|
|
<form id="resendEmailVerificationForm" novalidate>
|
|
<p class="formValidationInfo">
|
|
<span class="validationInfo"></span>
|
|
</p>
|
|
<label>Current email:<span class="validationInfo"></span></label>
|
|
<span id="emailCurrent">ERROR</span>
|
|
<br />
|
|
<label>Verified:<span class="validationInfo"></span></label>
|
|
<span id="emailVerified">ERROR</span>
|
|
<button id="resendEmailVerificationButton" class="hidden">resend</button>
|
|
</form>
|
|
<form id="updateEmailForm" novalidate>
|
|
<p class="formValidationInfo">
|
|
<span class="validationInfo"></span>
|
|
</p>
|
|
<label for="updateEmailEmail">
|
|
Email
|
|
<input id="updateEmailEmail" type="email" name="email" autocomplete="on" />
|
|
<span class="validationInfo"></span>
|
|
</label>
|
|
<button id="updateEmailButton">Change email</button>
|
|
</form>
|
|
</div>
|
|
<div class="column">
|
|
<h3>Change password</h3>
|
|
<form>
|
|
<b>Last changed:</b> <span id="passwordLastChanged">ERROR</span>
|
|
</form>
|
|
<form id="updatePasswordForm" novalidate>
|
|
<p class="formValidationInfo">
|
|
<span class="validationInfo"></span>
|
|
</p>
|
|
<label for="updatePasswordPasswordOld">
|
|
Old password
|
|
<input id="updatePasswordPasswordOld" type="password" name="password_old" />
|
|
<span class="validationInfo"></span>
|
|
</label>
|
|
<label for="updatePasswordPasswordNew">
|
|
New password
|
|
<input id="updatePasswordPasswordNew" type="password" name="password_new" />
|
|
<span class="validationInfo"></span>
|
|
</label>
|
|
<label for="updatePasswordPasswordConfirm">
|
|
Confirm new password
|
|
<input id="updatePasswordPasswordConfirm" type="password" name="password_confirm" />
|
|
<span class="validationInfo"></span>
|
|
</label>
|
|
<button id="updatePasswordButton">Change password</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<div id="footer"></div>
|
|
</main>
|
|
|
|
<script src="https://static.fwdekker.com/lib/template/2.x.x/template.js"></script>
|
|
<!--suppress HtmlUnknownTarget -->
|
|
<script src="bundle.js?v=%%VERSION_NUMBER%%"></script>
|
|
</body>
|
|
</html>
|