import { readFile } from 'node:fs/promises'; import type { NextApiRequest, NextApiResponse } from 'next'; export default async function handler(req: NextApiRequest, res: NextApiResponse) { if (process.env.PREVIEW_MODE !== 'true') return res.status(404).end(); if (req.method !== 'GET' && req.method !== 'HEAD') return res.status(405).end(); res.setHeader('Cache-Control', 'no-store'); try { const status = JSON.parse(await readFile('/preview-status/status.json', 'utf8')); return req.method === 'HEAD' ? res.status(200).end() : res.status(200).json({ ...status, mode: 'development' }); } catch { return res.status(503).json({ error: 'Preview source has not synchronized yet' }); } }