'use client'; import React, { useState } from 'react'; import { Form, Input, Button, Checkbox, InputNumber, Select, notification, } from 'antd'; import { useForm } from 'antd/es/form/Form'; import styles from './Vacansy.module.scss'; import { JobData } from '@/types/types'; import { fetchHardSkills, sendJobs } from '@/api/api'; import { useQuery } from 'react-query'; const { TextArea } = Input; const { Option } = Select; const Vacansy: React.FC = () => { const [form] = useForm(); const [isSalaryNegotiable, setIsSalaryNegotiable] = useState(false); // Состояние для чекбокса const { data: hardSkills, isLoading } = useQuery( ['hardSkills'], () => fetchHardSkills(), { refetchOnWindowFocus: false, retry: false, } ); const onFinish = async (values: JobData) => { const jobData: JobData = { Job_name: values.Job_name, Year: values.Year, Qualification: values.Qualification || false, Time: Array.isArray(values.Time) ? values.Time : [values.Time], Company_name: values.Company_name, Salary: isSalaryNegotiable ? 0 : values.Salary, // Установка зарплаты в 0, если выбрана опция "уточняется" Email: values.Email, // Website: values.Website, // Новое поле для ссылки на сайт компании Archive: false, Responsibilities: values.Responsibilities, Hardskills: values.Hardskills, }; try { const result = await sendJobs(jobData); console.log('Job successfully posted:', result); notification.success({ message: 'Вакансия успешно создана', description: 'Вы можете посмотреть её на странице вакансий', }); await form.resetFields(); setIsSalaryNegotiable(false); // Сброс чекбокса } catch (error) { console.error('Failed to post job:', error); notification.error({ message: 'Что-то пошло не так!', description: 'Попробуйте снова', }); } }; return (
Нужен ли опыт работы? setIsSalaryNegotiable(e.target.checked)}> Зарплата уточняется после собеседования