← marzneshin
/
dashboard/src/features/users/components/dialogs/mutation/sections/data-limit/index.tsx
/
blame
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/users/components/dialogs/mutation/sections/data-limit/index.tsx
· v0.5.1
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 | }; |