Files
bot-pontos/web/app/(painel)/configuracoes/page.tsx
2026-10-23 22:31:02 -03:00

44 lines
1.7 KiB
TypeScript

import { redirect } from "next/navigation";
import { isRestricted } from "@/lib/access";
import { apiGet } from "@/lib/server-api";
import type { Me, Settings } from "@/lib/types";
import { SettingsForm } from "./form";
export default async function SettingsPage() {
const me = await apiGet<Me>("/auth/me");
if (isRestricted(me.account)) redirect("/");
const settings = await apiGet<Settings>("/settings");
return (
<>
<h1>Configurações</h1>
<section className="card">
<h2>Janela de consulta global</h2>
<p className="muted">
A PontoMais só é consultada dentro desta janela, no fuso de cada usuário. Usuários com janela personalizada não
são afetados por mudanças aqui. A mudança vale a partir da próxima consulta.
</p>
<SettingsForm initial={settings.window} disabled={me.account.role === "viewer"} />
</section>
<section className="card">
<h2>Parâmetros do servidor</h2>
<p className="muted">Definidos por variáveis de ambiente; alterá-los exige reiniciar os containers.</p>
<dl className="kv">
<dt>Reconciliação</dt>
<dd>a cada {settings.reconciliation_minutes} min</dd>
<dt>Consultas lentas</dt>
<dd>a cada {settings.slow_check_minutes} min (dia sem pontos e tarde com 3 pontos)</dd>
<dt>Despacho dos lembretes</dt>
<dd>a cada {settings.dispatch_minutes} min</dd>
<dt>Tolerância de atraso</dt>
<dd>{settings.late_tolerance_minutes} min (acima disso o lembrete expira)</dd>
<dt>Pausa por falhas</dt>
<dd>após {settings.api_failure_threshold} falhas seguidas na PontoMais</dd>
</dl>
</section>
</>
);
}