From 9aa8365c2e74280fb4a4e18d3c942bdb2254e06e Mon Sep 17 00:00:00 2001 From: b1ek Date: Sun, 19 Feb 2023 15:30:02 +1000 Subject: [PATCH] add guestbook --- helpers/notfound.js | 3 +++ index.js | 12 ++++++++--- routes/guestbook.js | 13 ++++++++++++ view/guestbook.pug | 40 +++++++++++++++++++++++++++++++++++ view/project.pug | 3 ++- view/projects/blek_launch.pug | 8 +++++++ 6 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 helpers/notfound.js create mode 100644 routes/guestbook.js create mode 100644 view/guestbook.pug create mode 100644 view/projects/blek_launch.pug diff --git a/helpers/notfound.js b/helpers/notfound.js new file mode 100644 index 0000000..894802e --- /dev/null +++ b/helpers/notfound.js @@ -0,0 +1,3 @@ +async function handler(req, res, next) { + +} \ No newline at end of file diff --git a/index.js b/index.js index 67e9e65..867c3fd 100644 --- a/index.js +++ b/index.js @@ -8,14 +8,12 @@ const session = require('express-session'); const cookie_parse = require('cookie-parser'); const cookie_encrypt = require('cookie-encrypter'); const Redis = require("ioredis"); + let redisClient = new Redis(process.env.REDIS_PORT, process.env.REDIS_HOST); let RedisStore = require("connect-redis")(session) const { APP_PORT, APP_KEY } = process.env; -app.use(require('./routes')); -app.use(express.static('public')); - app.use(cookie_parse(APP_KEY)) app.use(cookie_encrypt(APP_KEY)); app.use(session({ @@ -27,6 +25,14 @@ app.use(session({ })); app.use(require('./middleware')); +app.use(require('./routes')); +app.use(express.static('public')); + +// 404 +app.use((req, res, next) => { + +}) + const server = app.listen(APP_PORT, () => { console.log("Listening on port " + APP_PORT); }); diff --git a/routes/guestbook.js b/routes/guestbook.js new file mode 100644 index 0000000..fa2aa57 --- /dev/null +++ b/routes/guestbook.js @@ -0,0 +1,13 @@ +const Helpers = require('../helpers'); + +async function handler(req, res) { + res.send(await Helpers.ViewLoader.load('guestbook.pug', { + current_route: req.originalUrl, + ip: req.ip + })); + return; +} + +module.exports = (router) => { + router.get('/guestbook', handler); +} \ No newline at end of file diff --git a/view/guestbook.pug b/view/guestbook.pug new file mode 100644 index 0000000..997fd6e --- /dev/null +++ b/view/guestbook.pug @@ -0,0 +1,40 @@ +extends layout/main.pug +block root + - var title = 'Guestbook' +block content + h1 Guestbook + p. + Leave a message if you want. + hr + table + tr + td + h4 Message form + form(method='post' action='/guestbook/submit') + table + tr + td Your name: + td + input(type='text' name='name' value='John Doe') + tr + td Your email: + td + input(type='email' name='email' value='john.doe@example.com') + tr + td Hide your email? + td + input(type='checkbox' name='hidemail') + p(style='margin:6px 0') Your message (512 chars max): + textarea(name='message' style='width:100%;height:150px') + + td(style='padding:0 16px;margin:0') + h5 Guidelines + ul + li Follow the DBAA policy. + li + | Do not post spam ads, keep it for humans. + ul + li There is no captcha for a reason. I'd like it to stay like this for as long as possible, so I humbly ask not to ruin it. + span(style='font-size:10pt;color:darkred;font-weight:bold'). + Warning: Your ip (#{ip}) will be logged and displayed for everyone.
+ You can delete your own message if it was sent from the same ip for 24 hours after it was sent. \ No newline at end of file diff --git a/view/project.pug b/view/project.pug index f374680..f460ede 100644 --- a/view/project.pug +++ b/view/project.pug @@ -25,4 +25,5 @@ block content ul li a(href='/project/blek_anal') blek! Analytics - li blek! Launcher \ No newline at end of file + li + a(href='/project/blek_launch') blek! Launcher \ No newline at end of file diff --git a/view/projects/blek_launch.pug b/view/projects/blek_launch.pug new file mode 100644 index 0000000..eab221e --- /dev/null +++ b/view/projects/blek_launch.pug @@ -0,0 +1,8 @@ +extends ../layout/project.pug +block root + - var title = 'blek! Launcher' + +block append content + h2 blek! Launcher + p. + \ No newline at end of file