feat: decompose frontend into native ES modules (zero bundlers, zero npm)
This commit is contained in:
@@ -274,14 +274,17 @@
|
||||
|
||||
---
|
||||
|
||||
### 12. 🧩 Модульность фронтенда на нативных ES-модулях (без Webpack/Vite)
|
||||
- [ ] Перевести [`app/static/js/app.js`](file:///home/ai-projects/services/study.qpid.pro/app/static/js/app.js) на нативный браузерный синтаксис `<script type="module">`.
|
||||
- [ ] Выделить модули с нативным `import/export`:
|
||||
- `modules/reader.js` — читалку, блок-парсер и навигацию по главам.
|
||||
- `modules/srs.js` — алгоритм SM-2, флэшкарты и квиз.
|
||||
- `modules/api.js` — клиентские сетевые вызовы.
|
||||
- `modules/ui.js` — тосты, модальные окна, темы оформления.
|
||||
- [ ] Сохранить полное отсутствие внешних сборщиков (0 npm-пакетов, чистая платформа).
|
||||
### 12. 🧩 Модульность фронтенда на нативных ES-модулях (без Webpack/Vite) (Completed)
|
||||
- [x] Перевести [`app/static/js/app.js`](file:///home/ai-projects/services/study.qpid.pro/app/static/js/app.js) на нативный браузерный синтаксис `<script type="module">`.
|
||||
- [x] Выделить модули с нативным `import/export`:
|
||||
- `modules/api.js` — централизованный клиент сетевых вызовов с авто-интерцептором токена.
|
||||
- `modules/ui.js` — тосты, модальные окна, темы оформления, утилиты экранирования и шафла.
|
||||
- `modules/dictionary.js` — поиск, карточки, коллекции, теги, пакетные операции, модалки редактирования и экспорта.
|
||||
- `modules/srs.js` — алгоритм SM-2, 5 режимов тренировки (флэшкарты, квиз, тайпинг, клоуз, диктант), статистика KPI и гитхаб-хитмап.
|
||||
- `modules/reader.js` — книжная полка, читалка, блок-парсер, виртуализация глав, интерактивный попап слова, настройки Aa.
|
||||
- `app.js` — главный оркестратор, роутер хэшей `#dictionary`, `#srs`, `#reader/book/:id`, префлайт вида без мерцания, мобильный таббар.
|
||||
- [x] Сохранить полное отсутствие внешних сборщиков (0 npm-пакетов, чистая платформа, нативные ES6 модули браузера).
|
||||
- [x] Обновлен Service Worker (`sw.js`) с прекэшированием всех модулей и версией кэша `notes-v5.0`.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user