d3b16f55c8
classes.html (modal-overlay: 5 → 3):
- modal-class — создание класса
- modal-edit-assign — редактирование задания
library.html (modal-overlay: 5 → 3):
- folder-modal — создание/переименование папки
- move-modal — перемещение файла в папку
Везде один паттерн:
1. Удалить inline <div class="modal-overlay">...</div> разметку
2. Заменить openX/closeX функции на LS.modal({content, actions})
3. Сохранить state в локальной переменной _xModal вместо
document.getElementById('modal-id').classList.add('open')
4. setError() / close() через ссылку на modal-instance
5. Удалить орфанные closeX функции
Чистый эффект: −154 строки HTML/CSS дубликатов, единое поведение
ESC/backdrop/focus, accessibility (role/aria-modal) автоматически.
Осталось:
classes.html — modal-assign (128 строк, complex tabs), review-modal
library.html — folder-access-modal, assign-modal, upload-modal (все
более сложные с tabs и multi-step)
frontend/red-book.html (17 modal-overlay — отдельный заход)
flashcards (5), course (4), dashboard (2), и другие