"use client"; import { updatePreferencesAction } from "@/app/(dashboard)/ajustes/actions"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Switch } from "@/components/ui/switch"; import { useRouter } from "next/navigation"; import { useState, useTransition } from "react"; import { toast } from "sonner"; interface PreferencesFormProps { disableMagnetlines: boolean; periodMonthsBefore: number; periodMonthsAfter: number; } export function PreferencesForm({ disableMagnetlines, periodMonthsBefore, periodMonthsAfter, }: PreferencesFormProps) { const router = useRouter(); const [isPending, startTransition] = useTransition(); const [magnetlinesDisabled, setMagnetlinesDisabled] = useState(disableMagnetlines); const [monthsBefore, setMonthsBefore] = useState(periodMonthsBefore); const [monthsAfter, setMonthsAfter] = useState(periodMonthsAfter); const handleSubmit = async (event: React.FormEvent) => { event.preventDefault(); startTransition(async () => { const result = await updatePreferencesAction({ disableMagnetlines: magnetlinesDisabled, periodMonthsBefore: monthsBefore, periodMonthsAfter: monthsAfter, }); if (result.success) { toast.success(result.message); // Recarregar a página para aplicar as mudanças nos componentes router.refresh(); // Forçar reload completo para garantir que os hooks re-executem setTimeout(() => { window.location.reload(); }, 500); } else { toast.error(result.error); } }); }; return (

Remove o recurso de linhas magnéticas do sistema. Essa mudança afeta a interface e interações visuais.

Seleção de Período

Configure quantos meses antes e depois do mês atual serão exibidos nos seletores de período.

setMonthsBefore(Number(e.target.value))} disabled={isPending} className="w-full" />

1 a 24 meses

setMonthsAfter(Number(e.target.value))} disabled={isPending} className="w-full" />

1 a 24 meses

); }