Fase 3 (isla): panel de votación (vote_points) en React/TSX
vote_points_view ya devolvía JSON en POST. VotePanel.tsx renderiza los sitios de votación (nombre, icono, PV) y cada botón abre el sitio en otra pestaña y hace POST del voto -> acredita PV o muestra el cooldown que devuelve el backend. La vista pasa vote_sites_data (serializable) por json_script. Se elimina el JS jQuery y el panel duplicado; la sección informativa se queda en Django. Verificado: check OK, render de la isla correcto, redirige a login sin sesión. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -59,7 +59,13 @@ def vote_points_view(request):
|
||||
return JsonResponse({'success': True, 'message': f'Has votado en {site.name}. Se han acreditado {site.points} PV.'})
|
||||
|
||||
vote_sites = VoteSite.objects.all()
|
||||
return render(request, 'account/vote_points.html', {'vote_sites': vote_sites})
|
||||
return render(request, 'account/vote_points.html', {
|
||||
'vote_sites': vote_sites,
|
||||
'vote_sites_data': [
|
||||
{'name': s.name, 'image_url': s.image_url, 'points': s.points, 'url': s.url}
|
||||
for s in vote_sites
|
||||
],
|
||||
})
|
||||
def d_points_view(request):
|
||||
"""
|
||||
Vista para la página de D-Points.
|
||||
|
||||
Reference in New Issue
Block a user