diff --git a/src/webparts/stroyBot/pages/hub/ProjectPicker.module.scss b/src/webparts/stroyBot/pages/hub/ProjectPicker.module.scss
index f38ea2e..88e5e5e 100644
--- a/src/webparts/stroyBot/pages/hub/ProjectPicker.module.scss
+++ b/src/webparts/stroyBot/pages/hub/ProjectPicker.module.scss
@@ -50,6 +50,25 @@ $dropdown-max-height: 340px;
color: $gray-900;
}
+.clearButton {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+ padding: $sp-1;
+ margin-right: $sp-2;
+ border: 0;
+ border-radius: $r-full;
+ background: transparent;
+ color: $gray-400;
+ cursor: pointer;
+
+ &:hover {
+ background: $gray-100;
+ color: $gray-700;
+ }
+}
+
.selectedBadge {
flex-shrink: 0;
}
diff --git a/src/webparts/stroyBot/pages/hub/ProjectPicker.tsx b/src/webparts/stroyBot/pages/hub/ProjectPicker.tsx
index 474a767..7a58695 100644
--- a/src/webparts/stroyBot/pages/hub/ProjectPicker.tsx
+++ b/src/webparts/stroyBot/pages/hub/ProjectPicker.tsx
@@ -40,6 +40,14 @@ export const ProjectPicker: React.FC = () => {
setIsOpen(true);
};
+ // Очистка не сбрасывает выбранный проект — только текст поиска, чтобы сразу искать другой.
+ const onClear = (event: React.MouseEvent): void => {
+ event.preventDefault();
+ setQuery('');
+ setIsOpen(true);
+ inputRef.current?.focus();
+ };
+
// mousedown, а не click: иначе поле теряет фокус раньше, чем срабатывает выбор.
const onPick = (event: React.MouseEvent, project: IAccessibleProject): void => {
event.preventDefault();
@@ -67,6 +75,17 @@ export const ProjectPicker: React.FC = () => {
onFocus={onFocus}
onChange={onChange}
/>
+ {query && (
+
+ )}
{currentProject?.status && (
diff --git a/src/webparts/stroyBot/pages/hub/texts.ts b/src/webparts/stroyBot/pages/hub/texts.ts
index f3241cc..e61739c 100644
--- a/src/webparts/stroyBot/pages/hub/texts.ts
+++ b/src/webparts/stroyBot/pages/hub/texts.ts
@@ -4,6 +4,7 @@ export const HUB_TEXTS = {
picker: {
label: 'Проект:',
placeholder: 'Выберите проект',
+ clear: 'Очистить',
loading: 'Загрузка проектов…',
noProjects: 'Нет доступных проектов',
notFound: 'Проекты не найдены',