шлется на реальный сервер #2
@@ -55,7 +55,7 @@ function buildFields(data: IFeedbackSubmission): Record<string, unknown> {
|
||||
console.warn(`Неизвестный id компании из формы, отправляю как есть: ${data.company}`);
|
||||
}
|
||||
|
||||
return {
|
||||
const fields: Record<string, unknown> = {
|
||||
Title: name ? `${typeLabel} — ${name}` : typeLabel,
|
||||
Company: companyName ?? data.company,
|
||||
Name: name,
|
||||
@@ -65,6 +65,17 @@ function buildFields(data: IFeedbackSubmission): Record<string, unknown> {
|
||||
SuggestionText: data.suggestion,
|
||||
WantsFeedback: data.wantsFeedback
|
||||
};
|
||||
|
||||
// Состав полей зависит от вида обращения и анонимности, поэтому часть строк
|
||||
// заведомо пустая (у предложения нет описания ситуации, у анонимного — ФИО).
|
||||
// Такие поля не отправляем вовсе: пустая строка в списке выглядит как
|
||||
// заполненное значение, а не как «поля не было». WantsFeedback при этом
|
||||
// остаётся всегда — false здесь осмысленное значение, а не пустота.
|
||||
return Object.fromEntries(
|
||||
Object.entries(fields)
|
||||
.map(([key, value]) => [key, typeof value === 'string' ? value.trim() : value])
|
||||
.filter(([, value]) => value !== '')
|
||||
);
|
||||
}
|
||||
|
||||
export async function submitFeedback(data: IFeedbackSubmission): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user