* registration UI/UX improvements and better welcome page
parent
47955299e2
commit
d859dbad0a
|
@ -204,24 +204,24 @@ const request = (resource: string, data: any) =>
|
|||
break;
|
||||
case -2:
|
||||
// mail unverified
|
||||
showElements([".mail-box"]);
|
||||
showElements([".mail-box", ".logout-button"]);
|
||||
hideElements([
|
||||
".login-box",
|
||||
".register-box",
|
||||
".sms-box",
|
||||
".package-list",
|
||||
".logout-button",
|
||||
".description",
|
||||
]);
|
||||
break;
|
||||
case -3:
|
||||
// phone unverified
|
||||
showElements([".sms-box"]);
|
||||
showElements([".sms-box", ".logout-button"]);
|
||||
hideElements([
|
||||
".login-box",
|
||||
".register-box",
|
||||
".mail-box",
|
||||
".package-list",
|
||||
".logout-button",
|
||||
".description",
|
||||
]);
|
||||
break;
|
||||
default:
|
||||
|
@ -347,7 +347,11 @@ const refreshPackages = async (response?: Package[]) => {
|
|||
const openButton = detailsBox.querySelector(
|
||||
".modal-card-foot button.is-primary",
|
||||
)! as HTMLButtonElement;
|
||||
if (data.status === PackageStatus.READY_TO_PICKUP || data.status === PackageStatus.UNSTACK_FROM_BOX_MACHINE || data.status === PackageStatus.STACK_IN_BOX_MACHINE) {
|
||||
if (
|
||||
data.status === PackageStatus.READY_TO_PICKUP ||
|
||||
data.status === PackageStatus.UNSTACK_FROM_BOX_MACHINE ||
|
||||
data.status === PackageStatus.STACK_IN_BOX_MACHINE
|
||||
) {
|
||||
openButton.removeAttribute("disabled");
|
||||
openButton.onclick = (e: Event) => {
|
||||
e.preventDefault();
|
||||
|
@ -505,7 +509,7 @@ window.addEventListener("load", () => {
|
|||
phone,
|
||||
});
|
||||
if (res.status == 200) {
|
||||
hideElements([".mail-box"]);
|
||||
hideElements([".mail-box", ".description"]);
|
||||
showElements([".sms-box"]);
|
||||
if (!phone) {
|
||||
showElements([".sms-phone-field"]);
|
||||
|
@ -527,7 +531,7 @@ window.addEventListener("load", () => {
|
|||
phone,
|
||||
});
|
||||
if (res.status == 200) {
|
||||
hideElements([".sms-box"]);
|
||||
hideElements([".sms-box", ".description"]);
|
||||
phone = null;
|
||||
localStorage.removeItem("phone");
|
||||
await refreshPackages();
|
||||
|
|
|
@ -1,194 +1,275 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Otwarty Czapkomat Webowy</title>
|
||||
<link rel="stylesheet" href="assets/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar is-success">
|
||||
<div class="navbar-menu">
|
||||
<div class="navbar-brand">
|
||||
<a href="/" class="navbar-item">
|
||||
<img src="/ocw.png" alt="OCW">
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-end">
|
||||
<div class="navbar-item">
|
||||
<div class="buttons">
|
||||
<a class="button is-light logout-button">
|
||||
<span>Log out</span>
|
||||
</a>
|
||||
<nav class="navbar is-success">
|
||||
<div class="navbar-menu">
|
||||
<div class="navbar-brand">
|
||||
<a href="/" class="navbar-item">
|
||||
<img src="/ocw.png" alt="OCW" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-end">
|
||||
<div class="navbar-item">
|
||||
<div class="buttons">
|
||||
<a class="button is-light logout-button">
|
||||
<span>Log out</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="container">
|
||||
<div class="description">
|
||||
<div class="title is-1">Welcome to OCW!</div>
|
||||
<p class="paragraph">OCW (Otwarty Czapkomat Mobilny) is an open-source webapp, made for easy opening of Czapkomat compartments. It's free, easy to use, and we collect minimal required data (your username, e-mail and necessary API tokens - not even your phone number*)</p>
|
||||
<p class="paragraph">Made by <a href="https://selfisekai.rocks">selfisekai</a> and <a href="https://sdomi.pl">sdomi</a>. Please note that this is still Work in Progress.</p>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="login-box column">
|
||||
<label class="label is-large">Login</label>
|
||||
<form method="POST" class="login-form">
|
||||
<div class="field">
|
||||
<label for="login" class="label">Username</label>
|
||||
<div class="control">
|
||||
<input type="text" name="login" class="input" placeholder="dominika" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="password" class="label">Password</label>
|
||||
<div class="control">
|
||||
<input type="password" name="password" class="input" placeholder="***** ***" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control">
|
||||
<input type="submit" class="button" value="Login">
|
||||
</div>
|
||||
</form>
|
||||
<div class="password-reset-open-box">
|
||||
<span>Forgot your password?</span>
|
||||
<button class="button is-light is-small">Reset it here.</button>
|
||||
</div>
|
||||
<div class="password-reset-box">
|
||||
<form class="password-reset-form">
|
||||
</nav>
|
||||
<div class="container">
|
||||
<div class="description">
|
||||
<div class="title is-1">Welcome to OCW!</div>
|
||||
<p class="paragraph">
|
||||
OCW (Otwarty Czapkomat Mobilny) is an open-source webapp, made for
|
||||
easy opening of Czapkomat compartments. It's free, easy to use, and we
|
||||
collect minimal required data (your username, e-mail and necessary API
|
||||
tokens - not even your phone number*)
|
||||
<br />
|
||||
<small>* it's in the JWT, but we don't do anything with that</small>
|
||||
</p>
|
||||
<p class="paragraph">
|
||||
Made by <a href="https://selfisekai.rocks">selfisekai</a> and
|
||||
<a href="https://sdomi.pl">sdomi</a>. Please note that this is still
|
||||
Work in Progress.<br />Want to help? Check out
|
||||
<a href="https://git.sakamoto.pl/laudom/ocw">The Source</a>!
|
||||
</p>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="columns">
|
||||
<div class="login-box column">
|
||||
<label class="label is-large">Login</label>
|
||||
<form method="POST" class="login-form">
|
||||
<div class="field">
|
||||
<label for="login" class="label">Username</label>
|
||||
<div class="control">
|
||||
<input type="login" name="login" class="input" placeholder="filip.grzywok" required>
|
||||
<input
|
||||
type="text"
|
||||
name="login"
|
||||
class="input"
|
||||
placeholder="dominika"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="password" class="label">Password</label>
|
||||
<div class="control">
|
||||
<input
|
||||
type="password"
|
||||
name="password"
|
||||
class="input"
|
||||
placeholder="***** ***"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control">
|
||||
<input type="submit" class="button" value="Reset password">
|
||||
<input type="submit" class="button" value="Login" />
|
||||
</div>
|
||||
</form>
|
||||
<div class="password-reset-open-box">
|
||||
<span>Forgot your password?</span>
|
||||
<button class="button is-light is-small">Reset it here.</button>
|
||||
</div>
|
||||
<div class="password-reset-box">
|
||||
<form class="password-reset-form">
|
||||
<div class="field">
|
||||
<label for="login" class="label">Username</label>
|
||||
<div class="control">
|
||||
<input
|
||||
type="login"
|
||||
name="login"
|
||||
class="input"
|
||||
placeholder="filip.grzywok"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control">
|
||||
<input type="submit" class="button" value="Reset password" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="password-reset-verify-box column">
|
||||
<form class="password-reset-verify-form">
|
||||
<div class="field">
|
||||
<label for="hash" class="label">Verification code</label>
|
||||
<div class="control">
|
||||
<input
|
||||
type="text"
|
||||
name="hash"
|
||||
class="input"
|
||||
placeholder="aoeu"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<p class="help">We've sent you that in an e-mail</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="password" class="label">Password</label>
|
||||
<div class="control">
|
||||
<input
|
||||
type="password"
|
||||
name="password"
|
||||
class="input"
|
||||
placeholder="***** ***"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control">
|
||||
<input type="submit" class="button" value="Set password" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="register-box column">
|
||||
<label class="label is-large">Register</label>
|
||||
<form method="POST" class="register-form">
|
||||
<div class="field">
|
||||
<label for="login" class="label">Username</label>
|
||||
<div class="control">
|
||||
<input
|
||||
type="text"
|
||||
name="login"
|
||||
class="input"
|
||||
placeholder="laura"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="password" class="label">Password</label>
|
||||
<div class="control">
|
||||
<input
|
||||
type="password"
|
||||
name="password"
|
||||
class="input"
|
||||
placeholder="***** ***"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="email" class="label">E-mail address</label>
|
||||
<div class="control">
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
class="input"
|
||||
placeholder="@2137.pl"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<p class="help">
|
||||
For password recovery. Verified on account registration
|
||||
</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="phone" class="label">Phone number</label>
|
||||
<div class="control">
|
||||
<input
|
||||
type="tel"
|
||||
name="phone"
|
||||
class="input"
|
||||
placeholder="222922597"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<p class="help">The one your packages are assigned to</p>
|
||||
</div>
|
||||
<div
|
||||
class="h-captcha"
|
||||
data-sitekey="06ade6bc-1e3f-42be-85d8-f578c2c9de90"
|
||||
></div>
|
||||
<div class="control">
|
||||
<input type="submit" class="button" value="Register" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="mail-box column">
|
||||
<label class="label is-large">E-mail verification</label>
|
||||
<form method="POST" class="mail-form">
|
||||
<div class="field">
|
||||
<label for="code" class="label">E-mail code</label>
|
||||
<div class="control">
|
||||
<input type="number" name="code" class="input" />
|
||||
</div>
|
||||
</div>
|
||||
<input type="submit" class="button" value="Submit" />
|
||||
</form>
|
||||
</div>
|
||||
<div class="sms-box column">
|
||||
<label class="label is-large">SMS verification</label>
|
||||
<form method="POST" class="sms-form">
|
||||
<div class="field">
|
||||
<label for="code" class="label">SMS code</label>
|
||||
<div class="control">
|
||||
<input type="number" name="code" class="input" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="field sms-phone-field">
|
||||
<label for="phone" class="label">Phone number</label>
|
||||
<div class="control">
|
||||
<input
|
||||
type="tel"
|
||||
name="phone"
|
||||
class="input"
|
||||
placeholder="222922597"
|
||||
/>
|
||||
</div>
|
||||
<p class="help">The one your packages are assigned to</p>
|
||||
</div>
|
||||
<input type="submit" class="button" value="Submit" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="password-reset-verify-box column">
|
||||
<form class="password-reset-verify-form">
|
||||
<div class="field">
|
||||
<label for="hash" class="label">Verification code</label>
|
||||
<div class="control">
|
||||
<input type="text" name="hash" class="input" placeholder="aoeu" required>
|
||||
</div>
|
||||
<p class="help">We've sent you that in an e-mail</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="password" class="label">Password</label>
|
||||
<div class="control">
|
||||
<input type="password" name="password" class="input" placeholder="***** ***" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control">
|
||||
<input type="submit" class="button" value="Set password">
|
||||
</div>
|
||||
</form>
|
||||
<div class="areyousure-box modal">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Are you sure?</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<p class="areyousure-text">
|
||||
The parcel locker will open even if you're not close to it, and
|
||||
so, anyone could take your package.
|
||||
</p>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="areyousure-button button is-danger">
|
||||
Open locker
|
||||
</button>
|
||||
<button class="areyousure-button-deny button">Cancel</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
<div class="register-box column">
|
||||
<label class="label is-large">Register</label>
|
||||
<form method="POST" class="register-form">
|
||||
<div class="field">
|
||||
<label for="login" class="label">Username</label>
|
||||
<div class="control">
|
||||
<input type="text" name="login" class="input" placeholder="laura" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="password" class="label">Password</label>
|
||||
<div class="control">
|
||||
<input type="password" name="password" class="input" placeholder="***** ***" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="email" class="label">E-mail address</label>
|
||||
<div class="control">
|
||||
<input type="email" name="email" class="input" placeholder="@2137.pl" required>
|
||||
</div>
|
||||
<p class="help">For password recovery. Verified on account registration</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="phone" class="label">Phone number</label>
|
||||
<div class="control">
|
||||
<input type="tel" name="phone" class="input" placeholder="222922597" required>
|
||||
</div>
|
||||
<p class="help">The one your packages are assigned to</p>
|
||||
</div>
|
||||
<div class="h-captcha" data-sitekey="06ade6bc-1e3f-42be-85d8-f578c2c9de90"></div>
|
||||
<div class="control">
|
||||
<input type="submit" class="button" value="Register">
|
||||
</div>
|
||||
</form>
|
||||
<div class="error-box modal">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Error</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<p class="error-box-text"></p>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="error-box-button button">OK</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mail-box column">
|
||||
<label class="label is-large">E-mail</label>
|
||||
<form method="POST" class="mail-form">
|
||||
<div class="field">
|
||||
<label for="code" class="label">E-mail code</label>
|
||||
<div class="control">
|
||||
<input type="number" name="code" class="input">
|
||||
</div>
|
||||
</div>
|
||||
<input type="submit" class="button" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
<div class="sms-box column">
|
||||
<label class="label is-large">SMS</label>
|
||||
<form method="POST" class="sms-form">
|
||||
<div class="field">
|
||||
<label for="code" class="label">SMS code</label>
|
||||
<div class="control">
|
||||
<input type="number" name="code" class="input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field sms-phone-field">
|
||||
<label for="phone" class="label">Phone number</label>
|
||||
<div class="control">
|
||||
<input type="tel" name="phone" class="input" placeholder="222922597">
|
||||
</div>
|
||||
<p class="help">The one your packages are assigned to</p>
|
||||
</div>
|
||||
<input type="submit" class="button" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="areyousure-box modal">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Are you sure?</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<p class="areyousure-text">The parcel locker will open even if you're not close to it, and so, anyone could take your package.</p>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="areyousure-button button is-danger">Open locker</button>
|
||||
<button class="areyousure-button-deny button">Cancel</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
<div class="error-box modal">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Error</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<p class="error-box-text"></p>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="error-box-button button">OK</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
<div class="package-list container">
|
||||
<div class="package-list container">
|
||||
<div class="table-container">
|
||||
<table class="table is-striped">
|
||||
<thead>
|
||||
|
@ -202,35 +283,35 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal details-box">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Details</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div id="map"></div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<table class="details-text table">
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="button is-primary">Open the locker</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal details-box">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Details</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div id="map"></div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<table class="details-text table">
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="button is-primary">Open the locker</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/index.js"></script>
|
||||
<script src="https://hcaptcha.com/1/api.js" async defer></script>
|
||||
<script src="assets/index.js"></script>
|
||||
<script src="https://hcaptcha.com/1/api.js" async defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in New Issue