fix: huge refactor

This commit is contained in:
2026-03-17 14:03:51 +01:00
parent be87ab4fa1
commit 71b02610d1
50 changed files with 2763 additions and 3516 deletions
+71
View File
@@ -0,0 +1,71 @@
{% extends 'theme/base.html' %}
{% load i18n %}
{% block main %}
<section class=" ">
<div class="flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0">
<a href="{% url 'web:index' %}"
class="flex items-center mb-6 text-2xl font-semibold ">
<img class="w-8 h-8 mr-2" src="{{ logo }}" alt="logo">
{{ web_title }}
</a>
<div
class="w-full rounded-lg shadow md:mt-0 sm:max-w-md xl:p-0 ">
<div class="p-6 space-y-4 md:space-y-6 sm:p-8">
<h1 class="text-xl font-bold leading-tight tracking-tight md:text-2xl ">
{% translate 'Inicia sesión en tu cuenta' %}
</h1>
<form action="{% url 'users:login' %}{% querystring %}" method="post">
{% csrf_token %}
{% for field in form %}
{% if field.id_for_label != 'id_remember_me' %}
<label for="{{ field.id_for_label }}"
class="block mb-2 text-sm font-medium ">
{{ field.label }}
</label>
{{ field }}
{% else %}
<div class="my-2 flex items-center">
{{ field }}
<label for="{{ field.id_for_label }}"
class="inline-block text-sm font-medium ml-2">
{{ field.label }}
</label>
</div>
{% endif %}
{% endfor %}
<div class="flex justify-center">
<p class="text-sm font-light my-4 ">
{% translate '¿Aún no tienes cuenta?' %}
<a href="{% url 'users:register' %}"
class="font-medium text-primary-700 hover:underline ">{% translate 'Regístrate aquí' %}</a>
</p>
</div>
{% for k, error in form.errors.items %}
<span class="flex justify-center mb-2 text-sm font-medium text-red-900 ">{{ error }}</span>
{% endfor %}
<button
class="w-full btn btn-primary">
{% translate 'Iniciar sesión' %}
</button>
<div class="flex justify-center">
<p class="text-sm font-light mt-4 ">
<a href="{% url 'users:reset_password' %}"
class="font-medium text-primary-700 hover:underline ">{% translate '¿Has olvidado tu contraseña?' %}</a>
</p>
</div>
</form>
</div>
</div>
</div>
</section>
{% endblock %}
+52
View File
@@ -0,0 +1,52 @@
{% extends 'theme/base.html' %}
{% load i18n %}
{% block main %}
<section class=" ">
<div class="flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0">
<a href="{% url 'web:index' %}" class="flex items-center mb-6 text-2xl font-semibold ">
<img class="w-8 h-8 mr-2" src="{{ logo }}" alt="logo">
{{ web_title }}
</a>
<div
class="w-full rounded-lg shadow md:mt-0 sm:max-w-md xl:p-0 ">
<div class="p-6 space-y-4 md:space-y-6 sm:p-8">
<h1 class="text-xl font-bold leading-tight tracking-tight md:text-2xl ">
{% translate 'Crea tu cuenta' %}
</h1>
<form action="{% url 'users:register' %}" method="post">
{% csrf_token %}
{% for field in form %}
<div class="my-2">
<label for="{{ field.id_for_label }}"
class="inline-block text-sm font-medium mr-2">
{{ field.label }}
</label>
{{ field }}
</div>
{% endfor %}
{% if errors %}
{% for error in errors %}
<span class="inline-block text-sm font-medium text-red-900 mr-2">{{ error }}</span>
{% endfor %}
{% endif %}
<button class="w-full btn btn-primary">
{% translate 'Crear cuenta' %}
</button>
<p class="text-sm font-light mt-4 ">
{% translate '¿Ya tienes cuenta?' %}
<a href="{% url 'users:login' %}" class="font-medium text-primary-600 hover:underline ">{% translate 'Inicia sesión aquí' %}</a>
</p>
</form>
</div>
</div>
</div>
</section>
{% endblock %}
+43
View File
@@ -0,0 +1,43 @@
{% extends 'theme/base.html' %}
{% load i18n %}
{% block main %}
<section class="flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0">
<a href="{% url 'web:index' %}" class="flex items-center mb-6 text-2xl font-semibold ">
<img class="w-8 h-8 mr-2" src="{{ logo }}" alt="logo">
{{ web_title }}
</a>
<div
class="w-full rounded-lg shadow md:mt-0 sm:max-w-md xl:p-0 ">
<div class="p-6 space-y-4 md:space-y-6 sm:p-8">
<h1 class="text-xl font-bold leading-tight tracking-tight md:text-2xl ">
{% translate 'Restablecer contraseña' %}
</h1>
<form action="{% url 'users:reset_password' %}" method="post">
{% csrf_token %}
{% for field in form %}
<div class="my-2">
<label for="{{ field.id_for_label }}"
class="inline-block text-sm font-medium mr-2">
{{ field.label }}
</label>
{{ field }}
</div>
{% endfor %}
<button
class="btn btn-primary w-full">
{% translate 'Restablecer contraseña' %}
</button>
<p class="text-sm font-light mt-4 ">
{% translate '¿Aún no tienes cuenta?' %}
<a href="{% url 'users:register' %}"
class="font-medium text-primary-600 hover:underline ">{% translate 'Regístrate aquí' %}</a>
</p>
</form>
</div>
</div>
</section>
{% endblock %}
@@ -0,0 +1,50 @@
{% extends 'theme/base.html' %}
{% load i18n %}
{% block main %}
<section class=" ">
<div class="flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0">
<a href="{% url 'web:index' %}" class="flex items-center mb-6 text-2xl font-semibold ">
<img class="w-8 h-8 mr-2" src="{{ logo }}" alt="logo">
{{ web_title }}
</a>
<div
class="w-full rounded-lg shadow md:mt-0 sm:max-w-md xl:p-0 ">
<div class="p-6 space-y-4 md:space-y-6 sm:p-8">
<h1 class="text-xl font-bold leading-tight tracking-tight md:text-2xl ">
{% translate 'Restablecer contraseña' %}
</h1>
{% if valid_token %}
<form method="post">
{% csrf_token %}
{% for field in form %}
<div class="my-2">
<label for="{{ field.id_for_label }}"
class="inline-block text-sm font-medium mr-2">
{{ field.label }}
</label>
{{ field }}
</div>
{% endfor %}
<button
class="w-full btn btn-primary">
{% translate 'Restablecer contraseña' %}
</button>
<p class="text-sm font-light mt-4 ">
{% translate '¿Aún no tienes cuenta?' %}
<a href="{% url 'users:register' %}" class="font-medium text-primary-600 hover:underline ">{% translate 'Regístrate aquí' %}</a>
</p>
</form>
{% else %}
<span>El enlace no es válido o ha expirado</span>
{% endif %}
</div>
</div>
</div>
</section>
{% endblock %}
@@ -0,0 +1,31 @@
{% extends 'theme/base.html' %}
{% load i18n %}
{% block main %}
<section class=" ">
<div class="flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0">
<a href="{% url 'web:index' %}"
class="flex items-center mb-6 text-2xl font-semibold ">
<img class="w-8 h-8 mr-2" src="{{ logo }}" alt="logo">
{{ web_title }}
</a>
<div
class="w-full rounded-lg shadow md:mt-0 sm:max-w-md xl:p-0 ">
<div class="p-6 space-y-4 md:space-y-6 sm:p-8">
<h1 class="text-xl font-bold leading-tight tracking-tight md:text-2xl ">
{% translate 'Se te ha enviado un correo electrónico para restablecer tu contraseña' %}
</h1>
<p class="text-sm font-light mt-4 ">
{% translate '¿Aún no tienes cuenta?' %}
<a href="{% url 'users:register' %}"
class="font-medium text-primary-600 hover:underline ">{% translate 'Regístrate aquí' %}</a>
</p>
</div>
</div>
</div>
</section>
{% endblock %}
+60
View File
@@ -0,0 +1,60 @@
{% extends 'theme/base.html' %}
{% load i18n %}
{% block main %}
{% include 'components/generic/navbar.html' %}
<section class=" py-8 antialiased md:py-8">
<div class="mx-auto max-w-screen-lg px-4 2xl:px-0">
<h2
class="mb-4 text-xl font-semibold sm:text-2xl md:mb-6"
>
{% translate 'Mi cuenta' %}
</h2>
<div class="md:grid md:grid-cols-2 md:gap-4">
<section class="p-6 rounded-md">
<h2 class="mb-4 text-xl font-semibold sm:text-2xl md:mb-6">
{% translate 'Datos de usuario' %}
</h2>
<div hx-get="{% url 'web:user_info_component' %}" hx-trigger="load, updated_user_info">
<div class="flex justify-center items-center">
{% include 'components/generic/spinner.html' %}
</div>
</div>
</section>
<section
class="p-6 rounded-md mt-4 md:mt-0"
>
<h2 class="mb-4 text-xl font-semibold sm:text-2xl md:mb-6">
{% translate 'Contraseña' %}
</h2>
<div hx-get="{% url 'web:change_password_component' %}" hx-trigger="load, changed_password">
<div class="flex justify-center items-center">
{% include 'components/generic/spinner.html' %}
</div>
</div>
</section>
</div>
<div class="mt-4 p-6 rounded-md ">
<div class="flex space-x-4">
<div>
<h3 class="flex items-center text-xl font-bold leading-none sm:text-2xl">
{% translate 'Mis direcciones' %}
</h3>
</div>
</div>
<hr class="h-px my-2 ">
{% if customer_addresses.count == 0 %}
<span class=" ">{% translate 'No hay ninguna dirección' %}</span>
{% endif %}
<div hx-get="{% url 'web:list_customer_addresses_component' %}" hx-trigger="load, updated_addresses">
</div>
</div>
</div>
</section>
{% endblock %}