import { Alert, Button, FormActions, FormCard, FormGrid, Toggle } from '@tnsu/ui-kit'; import { Field } from '../../components/Field/Field'; import { AppealSection } from './sections/AppealSection'; import { AuthorSection } from './sections/AuthorSection'; import { ThankYouScreen } from './ThankYouScreen'; import { TEXTS } from './texts'; import { useFeedbackForm } from './useFeedbackForm'; import styles from './FeedbackForm.module.scss'; /** Форма обращения в HR: сбор данных, валидация, экран благодарности. */ export const FeedbackForm: React.FC = () => { const { data, errors, status, formError, set, submit, reset } = useFeedbackForm(); if (status === 'done') { return ; } return ( // FormCard требует title, но заголовок страницы уже показан в PageShell // (App.tsx) — второй здесь был бы дублем. Пустая строка убирает текст, // а гэпа не оставляет: у ui-kit пустой title-блок не создаёт строки. {formError ? (
{formError}
) : null} {/* Раньше секции лежали в CollapseSection и сворачивались по клику на заголовок — можно было случайно спрятать обязательные поля и не заметить это. Группа теперь просто div с отступом: поля всегда видны. */}
{/* Спрашиваем в самом конце и только у именных обращений: у анонимного ответа всё равно не будет, вопрос был бы бессмысленным. */} {!data.isAnonymous ? ( set('wantsFeedback', v)} onLabel="Да" /> ) : null}
); };