web-next: rediseño de security-token, recover, vote-points + rename-guild
- /security-token: diseño completo del original (info + advertencia + NOTA 7 días), fecha en formato HH:MM:SS DD-MM-YYYY, botón "Token enviado", enlace a /recover. - /recover: 4 opciones (contraseña por usuario, nombre de cuenta, token de seguridad y enlace de activación por correo); recuperación de token nueva; Turnstile por envío. - /vote-points: caja de info con las 7 secciones Q&A + panel "Sitios de votación" con tarjetas inline-div (imagen, PV, último voto), botón refrescar; abre el sitio y acredita PV al volver. lib/vote.ts + getVoteSitesForAccount. - /rename-guild: renombra una hermandad de la que la cuenta es Maestro por 1000 PD + token de seguridad; SOAP .guild rename con comillas; reembolsa los PD si SOAP falla. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -31,6 +31,22 @@ export default async function SecurityTokenPage({ params }: { params: Promise<{
|
||||
return (
|
||||
<PageShell title={t('title')}>
|
||||
<ServiceBox>
|
||||
<br />
|
||||
<p>{t.rich('info1', { b: (c) => <span>{c}</span> })}</p>
|
||||
<p>{t('info2')}</p>
|
||||
<br />
|
||||
<p>{t('info3')}</p>
|
||||
<p>{t('info4')}</p>
|
||||
<br />
|
||||
<p><span className="red-info2">{t('warning')}</span></p>
|
||||
<br />
|
||||
<fieldset>
|
||||
<legend>NOTA</legend>
|
||||
<div className="separate2">
|
||||
<p>{t('note')}</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<SecurityTokenForm initialDate={tokenDate} />
|
||||
</ServiceBox>
|
||||
</PageShell>
|
||||
|
||||
Reference in New Issue
Block a user