feat(fe): подключить installMenuRepositionFix при запуске SPA

Также: привести resizeSpy в тесте к EventListener (тип-чистота vue-tsc).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-06-27 10:23:55 +03:00
parent 9f013ec591
commit c78b69fcaf
3 changed files with 11 additions and 6 deletions
+5
View File
@@ -6,6 +6,7 @@ import '../css/tokens.css';
import '../css/typography.css';
import '../css/motion.css';
import { router } from './router';
import { installMenuRepositionFix } from './utils/menuRepositionFix';
// Точка входа Vue 3 + Vuetify 3 + Vue Router 4 + Pinia (фаза 2, CLAUDE.md §3.3).
// Mount в <div id="app"></div> внутри Blade-шаблона `welcome.blade.php`.
@@ -14,3 +15,7 @@ app.use(createPinia());
app.use(vuetify);
app.use(router);
app.mount('#app');
// Глобальный обход бага позиционирования меню Vuetify (один наблюдатель на всё
// приложение) — подробности в utils/menuRepositionFix.ts.
installMenuRepositionFix();
@@ -52,14 +52,14 @@ beforeEach(() => {
} as DOMRect;
};
resizeSpy = vi.fn();
window.addEventListener('resize', resizeSpy);
window.addEventListener('resize', resizeSpy as unknown as EventListener);
});
afterEach(() => {
teardown?.();
teardown = undefined;
HTMLElement.prototype.getBoundingClientRect = origRect;
window.removeEventListener('resize', resizeSpy);
window.removeEventListener('resize', resizeSpy as unknown as EventListener);
vi.unstubAllGlobals();
document.body.innerHTML = '';
});
+4 -4
View File
@@ -1,6 +1,6 @@
# Brain Status (auto-generated)
Last updated: 2026-06-27T07:15:13.998Z
Last updated: 2026-06-27T07:20:21.970Z
| Контролёр | Состояние | Детали |
|---|---|---|
@@ -132,9 +132,9 @@ Episodes since last run: 542 / threshold: 10
| PID | Имя | CPU-время | Возраст |
|---|---|---|---|
| 3440 | MsMpEng | 15.64ч | 0.0ч |
| 21928 | Code | 5.81ч | 0.0ч |
| 1212 | svchost | 3.95ч | 0.0ч |
| 3440 | MsMpEng | 15.66ч | 0.0ч |
| 21928 | Code | 5.82ч | 0.0ч |
| 1212 | svchost | 3.96ч | NaNч |
⚠️ Проверь, не «осиротевшие» ли это процессы от завершённых Claude-сессий.