From aeeeaa76b7a9089f8ff2e1271b0541c4c22e2ffe Mon Sep 17 00:00:00 2001 From: teddit Date: Sat, 13 Feb 2021 13:29:47 +0100 Subject: [PATCH] feature for ex-/including saved posts when exporting preferences --- routes.js | 10 +++++++++- views/preferences.pug | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/routes.js b/routes.js index 8f87f39..0e8acf0 100644 --- a/routes.js +++ b/routes.js @@ -55,7 +55,7 @@ module.exports = (app, redis, fetch, RedditAPI) => { } if(!subbed_subreddits_is_set) res.clearCookie('subbed_subreddits') - return res.redirect('/preferences') + return res.redirect('/') } catch(e) { console.error(`Error setting imported preferences to the cookies. Key: ${key}.`, error) } @@ -1456,6 +1456,14 @@ module.exports = (app, redis, fetch, RedditAPI) => { }) app.post('/export_prefs', (req, res, next) => { + let export_saved = req.body.export_saved + let export_data = req.cookies + + if(export_saved !== 'on') { + if(req.cookies.saved) + delete export_data.saved + } + let r = `${(Math.random().toString(36)+'00000000000000000').slice(2, 10+2).toUpperCase()}` let key = `prefs_key:${r}` redis.set(key, JSON.stringify(req.cookies), (error) => { diff --git a/views/preferences.pug b/views/preferences.pug index 1ec6fe2..fb01e4c 100644 --- a/views/preferences.pug +++ b/views/preferences.pug @@ -75,6 +75,9 @@ html .setting small By exporting your preferences you can transfer your subscribed subreddits and preferences to another device. Or you could create a bookmark if you tend to delete your cookies frequently. br + label(for="export_saved") Export saved posts: + input(type="checkbox", name="export_saved", id="export_saved") + br input(type="submit", value="Export preferences") if preferences_key - var protocol = 'http' @@ -89,5 +92,8 @@ html .setting small By exporting your preferences you can transfer your subscribed subreddits and preferences to another device. Or you could create a bookmark if you tend to delete your cookies frequently. br + label(for="export_saved") Export saved posts: + input(type="checkbox", name="export_saved", id="export_saved") + br input(type="submit", value="Export preferences") include includes/footer.pug