diff --git a/handlers.js b/handlers.js index 2fa5ea0..e5f5761 100644 --- a/handlers.js +++ b/handlers.js @@ -21,7 +21,11 @@ export const indexPageHandler = async (req, res) => { }); } catch (error) { console.error(error); - res.render('./views/500.hbs', { title: '500 | Internal server error ' }); + res.render( + './views/500.hbs', + { title: '500 | Internal server error ' }, + 500 + ); } }; @@ -51,10 +55,17 @@ export const getArticleHandler = async (req, res) => { return; } - res.json({ data: data.rows }); + res.render('./views/article.hbs', { + title: data.rows[0].title, + article: data.rows[0], + }); } catch (error) { console.error(error); - res.render('./views/500.hbs', { title: '500 | Internal server error ' }); + res.render( + './views/500.hbs', + { title: '500 | Internal server error ' }, + 500 + ); } }; diff --git a/middlewares.js b/middlewares.js index 946c051..aabeb7a 100644 --- a/middlewares.js +++ b/middlewares.js @@ -15,5 +15,5 @@ export const waitMiddleware = async (req, res) => { }); }; - await wait(50); + await wait(10); }; diff --git a/preloads/routes.js b/preloads/routes.js index 81828b9..f47826b 100644 --- a/preloads/routes.js +++ b/preloads/routes.js @@ -14,6 +14,6 @@ import { */ import { waitMiddleware } from '../middlewares.js'; -router.get('/', indexPageHandler); +router.get('/', indexPageHandler).middleware([waitMiddleware]); router.get('/articles/:id', getArticleHandler).middleware([waitMiddleware]); router.post('/articles', createArticleHandler); diff --git a/public/css/style.css b/public/css/style.css index 735c381..8a0490f 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -1,8 +1,12 @@ body { font-family: monospace; text-align: justify; - margin: 75px; - max-width: 600px; + margin-left: auto; + margin-right: auto; + margin-top: 5rem; + max-width: 900px; + font-size: 16px; + padding: 15px; } .app .app-heading { @@ -11,8 +15,23 @@ body { align-items: center; } +.app .app-tag { + background-color: #000; + color: #fff; + padding: 10px; + font-weight: bold; + border-radius: 2px; + font-size: 18px; + user-select: none; +} + +.app .article-heading { + display: block; +} + .app .app-body article { margin-top: 2rem; + line-height: 1.3rem; } .app .app-footer { @@ -31,9 +50,14 @@ body { text-align: left; } +.app .app-footer span { + display: block; + margin-bottom: 1rem; +} + .app .app-footer img { width: 11rem; - margin: 0 30px; + margin: 10px 30px; } .app .app-footer .nodejs-logo, diff --git a/views/404.hbs b/views/404.hbs index d474659..92e5ece 100644 --- a/views/404.hbs +++ b/views/404.hbs @@ -2,6 +2,6 @@ {{> head }}