Spaces:
Paused
Paused
import { useTranslate } from '@/hooks/common-hooks'; | |
import { Form, Input, Select } from 'antd'; | |
import { useMemo } from 'react'; | |
import { | |
QWeatherLangOptions, | |
QWeatherTimePeriodOptions, | |
QWeatherTypeOptions, | |
QWeatherUserTypeOptions, | |
} from '../constant'; | |
import { IOperatorForm } from '../interface'; | |
const QWeatherForm = ({ onValuesChange, form }: IOperatorForm) => { | |
const { t } = useTranslate('flow'); | |
const qWeatherLangOptions = useMemo(() => { | |
return QWeatherLangOptions.map((x) => ({ | |
value: x, | |
label: t(`qWeatherLangOptions.${x}`), | |
})); | |
}, [t]); | |
const qWeatherTypeOptions = useMemo(() => { | |
return QWeatherTypeOptions.map((x) => ({ | |
value: x, | |
label: t(`qWeatherTypeOptions.${x}`), | |
})); | |
}, [t]); | |
const qWeatherUserTypeOptions = useMemo(() => { | |
return QWeatherUserTypeOptions.map((x) => ({ | |
value: x, | |
label: t(`qWeatherUserTypeOptions.${x}`), | |
})); | |
}, [t]); | |
const qWeatherTimePeriodOptions = useMemo(() => { | |
return QWeatherTimePeriodOptions.map((x) => ({ | |
value: x, | |
label: t(`qWeatherTimePeriodOptions.${x}`), | |
})); | |
}, [t]); | |
return ( | |
<Form | |
name="basic" | |
labelCol={{ span: 6 }} | |
wrapperCol={{ span: 18 }} | |
autoComplete="off" | |
form={form} | |
onValuesChange={onValuesChange} | |
> | |
<Form.Item label={t('webApiKey')} name={'web_apikey'}> | |
<Input></Input> | |
</Form.Item> | |
<Form.Item label={t('lang')} name={'lang'}> | |
<Select options={qWeatherLangOptions}></Select> | |
</Form.Item> | |
<Form.Item label={t('type')} name={'type'}> | |
<Select options={qWeatherTypeOptions}></Select> | |
</Form.Item> | |
<Form.Item label={t('userType')} name={'user_type'}> | |
<Select options={qWeatherUserTypeOptions}></Select> | |
</Form.Item> | |
<Form.Item noStyle dependencies={['type']}> | |
{({ getFieldValue }) => | |
getFieldValue('type') === 'weather' && ( | |
<Form.Item label={t('timePeriod')} name={'time_period'}> | |
<Select options={qWeatherTimePeriodOptions}></Select> | |
</Form.Item> | |
) | |
} | |
</Form.Item> | |
</Form> | |
); | |
}; | |
export default QWeatherForm; | |