010f78b138
Переносит вопросы из Microsoft Forms в собственный интерфейс: компания, анонимность, ФИО и должность, вид обращения, описание ситуации и предложение. Поля автора скрываются при анонимном обращении, а не блокируются: требовать ФИО у анонима — противоречие, а серое неактивное поле выглядит как ошибка формы. Состояние целиком в useFeedbackForm, правила заполнения — в отдельной чистой функции validateFeedback: её можно покрыть тестами без React. Отправки пока нет — по договорённости делаем только UI, submit пишет данные в консоль (TODO в useFeedbackForm). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
24 lines
733 B
TypeScript
24 lines
733 B
TypeScript
import * as React from 'react';
|
|
import * as ReactDOM from 'react-dom';
|
|
import { IconSprite } from '@tnsu/ui-kit';
|
|
import { App } from './App';
|
|
|
|
import '@tnsu/ui-kit/styles.css';
|
|
import './styles/global.scss';
|
|
|
|
const rootElement = document.getElementById('root');
|
|
|
|
if (!rootElement) {
|
|
throw new Error('Не найден контейнер #root — проверьте index.html');
|
|
}
|
|
|
|
// React 17 API: ui-kit собран под react@17, поэтому createRoot здесь недоступен.
|
|
ReactDOM.render(
|
|
<React.StrictMode>
|
|
{/* Спрайт с иконками ui-kit монтируется один раз на всё приложение. */}
|
|
<IconSprite />
|
|
<App />
|
|
</React.StrictMode>,
|
|
rootElement
|
|
);
|