feat(flashcards): картинки на карточках (загрузка, вставка, рендер)
- Миграция 048: колонки front_image/back_image в flashcard_cards - Бэкенд: POST /api/flashcards/upload (multer, 5МБ, только изображения), валидатор safeImg (только /uploads/flashcards/..., блок XSS/traversal/external), картинки в add/update/quick/study/random; статик-маунт /uploads/flashcards - Редактор: превью+кнопка загрузки+вставка (Ctrl+V) на каждую сторону, картинки к ещё не созданной карточке через add-bar - Режим изучения: рендер изображения над текстом на обеих сторонах - FAB: вставка картинки в быструю карточку Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -331,6 +331,7 @@ app.use('/js', express.static(jsDir, staticCache));
|
||||
app.use('/css', express.static(path.join(frontendDir, 'css'), staticCache));
|
||||
app.use('/img', express.static(path.join(frontendDir, 'img'), staticCache));
|
||||
app.use('/avatars', express.static(path.join(__dirname, '../uploads/avatars'), { maxAge: '1d' }));
|
||||
app.use('/uploads/flashcards', express.static(path.join(__dirname, '../uploads/flashcards'), { maxAge: '7d' }));
|
||||
|
||||
// Redirect legacy .html URLs → clean URLs (301)
|
||||
app.use((req, res, next) => {
|
||||
|
||||
Reference in New Issue
Block a user