// BEGIN CHANGE: staff server save documentation panel (admin only)
"use client";

import { CollapsiblePanel } from "@/components/CollapsiblePanel";

export function AdminSaveServerDoc() {
  return (
    <CollapsiblePanel
      id="admin-dash-server-save"
      title="Server Save (soft + global)"
      titleClassName="font-medium"
      defaultOpen={false}
    >
      <p className="text-sm text-muted">
        Documentacao interna para staff. O servidor usa <strong className="text-foreground">dois saves automaticos</strong>{" "}
        distintos: soft save horario (sem restart) e global save diario (shutdown + restart).
      </p>

      <div className="mt-4 grid gap-3 lg:grid-cols-2 text-sm">
        <section className="rounded-md border border-border/60 p-3">
          <p className="font-medium">Soft save (a cada 1 h)</p>
          <ul className="mt-2 list-disc space-y-1 pl-5 text-muted">
            <li>
              Globalevent <code className="text-foreground">SoftSave</code> - intervalo{" "}
              <span className="text-foreground">3.600.000 ms</span> (1 hora).
            </li>
            <li>
              Script: <code className="text-foreground">data/globalevents/scripts/soft_save.lua</code>
            </li>
            <li>
              Chama <code className="text-foreground">doSaveServer(13)</code> - flags players + map + state (C++{" "}
              <code className="text-foreground">saveGameState</code>).
            </li>
            <li>
              Avisa online no canal INFO (11):{" "}
              <span className="text-foreground">[SERVER-SAVE] Os dados do server foram salvos com sucesso!</span>
            </li>
            <li>
              <span className="text-foreground">Nao reinicia</span> o servidor e nao desconecta players.
            </li>
          </ul>
        </section>

        <section className="rounded-md border border-border/60 p-3">
          <p className="font-medium">Global save (07:00 - restart)</p>
          <ul className="mt-2 list-disc space-y-1 pl-5 text-muted">
            <li>
              Globalevent <code className="text-foreground">GlobalSave</code> agendado as{" "}
              <span className="text-foreground">07:00</span> (horario do servidor).
            </li>
            <li>
              Script: <code className="text-foreground">data/globalevents/scripts/GlobalSave.lua</code>
            </li>
            <li>Countdown de <span className="text-foreground">5 minutos</span> com broadcasts de aviso.</li>
            <li>
              Ao zerar: <code className="text-foreground">GAMESTATE_SHUTDOWN</code> - kick de todos, save completo e
              restart via <code className="text-foreground">restarter</code>.
            </li>
            <li>
              <code className="text-foreground">globalSaveEnabled = false</code> no config.lua - o save global nativo
              do motor C++ esta <span className="text-foreground">desligado</span>; o shutdown diario e so via Lua.
            </li>
          </ul>
        </section>
      </div>

      <section className="mt-4 rounded-md border border-border/60 p-3 text-sm">
        <p className="font-medium">Outros saves e hooks</p>
        <div className="mt-3 overflow-x-auto">
          <table className="w-full min-w-[28rem] text-left text-xs">
            <thead>
              <tr className="border-b border-border text-muted">
                <th className="py-1 pr-3">Momento</th>
                <th className="py-1">O que salva</th>
              </tr>
            </thead>
            <tbody className="text-muted">
              <tr>
                <td className="py-1 pr-3">Logout do player</td>
                <td className="py-1">Save individual do personagem (padrao OTX).</td>
              </tr>
              <tr>
                <td className="py-1 pr-3">Shutdown (global 07:00 ou manual)</td>
                <td className="py-1">
                  <code className="text-foreground">HouseItemsSync</code> sincroniza itens de houses; depois save
                  players + map + state.
                </td>
              </tr>
              <tr>
                <td className="py-1 pr-3">God <code className="text-foreground">/save</code></td>
                <td className="py-1">
                  <code className="text-foreground">doSaveServer()</code> manual (talkaction save.lua).
                </td>
              </tr>
              <tr>
                <td className="py-1 pr-3">Startup</td>
                <td className="py-1">
                  DB Cleaner, house clean e demais globalevents de boot - nao e save, mas roda apos restart do global
                  save.
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </section>

      <div className="mt-4 rounded-md border border-amber-500/40 bg-amber-500/5 px-3 py-2 text-xs text-muted">
        Dicas automaticas (<code className="text-foreground">mensagem.lua</code>) rodam a cada 15 min e{" "}
        <span className="text-foreground">nao disparam save</span> - o aviso de save vem so do soft save horario.
      </div>

      <p className="mt-3 text-xs text-muted">
        Repo servidor: <code className="text-foreground">data/globalevents/globalevents.xml</code>,{" "}
        <code className="text-foreground">soft_save.lua</code>, <code className="text-foreground">GlobalSave.lua</code>,{" "}
        <code className="text-foreground">config.lua</code> (globalSave*).
      </p>
    </CollapsiblePanel>
  );
}
// END CHANGE
