Улучшена компактность формы регистрации: поля в 2 колонки, уменьшены отступы, добавлена ссылка для входа, исправлена опечатка в help_text
This commit is contained in:
@@ -48,9 +48,9 @@ class TenantRegistrationForm(forms.ModelForm):
|
|||||||
'phone': 'Телефон',
|
'phone': 'Телефон',
|
||||||
}
|
}
|
||||||
help_texts = {
|
help_texts = {
|
||||||
'schema_name': 'Будет использоваться как поддомен: yourshop.inventory.by. '
|
'schema_name': 'Будет использоваться как поддомен: yourshop.flowers. '
|
||||||
'Только латинские буквы, цифры и дефис (3-63 символа)',
|
'Только латинские буквы, цифры и дефис (3-63 символа)',
|
||||||
'owner_email': 'На этот email придет уведомление об активации',
|
'owner_email': 'Это email владельца будущего аккаунта, на этот email придет уведомление об активации',
|
||||||
}
|
}
|
||||||
|
|
||||||
def clean_schema_name(self):
|
def clean_schema_name(self):
|
||||||
|
|||||||
@@ -12,12 +12,12 @@
|
|||||||
body {
|
body {
|
||||||
background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
|
background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
padding: 30px 10px;
|
padding: 20px 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
.container {
|
.container {
|
||||||
max-width: 480px;
|
max-width: 520px;
|
||||||
}
|
}
|
||||||
.card {
|
.card {
|
||||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
||||||
@@ -28,61 +28,64 @@
|
|||||||
.card-header {
|
.card-header {
|
||||||
background: #3b82f6;
|
background: #3b82f6;
|
||||||
color: white;
|
color: white;
|
||||||
padding: 1rem 1.25rem;
|
padding: 0.875rem 1.25rem;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
.card-header h3 {
|
.card-header h3 {
|
||||||
font-size: 1.25rem;
|
font-size: 1.125rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.card-header p {
|
.card-header p {
|
||||||
font-size: 0.875rem;
|
font-size: 0.8rem;
|
||||||
opacity: 0.95;
|
opacity: 0.95;
|
||||||
margin: 0.25rem 0 0 0;
|
margin: 0.2rem 0 0 0;
|
||||||
}
|
}
|
||||||
.card-body {
|
.card-body {
|
||||||
padding: 1.5rem 1.25rem;
|
padding: 1.25rem;
|
||||||
}
|
}
|
||||||
.form-label {
|
.form-label {
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #374151;
|
color: #374151;
|
||||||
margin-bottom: 0.35rem;
|
margin-bottom: 0.25rem;
|
||||||
}
|
}
|
||||||
.form-control, .input-group-text {
|
.form-control, .input-group-text {
|
||||||
font-size: 0.9rem;
|
font-size: 0.9375rem;
|
||||||
padding: 0.5rem 0.75rem;
|
padding: 0.45rem 0.7rem;
|
||||||
border-radius: 6px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
.input-group-text {
|
.input-group-text {
|
||||||
background: #f3f4f6;
|
background: #f3f4f6;
|
||||||
border-left: none;
|
border-left: none;
|
||||||
color: #6b7280;
|
color: #6b7280;
|
||||||
|
font-size: 0.875rem;
|
||||||
}
|
}
|
||||||
.form-control:focus {
|
.form-control:focus {
|
||||||
border-color: #3b82f6;
|
border-color: #3b82f6;
|
||||||
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
|
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
|
||||||
}
|
}
|
||||||
.form-text {
|
.form-text {
|
||||||
font-size: 0.8rem;
|
font-size: 0.75rem;
|
||||||
color: #6b7280;
|
color: #6b7280;
|
||||||
margin-top: 0.25rem;
|
margin-top: 0.2rem;
|
||||||
}
|
}
|
||||||
.text-danger {
|
.text-danger {
|
||||||
color: #ef4444 !important;
|
color: #ef4444 !important;
|
||||||
|
font-size: 0.8125rem;
|
||||||
|
}
|
||||||
|
.mb-2 {
|
||||||
|
margin-bottom: 0.65rem !important;
|
||||||
}
|
}
|
||||||
.mb-3 {
|
.mb-3 {
|
||||||
margin-bottom: 1rem !important;
|
margin-bottom: 0.875rem !important;
|
||||||
}
|
|
||||||
.mb-4 {
|
|
||||||
margin-bottom: 1.25rem !important;
|
|
||||||
}
|
}
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
background: #3b82f6;
|
background: #3b82f6;
|
||||||
border: none;
|
border: none;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
padding: 0.625rem 1rem;
|
font-size: 0.9rem;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
}
|
}
|
||||||
@@ -93,13 +96,21 @@
|
|||||||
}
|
}
|
||||||
.alert {
|
.alert {
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
font-size: 0.9rem;
|
font-size: 0.85rem;
|
||||||
padding: 0.75rem 1rem;
|
padding: 0.65rem 0.875rem;
|
||||||
}
|
}
|
||||||
small.text-muted {
|
small.text-muted {
|
||||||
font-size: 0.8rem;
|
font-size: 0.8125rem;
|
||||||
color: #6b7280;
|
color: #6b7280;
|
||||||
line-height: 1.4;
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
.row {
|
||||||
|
margin-left: -0.375rem;
|
||||||
|
margin-right: -0.375rem;
|
||||||
|
}
|
||||||
|
.row > * {
|
||||||
|
padding-left: 0.375rem;
|
||||||
|
padding-right: 0.375rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
|
|
||||||
<!-- Название магазина -->
|
<!-- Название магазина -->
|
||||||
<div class="mb-3">
|
<div class="mb-2">
|
||||||
<label for="{{ form.shop_name.id_for_label }}" class="form-label">
|
<label for="{{ form.shop_name.id_for_label }}" class="form-label">
|
||||||
{{ form.shop_name.label }}
|
{{ form.shop_name.label }}
|
||||||
<span class="text-danger">*</span>
|
<span class="text-danger">*</span>
|
||||||
@@ -24,13 +24,10 @@
|
|||||||
{{ form.shop_name.errors.0 }}
|
{{ form.shop_name.errors.0 }}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if form.shop_name.help_text %}
|
|
||||||
<div class="form-text">{{ form.shop_name.help_text }}</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Поддомен -->
|
<!-- Поддомен -->
|
||||||
<div class="mb-3">
|
<div class="mb-2">
|
||||||
<label for="{{ form.schema_name.id_for_label }}" class="form-label">
|
<label for="{{ form.schema_name.id_for_label }}" class="form-label">
|
||||||
{{ form.schema_name.label }}
|
{{ form.schema_name.label }}
|
||||||
<span class="text-danger">*</span>
|
<span class="text-danger">*</span>
|
||||||
@@ -44,13 +41,11 @@
|
|||||||
{{ form.schema_name.errors.0 }}
|
{{ form.schema_name.errors.0 }}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if form.schema_name.help_text %}
|
|
||||||
<div class="form-text">{{ form.schema_name.help_text }}</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Имя владельца -->
|
<!-- Имя и Телефон в две колонки -->
|
||||||
<div class="mb-3">
|
<div class="row mb-2">
|
||||||
|
<div class="col-md-6">
|
||||||
<label for="{{ form.owner_name.id_for_label }}" class="form-label">
|
<label for="{{ form.owner_name.id_for_label }}" class="form-label">
|
||||||
{{ form.owner_name.label }}
|
{{ form.owner_name.label }}
|
||||||
<span class="text-danger">*</span>
|
<span class="text-danger">*</span>
|
||||||
@@ -62,6 +57,19 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<label for="{{ form.phone.id_for_label }}" class="form-label">
|
||||||
|
{{ form.phone.label }}
|
||||||
|
<span class="text-danger">*</span>
|
||||||
|
</label>
|
||||||
|
{{ form.phone }}
|
||||||
|
{% if form.phone.errors %}
|
||||||
|
<div class="text-danger small mt-1">
|
||||||
|
{{ form.phone.errors.0 }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Email -->
|
<!-- Email -->
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
@@ -80,20 +88,6 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Телефон -->
|
|
||||||
<div class="mb-4">
|
|
||||||
<label for="{{ form.phone.id_for_label }}" class="form-label">
|
|
||||||
{{ form.phone.label }}
|
|
||||||
<span class="text-danger">*</span>
|
|
||||||
</label>
|
|
||||||
{{ form.phone }}
|
|
||||||
{% if form.phone.errors %}
|
|
||||||
<div class="text-danger small mt-1">
|
|
||||||
{{ form.phone.errors.0 }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Кнопка отправки -->
|
<!-- Кнопка отправки -->
|
||||||
<div class="d-grid">
|
<div class="d-grid">
|
||||||
<button type="submit" class="btn btn-primary">
|
<button type="submit" class="btn btn-primary">
|
||||||
@@ -103,7 +97,13 @@
|
|||||||
|
|
||||||
<div class="text-center mt-2">
|
<div class="text-center mt-2">
|
||||||
<small class="text-muted">
|
<small class="text-muted">
|
||||||
Заявка будет проверена администратором в течение 24 часов
|
Заявка будет проверена в течение 24 часов
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="text-center mt-2 pt-2" style="border-top: 1px solid #e5e7eb;">
|
||||||
|
<small class="text-muted">
|
||||||
|
Уже есть аккаунт? <a href="/admin/" style="color: #3b82f6; text-decoration: none;">Войти</a>
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
Reference in New Issue
Block a user