68cfe7594b
restore_items_view ahora responde JSON cuando la petición es AJAX (X-Requested-With):
GET con character_name -> {items}; POST recover_id -> {success, message}. Se conserva
el flujo legacy (redirect+messages) para no-AJAX. RestoreItemsForm.tsx: paso 1 elegir
personaje y buscar ítems borrados (SOAP), paso 2 elegir ítem y recuperarlo; refresca la
lista tras recuperar. La vista pasa character_names por json_script.
Verificado: check OK, render de la isla, redirige a login sin sesión.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
15 lines
531 B
TypeScript
15 lines
531 B
TypeScript
import { StrictMode } from 'react'
|
|
import { createRoot } from 'react-dom/client'
|
|
import { RestoreItemsForm } from '../components/RestoreItemsForm'
|
|
|
|
const el = document.getElementById('restore-items-app')
|
|
if (el) {
|
|
const dEl = document.getElementById('restore-items-data')
|
|
const characters: string[] = dEl ? JSON.parse(dEl.textContent || '[]') : []
|
|
createRoot(el).render(
|
|
<StrictMode>
|
|
<RestoreItemsForm url={el.dataset.url || ''} csrfToken={el.dataset.csrf || ''} characters={characters} />
|
|
</StrictMode>,
|
|
)
|
|
}
|