import React from 'react';
import ReactDOMServer from 'react-dom/server';
import fs from 'fs';
import path from 'path';
import { Cura } from 'cura';

import { AppRoot } from 'shared';

const indexFile = fs.readFileSync(
  path.resolve(process.cwd(), './dist/client_dist/index.html'),
  'utf8',
);

const getHtml = () => {
  const renderedApp = ReactDOMServer.renderToString(<AppRoot />);
  return indexFile
    .replace('<!-- ::APP:: -->', renderedApp);
};

export default () => (req, res) => {
  Cura.start(req);
  res.send(getHtml());
};
