"use client"; import { useQuery } from "@tanstack/react-query"; import { Button } from "@workspace/ui/components/button"; import { Card, CardContent } from "@workspace/ui/components/card"; import { ScrollArea } from "@workspace/ui/components/scroll-area"; import { Sheet, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, } from "@workspace/ui/components/sheet"; import { ArrayInput } from "@workspace/ui/composed/dynamic-Inputs"; import { Icon } from "@workspace/ui/composed/icon"; import { getNodeMultiplier, setNodeMultiplier, } from "@workspace/ui/services/admin/system"; import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { toast } from "sonner"; export default function DynamicMultiplier() { const { t } = useTranslation("servers"); const [open, setOpen] = useState(false); const [timeSlots, setTimeSlots] = useState([]); const { data: periodsResp, refetch: refetchPeriods } = useQuery({ queryKey: ["getNodeMultiplier"], queryFn: async () => { const { data } = await getNodeMultiplier(); return (data.data?.periods || []) as API.TimePeriod[]; }, enabled: open, }); useEffect(() => { if (periodsResp) { setTimeSlots(periodsResp); } }, [periodsResp]); async function savePeriods() { await setNodeMultiplier({ periods: timeSlots }); await refetchPeriods(); toast.success(t("server_config.saveSuccess", "Saved successfully")); setOpen(false); } return (

{t( "server_config.dynamic_multiplier", "Dynamic multiplier" )}

{t( "server_config.dynamic_multiplier_desc", "Define time slots and multipliers to adjust traffic accounting." )}

{t("server_config.dynamic_multiplier", "Dynamic multiplier")} {t( "server_config.dynamic_multiplier_desc", "Define time slots and multipliers to adjust traffic accounting." )}
fields={[ { name: "start_time", prefix: t("server_config.fields.start_time", "Start time"), type: "time", step: "1", }, { name: "end_time", prefix: t("server_config.fields.end_time", "End time"), type: "time", step: "1", }, { name: "multiplier", prefix: t("server_config.fields.multiplier", "Multiplier"), type: "number", placeholder: "0", }, ]} onChange={setTimeSlots} value={timeSlots} />
); }