From 9a9e1da3cf73b10987ada166afdc0f08874d2c1e Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Tue, 4 Jun 2024 02:14:45 +0200 Subject: [PATCH] Consent page redirects to original URL. --- src/web/consent.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/web/consent.js b/src/web/consent.js index f7b083b..fc6b48b 100644 --- a/src/web/consent.js +++ b/src/web/consent.js @@ -1,4 +1,6 @@ export default function consentHandler(req, res, next) { + const redirect = req.headers.referer && new URL(req.headers.referer).searchParams.get('redirect'); + if (Object.hasOwn(req.query, 'lgbt')) { const lgbtFilters = (req.tagFilter || []).filter((tag) => !['gay', 'bisexual', 'transsexual'].includes(tag)); @@ -15,13 +17,14 @@ export default function consentHandler(req, res, next) { if (Object.hasOwn(req.query, 'consent')) { req.session.hasConsent = true; // eslint-disable-line no-param-reassign - res.redirect(req.path); + res.redirect(redirect || req.path); return; } if (!req.path.includes('/consent') && !req.session?.hasConsent) { - res.redirect('/consent'); + res.redirect(`/consent?redirect=${req.originalUrl === '/' ? '' : encodeURIComponent(req.originalUrl) }`); + return; }