gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/users/dialogs/mutation/fields/onhold-expire-duration.tsx · v0.3.0-alpha1
Source
1 857e289 Mrdn 2y ago
2 857e289 Mrdn 2y ago import {
3 857e289 Mrdn 2y ago FormControl,
4 857e289 Mrdn 2y ago FormField,
5 857e289 Mrdn 2y ago FormItem,
6 857e289 Mrdn 2y ago Input,
7 857e289 Mrdn 2y ago FormLabel,
8 857e289 Mrdn 2y ago FormMessage
9 857e289 Mrdn 2y ago } from '@marzneshin/components';
10 857e289 Mrdn 2y ago import { FC, useEffect, useState } from 'react'
11 857e289 Mrdn 2y ago import { useFormContext } from 'react-hook-form';
12 857e289 Mrdn 2y ago import { useTranslation } from 'react-i18next';
13 857e289 Mrdn 2y ago
14 857e289 Mrdn 2y ago interface OnHoldExpireDurationFieldProps { }
15 857e289 Mrdn 2y ago
16 857e289 Mrdn 2y ago export const OnHoldExpireDurationField: FC<OnHoldExpireDurationFieldProps> = () => {
17 857e289 Mrdn 2y ago const form = useFormContext()
18 857e289 Mrdn 2y ago const [duration, setDuration] = useState<number>(0)
19 857e289 Mrdn 2y ago useEffect(() => {
20 857e289 Mrdn 2y ago form.setValue('on_hold_expire_duration', duration * 86400)
21 857e289 Mrdn 2y ago }, [form, duration])
22 857e289 Mrdn 2y ago const { t } = useTranslation()
23 857e289 Mrdn 2y ago
24 857e289 Mrdn 2y ago return (
25 857e289 Mrdn 2y ago <FormField
26 857e289 Mrdn 2y ago control={form.control}
27 857e289 Mrdn 2y ago name="on_hold_expire_duration"
28 857e289 Mrdn 2y ago render={({ field }) => (
29 857e289 Mrdn 2y ago <FormItem>
30 857e289 Mrdn 2y ago <FormLabel>{t('page.users.on_hold_expire_duration')}</FormLabel>
31 857e289 Mrdn 2y ago <FormControl>
32 857e289 Mrdn 2y ago <Input
33 857e289 Mrdn 2y ago type="number"
34 857e289 Mrdn 2y ago {...field}
35 857e289 Mrdn 2y ago value={duration}
36 857e289 Mrdn 2y ago onChange={(e) => setDuration(Number(e.target.value))}
37 857e289 Mrdn 2y ago />
38 857e289 Mrdn 2y ago </FormControl>
39 857e289 Mrdn 2y ago <FormMessage />
40 857e289 Mrdn 2y ago </FormItem>
41 857e289 Mrdn 2y ago )}
42 857e289 Mrdn 2y ago />
43 857e289 Mrdn 2y ago );
44 857e289 Mrdn 2y ago }