// const express = require('express');
// const multer = require('multer');
// const fs = require('fs');
// const path = require('path');
// const router = express.Router();

// const SLIDES_DIR = path.join(__dirname, '../uploads/slides');
// const MEDIA_DIR = path.join(__dirname, '../uploads/media');

// // Ensure folders exist
// if (!fs.existsSync(SLIDES_DIR)) fs.mkdirSync(SLIDES_DIR, { recursive: true });
// if (!fs.existsSync(MEDIA_DIR)) fs.mkdirSync(MEDIA_DIR, { recursive: true });

// // Multer memory storage to process in route handler
// const storage = multer.memoryStorage();
// const upload = multer({ storage });

// // Truncate directories before saving new files
// const clearDirectories = () => {
//   fs.readdirSync(SLIDES_DIR).forEach(f => fs.unlinkSync(path.join(SLIDES_DIR, f)));
//   fs.readdirSync(MEDIA_DIR).forEach(f => fs.unlinkSync(path.join(MEDIA_DIR, f)));
// };


// router.post('/editor/save', upload.fields([
//   { name: 'slide' },
//   { name: 'audio' },
//   { name: 'video' }
// ]), async (req, res) => {
//   try {
//     clearDirectories();

//     const { slideNumbers } = req.body; // e.g., "1,2,3"
//     const slideOrder = Array.isArray(slideNumbers) ? slideNumbers : slideNumbers.split(',');

//     const slides = req.files['slide'] || [];
//     const audios = req.files['audio'] || [];
//     const videos = req.files['video'] || [];

//     const fileMap = (filesArray) => {
//       const map = {};
//       filesArray.forEach(file => {
//         const match = file.originalname.match(/slide(\d+)(_quiz)?\.(jpg|jpeg|png|mp3|mp4)/);
//         if (match) {
//           const index = match[1];
//           const isQuiz = !!match[2];
//           const ext = match[3];
//           map[index] = { file, isQuiz, ext };
//         }
//       });
//       return map;
//     };

//     const slideMap = fileMap(slides);
//     const audioMap = fileMap(audios);
//     const videoMap = fileMap(videos);

//     slideOrder.forEach((originalIndex, idx) => {
//       const currentIndex = (idx + 1).toString(); // Save by row order

//   // Handle slide image
//   if (slideMap[originalIndex]) {
//     const { file, isQuiz } = slideMap[originalIndex];
//     const newName = `slide${currentIndex}${isQuiz ? '_quiz' : ''}.jpg`;
//     fs.writeFileSync(path.join(SLIDES_DIR, newName), file.buffer);
//   }

//   // Handle audio
//   if (audioMap[originalIndex]) {
//     const { file } = audioMap[originalIndex];
//     fs.writeFileSync(path.join(MEDIA_DIR, `slide${currentIndex}.mp3`), file.buffer);
//   }

//   // Handle video
//   if (videoMap[originalIndex]) {
//     const { file } = videoMap[originalIndex];
//     fs.writeFileSync(path.join(MEDIA_DIR, `slide${currentIndex}.mp4`), file.buffer);
//       }
//     });


//     return res.json({ success: true });
//   } catch (err) {
//     console.error('Save error:', err);
//     res.status(500).json({ error: 'Failed to save slides/media' });
//   }
// });

// module.exports = router;
