← marzneshin
/
v0.6.5
/
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};