const ejs = require('ejs');
const path = require('path');

/**
 * Rend une page EJS
 * @param {string} routePath - Chemin vers le fichier EJS
 * @param {Object} res - Objet response Express
 * @param {Object} options - Options à passer au template
 * @param {boolean} fragment - Si true, envoie uniquement le fragment sans layout
 */
function renderPage(routePath, res, options = {}, fragment = false) {
  ejs.renderFile(path.join(process.cwd(), 'views', routePath), options, (err, str) => {
    if (err) {
      return res.status(500).send(err.message);
    }
    
    if (fragment) {
      res.send(str);
    } else {
      res.render('layout', { body: str, ...options });
    }
  });
}

module.exports = renderPage;
