gitscope
← marzneshin / v0.7.0 / dashboard/src/modules/users/components/dialogs/mutation/sections/data-limit/use-data-limit.ts
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/modules/users/components/dialogs/mutation/sections/data-limit/use-data-limit.ts · TypeScript
Blame Raw
 1import { useEffect, useState } from "react";
 2import { useFormContext } from "react-hook-form";
 3
 4export const useDataLimit = () => {
 5    const form = useFormContext();
 6    const dataLimit = form.watch("data_limit");
 7
 8    const [isDataLimitEnabled, setIsDataLimitEnabled] = useState<boolean>(!!dataLimit);
 9
10    useEffect(() => {
11        if (!isDataLimitEnabled) {
12            form.setValue("data_limit", 0);
13            form.setValue("data_limit_reset_strategy", "no_reset");
14        }
15        // eslint-disable-next-line react-hooks/exhaustive-deps
16    }, [isDataLimitEnabled]);
17
18    return { isDataLimitEnabled, setIsDataLimitEnabled };
19};