import type { Metadata } from 'next'
import { setRequestLocale } from 'next-intl/server'
import { redirect } from '@/i18n/navigation'
import { getSession } from '@/lib/session'
import { getGuildMasterGuilds, GUILD_RENAME_PD } from '@/lib/guild'
import { PageShell } from '@/components/PageShell'
import { ServiceBox } from '@/components/ServiceBox'
import { RenameGuildForm } from '@/components/RenameGuildForm'

export const dynamic = 'force-dynamic'

export const metadata: Metadata = { title: 'Renombrar hermandad' }

export default async function RenameGuildPage({ params }: { params: Promise<{ locale: string }> }) {
  const { locale } = await params
  setRequestLocale(locale)

  const session = await getSession()
  if (!session.bnetId) redirect({ href: '/login', locale })
  if (!session.username) redirect({ href: '/select-account', locale })

  const guilds = await getGuildMasterGuilds(session.accountId!)

  return (
    <PageShell title="Renombrar hermandad">
      <ServiceBox>
        <br />
        <p>
          La herramienta <span>Renombrar hermandad</span> te permite cambiar de nombre a una hermandad de la cual seas
          Maestro de Hermandad.
        </p>
        <br />
        <p>A la hora de escoger un nuevo nombre, ten en cuenta:</p>
        <p>- La longitud máxima es de 24 caracteres.</p>
        <p>- Los caracteres permitidos son A-Za-z y el espacio.</p>
        <br />
        <p>
          Al usar el botón RENOMBRAR HERMANDAD de la hermandad que hayas escogido, se cambiará su nombre al nuevo nombre
          que hayas ingresado.
        </p>
        <p>
          El cambio de nombre de hermandad es instantáneo. Puede ser necesario que los miembros de la hermandad
          conectados deban volver a conectar para finalmente ver el nuevo nombre.
        </p>
        <br />
        <fieldset>
          <legend>NOTA</legend>
          <div className="separate2">
            <p>
              Por favor, asegúrate de haber elegido el nombre correcto ya que esta acción no es reversible una vez
              realizada.
            </p>
          </div>
        </fieldset>

        <div className="centered">
          <br />
          <br />
          <p>Requiere <span>{GUILD_RENAME_PD}</span> <span className="yellow-info">PD</span></p>
          <br />
        </div>

        <RenameGuildForm guilds={guilds} />
      </ServiceBox>
    </PageShell>
  )
}
