Compare commits

...

2 Commits

Author SHA1 Message Date
DebaucheryLibrarian 798c22c56d 0.23.2 2024-06-04 02:14:53 +02:00
DebaucheryLibrarian 9a9e1da3cf Consent page redirects to original URL. 2024-06-04 02:14:45 +02:00
3 changed files with 8 additions and 5 deletions

4
package-lock.json generated
View File

@ -1,11 +1,11 @@
{ {
"name": "traxxx-web", "name": "traxxx-web",
"version": "0.23.1", "version": "0.23.2",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"version": "0.23.1", "version": "0.23.2",
"dependencies": { "dependencies": {
"@brillout/json-serializer": "^0.5.8", "@brillout/json-serializer": "^0.5.8",
"@dicebear/collection": "^7.0.5", "@dicebear/collection": "^7.0.5",

View File

@ -77,5 +77,5 @@
"postcss-custom-media": "^10.0.2", "postcss-custom-media": "^10.0.2",
"postcss-nesting": "^12.0.2" "postcss-nesting": "^12.0.2"
}, },
"version": "0.23.1" "version": "0.23.2"
} }

View File

@ -1,4 +1,6 @@
export default function consentHandler(req, res, next) { 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')) { if (Object.hasOwn(req.query, 'lgbt')) {
const lgbtFilters = (req.tagFilter || []).filter((tag) => !['gay', 'bisexual', 'transsexual'].includes(tag)); 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')) { if (Object.hasOwn(req.query, 'consent')) {
req.session.hasConsent = true; // eslint-disable-line no-param-reassign req.session.hasConsent = true; // eslint-disable-line no-param-reassign
res.redirect(req.path); res.redirect(redirect || req.path);
return; return;
} }
if (!req.path.includes('/consent') && !req.session?.hasConsent) { if (!req.path.includes('/consent') && !req.session?.hasConsent) {
res.redirect('/consent'); res.redirect(`/consent?redirect=${req.originalUrl === '/' ? '' : encodeURIComponent(req.originalUrl) }`);
return; return;
} }