gitscope
https://dev.kronoz.win/r/marzneshin.git
app/dashboard/src/pages/services/dialog/inbounds-field.tsx · v0.1.4
Source
1 2ae554f Mardin 2y ago import { FormControl, FormLabel, FormErrorMessage, Center, Spinner } from '@chakra-ui/react';
2 89f8f93 Mardin 2y ago import { Inbounds, InboundType } from 'types';
3 912788f Mardin 2y ago import { TFunction } from 'i18next';
4 912788f Mardin 2y ago import { Controller } from 'react-hook-form';
5 bedeeff Mardin 2y ago import { InboundsSelectList } from './inbounds-select-list';
6 2ae554f Mardin 2y ago import { InboundCard } from 'components/inbounds-card';
7 912788f Mardin 2y ago
8 912788f Mardin 2y ago
9 912788f Mardin 2y ago interface InboundsFieldProps {
10 4205669 Mardin 2y ago form: any;
11 4205669 Mardin 2y ago inbounds: Inbounds;
12 4205669 Mardin 2y ago t: TFunction<'translation', undefined, 'translation'>;
13 912788f Mardin 2y ago }
14 912788f Mardin 2y ago
15 912788f Mardin 2y ago export const InboundsField = ({ form, t, inbounds }: InboundsFieldProps) => {
16 912788f Mardin 2y ago return inbounds.length === 0 ? (
17 912788f Mardin 2y ago <Center><Spinner /></Center>
18 912788f Mardin 2y ago ) : (
19 912788f Mardin 2y ago <FormControl
20 912788f Mardin 2y ago isInvalid={
21 912788f Mardin 2y ago !!form.formState.errors.services?.message
22 912788f Mardin 2y ago }
23 912788f Mardin 2y ago >
24 912788f Mardin 2y ago <FormLabel>{t('inbounds')}</FormLabel>
25 912788f Mardin 2y ago <Controller
26 912788f Mardin 2y ago control={form.control}
27 912788f Mardin 2y ago name="inbounds"
28 912788f Mardin 2y ago render={() => {
29 912788f Mardin 2y ago return (
30 912788f Mardin 2y ago <InboundsSelectList
31 912788f Mardin 2y ago list={inbounds}
32 912788f Mardin 2y ago renderCheckboxContent={(inbound: InboundType) => (
33 2ae554f Mardin 2y ago <InboundCard tag={inbound.tag} protocol={inbound.protocol} nodeName={inbound.node.name} />
34 912788f Mardin 2y ago )}
35 912788f Mardin 2y ago />
36 912788f Mardin 2y ago );
37 912788f Mardin 2y ago }}
38 912788f Mardin 2y ago />
39 912788f Mardin 2y ago <FormErrorMessage>
40 912788f Mardin 2y ago {t(form.formState.errors.services?.message as string)}
41 912788f Mardin 2y ago </FormErrorMessage>
42 912788f Mardin 2y ago </FormControl>
43 912788f Mardin 2y ago );
44 912788f Mardin 2y ago }