293:6635f14613ba
Anton Shestakov <av6@dwimlabs.net>, Wed, 01 Nov 2017 00:50:57 +0800
Makefile: use file targets more, results in incremental building Less work to do when only some files get changed, but more work when building from scratch. But, multiple compilers can run in parallel.

next change 296:ca966285745a
previous change 232:0fe8137e0f76

register.html

Permissions: -rw-r--r--

Other formats: Feeds:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Registration</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.2/css/uikit.min.css" integrity="sha384-r4ORcdkoM5V/H9qDH2HFG5RXRMUP9E9d9+pxyHVjY2SDzmI/ybe4XZdGpr2TWV1u" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.2/css/components/progress.min.css" integrity="sha384-qgXVfbHioMtCK8iM6ZIVtQ1irvB4VMZ3uebLrEOyE/2tCEIeeZ73ytGNuSWnTRiQ" crossorigin="anonymous">
<link rel="stylesheet" href="/css/tram-im.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js" integrity="sha384-FZY+KSLVXVyc1qAlqH9oCx1JEOlQh6iXfw3o2n3Iy32qGjXmUPWT9I0Z9e9wxYe3" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js" integrity="sha384-NNt9ocJfZhIg2c5PbM5G2a3tTaeXhEfqCHWHNB7htzaWKn8MwFkzVyGdzLA8QMX7" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/rivets/0.8.1/rivets.bundled.min.js" integrity="sha384-KIB/b1UL6HC6He/9mc3AYNV0GjyVXGWnwqbSo3hoD6BOYi+XPtqjLtZ99Mevz4I4" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.2/js/uikit.min.js" integrity="sha384-hZYxVK59j24BQl9werQkqsAxOZ9Xs3yaaQxtYIOcsqLxjX2/aTWQMUvXEV8DCOcq" crossorigin="anonymous"></script>
<script src="/vendor/strophejs/strophe.min.js"></script>
<script src="/vendor/strophejs-plugins/register/strophe.register.js"></script>
<script src="/vendor/strophejs-plugins/vcard/strophe.vcard.js"></script>
</head>
<body>
<div class="uk-progress uk-progress-mini page-progress" data-app="progress" rv-hide="model:progress | eq undefined">
<div class="uk-progress-bar" rv-style-width="model:progress | percent"></div>
</div>
<div class="smart-container">
<div class="uk-alert" data-step="noscript">
<p class="uk-text-center">This page needs JavaScript to work.</p>
<hr>
<small>It uses resources from cdnjs.cloudflare.com.</small>
</div>
<script>
$('[data-step="noscript"]').addClass('uk-hidden');
</script>
<div class="uk-alert uk-alert-danger uk-hidden" data-msg="registration-closed">Registration is closed at the moment.</div>
<div class="uk-form uk-form-horizontal uk-hidden" data-step="registration" data-form="registration">
<div class="uk-form-row">
<label for="username" class="uk-form-label">Username</label>
<div class="uk-form-controls">
<input id="username" type="text" class="uk-width-1-1" required autofocus
rv-value="form:username" rv-class-uk-form-danger="form:username-errors">
<div class="uk-text-danger" rv-each-error="form:username-errors">{ error }</div>
</div>
</div>
<div class="uk-form-row">
<label for="password1" class="uk-form-label">Password</label>
<div class="uk-form-controls">
<input id="password1" type="password" class="uk-width-1-1" required
rv-value="form:password1" rv-class-uk-form-danger="form:password1-errors">
<div class="uk-text-danger" rv-each-error="form:password1-errors">{ error }</div>
</div>
</div>
<div class="uk-form-row">
<label for="password2" class="uk-form-label">Confirmation</label>
<div class="uk-form-controls">
<input id="password2" type="password" class="uk-width-1-1" required
rv-value="form:password2" rv-class-uk-form-danger="form:password2-errors">
<div class="uk-text-danger" rv-each-error="form:password2-errors">{ error }</div>
</div>
</div>
<div class="uk-form-row">
<div class="uk-form-controls">
<div class="uk-alert uk-alert-danger uk-hidden" data-msg="registration-failed">Unspecified error, sorry.</div>
<button type="button" class="uk-button uk-button-primary" rv-on-click="register">Register</button>
<a class="uk-float-right uk-button uk-button-link" href="/">Log in</a>
</div>
</div>
</div>
<div class="uk-form uk-form-horizontal uk-hidden" data-step="profile" data-form="profile">
<div class="uk-form-row">
<label for="fullname" class="uk-form-label">Full Name</label>
<div class="uk-form-controls">
<input id="fullname" class="uk-width-1-1" type="text" rv-value="form:fullname">
</div>
</div>
<div class="uk-form-row">
<label for="nickname" class="uk-form-label">Nickname</label>
<div class="uk-form-controls">
<input id="nickname" class="uk-width-1-1" type="text" rv-value="form:nickname">
</div>
</div>
<div class="uk-form-row">
<label for="avatar" class="uk-form-label">Avatar</label>
<div class="uk-form-controls">
<input id="avatar" type="file" accept="image/*" value="">
<div class="uk-text-danger" rv-each-error="form:avatar-errors">{ error }</div>
<p>A good avatar:</p>
<ul>
<li>has width and height between 32 and 96 pixels</li>
<li>ideally is a square image</li>
<li>is less than 64k in size</li>
<li>is in a widespread format (png, gif or jpeg)</li>
</ul>
</div>
</div>
<div class="uk-form-row">
<div class="uk-form-controls">
<button class="uk-button uk-button-primary" rv-on-click="save">Save</button>
<button class="uk-button uk-button-danger uk-float-right" rv-on-click="cancel">Cancel registration</button>
</div>
</div>
</div>
<div class="uk-alert uk-alert-danger uk-hidden" data-msg="save-failed">Couldn't save profile.</div>
</div>
<script src='/js/tram.js'></script>
<script src='/js/rivets.js'></script>
<script src='/js/xmpp.js'></script>
<script src='/js/progress.js'></script>
<script src='/js/forms.js'></script>
<script src='/config.js'></script>
<script src='/js/register.js'></script>
</body>
</html>