Fase 3 (isla): recuperar personaje (restore_character) en React/TSX

restore_character_view pasa de redirect+messages a JSON en POST: guid -> SOAP
.char del restore -> {success, message, redirect}. RestoreCharacterForm.tsx
(select de personajes borrados + botón) hace fetch y en éxito redirige a my-account.
La vista pasa character_data por json_script; se conserva la rama sin personajes.

Verificado: check OK, ambas ramas renderizan, redirige a login sin sesión.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-12 21:57:49 +00:00
parent ff458379b0
commit 08c36619f0
5 changed files with 116 additions and 21 deletions
@@ -33,15 +33,13 @@
<p>{{ message }}</p>
{% endif %}
{% if character_list %}
<form method="POST">
{% csrf_token %}
<select name="guid">
{% for character in character_list %}
<option value="{{ character.guid }}">{{ character.name }} (LvL {{ character.level }})</option>
{% endfor %}
</select>
<button type="submit">Restaurar Personaje</button>
</form>
{% load django_vite %}
<!-- Isla React (Vite): recuperar personaje borrado (guid -> SOAP). -->
<div id="restore-character-app"
data-csrf="{{ csrf_token }}"
data-url="{% url 'restore-character' %}"></div>
{{ character_data|json_script:"restore-character-data" }}
{% vite_asset 'src/entries/restore_character.tsx' %}
{% else %}
<span>No hay personajes eliminados disponibles para restaurar.</span>
{% endif %}