import express from "express";
import React from "react";
import ReactDOMServer from "react-dom/server";
import {
Inbox,
Layout,
Form,
Created,
Feed,
newToken,
feedPath
} from "./components";
import { Builder } from "xml2js";
import fs from "fs";
const app = express();
app.use(express.static("static"));
app.use(express.urlencoded());
app.get("/", (req, res) =>
res.send(
render(
)
)
);
app.post("/", (req, res) => {
const inbox: Inbox = { name: req.body.name, token: newToken() };
fs.writeFileSync(
feedPath(inbox.token),
new Builder().buildObject(Feed(inbox))
);
res.send(
render(
)
);
});
app.listen(8000);
function render(component: React.ReactElement): string {
return `\n${ReactDOMServer.renderToStaticMarkup(component)}`;
}