import { Hono } from 'hono';
import { urlFor, safeRel } from '../files.js';
import { buildSite } from '../hugo.js';

// Echte Hugo-Vorschau: ganze Site mit --buildDrafts nach preview/ bauen und die
// URL des Eintrags zurückgeben (so erscheinen auch draft:true-Einträge).
const preview = new Hono();

preview.post('/', async (c) => {
  const { path: rel } = await c.req.json();
  try {
    const safe = safeRel(rel);
    const build = await buildSite({ dest: 'preview', drafts: true });
    return c.json({ ok: true, url: `/_preview${urlFor(safe)}`, hugo: build.stdout });
  } catch (e) {
    return c.json({ error: String(e.message || e) }, 500);
  }
});

export default preview;
