diff --git a/CHANGELOG.md b/CHANGELOG.md index 06ed2305..87e73d77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +### 0.5.3 + - Visual bugfix to custom flag saving. + - Make "Manage" navbar link go to the current page in modview, instead of defaulting to reports page. + ### 0.5.2 - Fix regression in remarkup of posts during moving, deleting, cyclic threads, etc due to permissions. - Small internal change to how dicerolls are processed. diff --git a/gulp/res/js/password.js b/gulp/res/js/password.js index 1e73d47c..c6420261 100644 --- a/gulp/res/js/password.js +++ b/gulp/res/js/password.js @@ -60,6 +60,7 @@ class syncedField { this.set(e.target.value); } set(val) { + if (val === null) { return; } for (let field of this.fields) { field.value = val; if (field.tagName === 'SELECT') { diff --git a/helpers/tasks.js b/helpers/tasks.js index 6b53c845..8be3b850 100644 --- a/helpers/tasks.js +++ b/helpers/tasks.js @@ -30,6 +30,7 @@ module.exports = { buildBanners: async (options) => { const label = `/${options.board._id}/banners.html`; const start = process.hrtime(); + options.managePage = 'assets.html'; const { html } = await render(label, 'banners.pug', options, { 'name': `/${options.board._id}/banners.json`, 'data': options.board.banners @@ -45,6 +46,7 @@ module.exports = { if (!options.board._id) { options.board = await Boards.findOne(options.board); } + options.managePage = 'catalog.html'; const threads = await Posts.getCatalog(options.board._id); const { html, json } = await render(label, 'catalog.pug', { ...options, @@ -64,6 +66,7 @@ module.exports = { if (!options.board._id) { options.board = await Boards.findOne(options.board); } + options.managePage = `thread/${options.threadId}.html`; const thread = await Posts.getThread(options.board._id, options.threadId); if (!thread) { return; //this thread may have been an OP that was deleted @@ -87,11 +90,13 @@ module.exports = { if (!options.maxPage) { options.maxPage = Math.min(Math.ceil((await Posts.getPages(options.board._id)) / 10), Math.ceil(options.board.settings.threadLimit/10)); } + const pageText = options.page === 1 ? 'index' : options.page; + options.managePage = `${pageText}.html`; const { html, json } = await render(label, 'board.pug', { ...options, threads, }, { - 'name': `/${options.board._id}/${options.page === 1 ? 'index' : options.page}.json`, + 'name': `/${options.board._id}/${pageText}.json`, 'data': threads }); const end = process.hrtime(start); @@ -123,12 +128,14 @@ module.exports = { spliceStart = spliceStart - 1; } const pageThreads = threads.splice(0,10); + const pageText = i === 1 ? 'index' : i; buildArray.push( - render(`${options.board._id}/${i === 1 ? 'index' : i}.html`, 'board.pug', { + render(`${options.board._id}/${pageText}.html`, 'board.pug', { board: options.board, threads: pageThreads, maxPage, page: i, + managePage: `${pageText}.html`, }, { 'name': `/${options.board._id}/${i === 1 ? 'index' : i}.json`, 'data': pageThreads @@ -165,6 +172,7 @@ module.exports = { if (!options.board._id) { options.board = await Boards.findOne(options.board); } + options.managePage = 'custompages.html'; const { html } = await render(label, 'custompage.pug', { ...options, }); @@ -190,6 +198,7 @@ module.exports = { if (!options.logs) { options.logs = await Modlogs.findBetweenDate(options.board, options.startDate, options.endDate); } + options.managePage = 'logs.html'; const { html } = await render(label, 'modlog.pug', { ...options }); @@ -225,7 +234,8 @@ module.exports = { } const { html } = await render(label, 'modloglist.pug', { board: options.board, - dates + dates, + managePage: 'logs.html', }); const end = process.hrtime(start); debugLogs && console.log(timeDiffString(label, end)); diff --git a/package-lock.json b/package-lock.json index 6ab40cbf..479ac141 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "jschan", - "version": "0.5.2", + "version": "0.5.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "jschan", - "version": "0.5.2", + "version": "0.5.3", "license": "AGPL-3.0-only", "dependencies": { "@fatchan/express-fileupload": "^1.3.1", diff --git a/package.json b/package.json index 09751a9c..53681c2e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jschan", - "version": "0.5.2", + "version": "0.5.3", "migrateVersion": "0.5.0", "description": "", "main": "server.js", diff --git a/views/includes/navbar.pug b/views/includes/navbar.pug index fb955d0d..b1ac09ef 100644 --- a/views/includes/navbar.pug +++ b/views/includes/navbar.pug @@ -7,6 +7,6 @@ unless minimal .rainbow +Webring a.nav-item#overboardlink(href='/overboard.html') Overboard a.nav-item(href='/account.html') Account - if board - a.nav-item(href=`/${board._id}/manage/reports.html`) Manage + if !modview && board + a.nav-item(href=`/${board._id}/manage/${managePage || 'index.html'}`) Manage a.jsonly.nav-item.right#settings