Initial Commit

This commit is contained in:
2026-06-11 15:05:08 +08:00
commit ea8e41e688
21 changed files with 2317 additions and 0 deletions
+75
View File
@@ -0,0 +1,75 @@
{% extends "base.html" %}
{% block title %}Register - NexHome{% endblock %}
{% block content %}
<div class="min-h-[80vh] flex items-center justify-center py-12 px-4">
<div class="max-w-md w-full">
<div class="text-center mb-8">
<h1 class="text-3xl font-bold text-primary">Create Account</h1>
<p class="text-gray-500 mt-2">Join NexHome and find your dream property</p>
</div>
{% if errors %}
<div class="bg-red-100 border border-red-200 text-red-800 rounded-lg p-4 mb-6 text-sm">
<ul class="list-disc list-inside space-y-1">
{% for e in errors %}
<li>{{ e }}</li>
{% endfor %}
</ul>
</div>
{% endif %}
<div class="bg-white rounded-2xl shadow-lg p-8">
<form method="POST" action="/auth/register" class="space-y-5">
<div>
<label for="username" class="block text-sm font-medium text-gray-700 mb-1">Username *</label>
<input type="text" id="username" name="username" required
value="{{ username|default('') }}"
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-accent focus:border-transparent outline-none transition"
placeholder="Choose a username">
</div>
<div>
<label for="email" class="block text-sm font-medium text-gray-700 mb-1">Email</label>
<input type="email" id="email" name="email"
value="{{ email|default('') }}"
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-accent focus:border-transparent outline-none transition"
placeholder="your@email.com">
</div>
<div>
<label for="full_name" class="block text-sm font-medium text-gray-700 mb-1">Full Name</label>
<input type="text" id="full_name" name="full_name"
value="{{ full_name|default('') }}"
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-accent focus:border-transparent outline-none transition"
placeholder="John Smith">
</div>
<div>
<label for="password" class="block text-sm font-medium text-gray-700 mb-1">Password *</label>
<input type="password" id="password" name="password" required minlength="6"
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-accent focus:border-transparent outline-none transition"
placeholder="At least 6 characters">
</div>
<div>
<label for="confirm_password" class="block text-sm font-medium text-gray-700 mb-1">Confirm Password *</label>
<input type="password" id="confirm_password" name="confirm_password" required
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-accent focus:border-transparent outline-none transition"
placeholder="Re-enter your password">
</div>
<button type="submit"
class="w-full bg-accent hover:bg-blue-700 text-white font-semibold py-3 rounded-lg transition">
Create Account
</button>
</form>
<div class="mt-6 text-center text-sm text-gray-500">
Already have an account?
<a href="/auth/login" class="text-accent hover:text-blue-700 font-medium">Sign in</a>
</div>
</div>
</div>
</div>
{% endblock %}