diff --git a/mechanic-pwa/frontend/src/pages/repairs/CreateRepairPage.tsx b/mechanic-pwa/frontend/src/pages/repairs/CreateRepairPage.tsx index 53a6dcd..e7e881a 100644 --- a/mechanic-pwa/frontend/src/pages/repairs/CreateRepairPage.tsx +++ b/mechanic-pwa/frontend/src/pages/repairs/CreateRepairPage.tsx @@ -259,7 +259,14 @@ export default function CreateRepairPage() { setPartsDraft({ name: q, suggestions: [] }); if (!q.trim()) return; const list = await suggestParts(q); - setPartsDraft({ name: q, suggestions: list.map((s) => s.name) }); + // У43 race-fix: пока запрос для "К" летел, юзер дописал до "Кепу" — поздний + // ответ не должен перезаписывать .name старым значением (это и есть + // «текст частично сам стирается»). Применяем suggestions только если + // ввод не менялся; иначе тихо роняем ответ. + setPartsDraft((prev) => { + if (prev.name !== q) return prev; + return { name: q, suggestions: list.map((s) => s.name) }; + }); }; const addPart = (name: string) => {