gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/users/components/dialogs/mutation/sections/data-limit/index.tsx · v0.5.4
Source
1 f035f9d Mardin 2y ago import { FC } from "react";
2 f035f9d Mardin 2y ago import { FormLabel, Switch } from '@marzneshin/components';
3 f035f9d Mardin 2y ago import { useTranslation } from 'react-i18next';
4 f035f9d Mardin 2y ago import { DataLimitField, DataLimitResetStrategyField } from "../../fields";
5 f035f9d Mardin 2y ago import { useFormContext } from "react-hook-form";
6 f035f9d Mardin 2y ago import { useDataLimit } from "./use-data-limit";
7 f035f9d Mardin 2y ago
8 f035f9d Mardin 2y ago export const DataLimitFields: FC = () => {
9 f035f9d Mardin 2y ago const { t } = useTranslation();
10 f035f9d Mardin 2y ago const { isDataLimitEnabled, setIsDataLimitEnabled } = useDataLimit();
11 f035f9d Mardin 2y ago const form = useFormContext();
12 f035f9d Mardin 2y ago
13 f035f9d Mardin 2y ago const handleToggleChange = () => {
14 f035f9d Mardin 2y ago setIsDataLimitEnabled(!isDataLimitEnabled);
15 f035f9d Mardin 2y ago };
16 f035f9d Mardin 2y ago
17 f035f9d Mardin 2y ago return (
18 f035f9d Mardin 2y ago <div className="my-2">
19 f035f9d Mardin 2y ago <FormLabel className="hstack justify-between items-center text-md my-2" >
20 f035f9d Mardin 2y ago {t('page.users.data_limit_method')}
21 f035f9d Mardin 2y ago <Switch checked={isDataLimitEnabled} onCheckedChange={handleToggleChange} />
22 f035f9d Mardin 2y ago </FormLabel>
23 f035f9d Mardin 2y ago <div className="flex gap-2 items-center w-full sm:flex-row md:flex-col">
24 f035f9d Mardin 2y ago {isDataLimitEnabled && (
25 f035f9d Mardin 2y ago <div className="flex gap-2 items-center w-full">
26 f035f9d Mardin 2y ago <DataLimitField />
27 f035f9d Mardin 2y ago {form.watch().data_limit !== 0 && <DataLimitResetStrategyField />}
28 f035f9d Mardin 2y ago </div>
29 f035f9d Mardin 2y ago )}
30 f035f9d Mardin 2y ago </div>
31 f035f9d Mardin 2y ago </div>
32 f035f9d Mardin 2y ago );
33 f035f9d Mardin 2y ago };