mirror of https://gitgud.io/fatchan/jschan.git
parent
a4f4511962
commit
ff4f6c4758
36 changed files with 120 additions and 95 deletions
@ -1,22 +1,28 @@ |
|||||||
'use strict'; |
'use strict'; |
||||||
|
|
||||||
const Posts = require(__dirname+'/../../db-models/posts.js'); |
const Posts = require(__dirname+'/../../db/posts.js'); |
||||||
|
|
||||||
module.exports = async (req, res, next) => { |
module.exports = async (req, res, next) => { |
||||||
//get the recently bumped thread & preview posts
|
//get the recently bumped thread & preview posts
|
||||||
|
const page = req.query.p || 1; |
||||||
let threads; |
let threads; |
||||||
let pages; |
let pages; |
||||||
try { |
try { |
||||||
threads = await Posts.getRecent(req.params.board, req.params.page || 1); |
|
||||||
pages = Math.ceil((await Posts.getPages(req.params.board)) / 10); |
pages = Math.ceil((await Posts.getPages(req.params.board)) / 10); |
||||||
|
if (page > pages) { |
||||||
|
return next(); |
||||||
|
} |
||||||
|
threads = await Posts.getRecent(req.params.board, page); |
||||||
} catch (err) { |
} catch (err) { |
||||||
return next(err); |
return next(err); |
||||||
} |
} |
||||||
|
|
||||||
|
|
||||||
//render the page
|
//render the page
|
||||||
res.render('board', { |
res.render('board', { |
||||||
csrf: req.csrfToken(), |
csrf: req.csrfToken(), |
||||||
threads: threads || [], |
threads: threads || [], |
||||||
pages: pages |
pages, |
||||||
|
page, |
||||||
}); |
}); |
||||||
} |
} |
||||||
|
@ -1,15 +1,25 @@ |
|||||||
section.action-wrapper |
.action-wrapper Actions: |
||||||
span |
label |
||||||
label |
input.post-check(type='checkbox', name='delete' value=1) |
||||||
input.post-check(type='checkbox', name='delete' value=1) |
| Delete Post |
||||||
| Delete |
label |
||||||
label |
input.post-check(type='checkbox', name='spoiler' value=1) |
||||||
input.post-check(type='checkbox', name='spoiler' value=1) |
| Spoiler Images |
||||||
| Spoiler |
label |
||||||
input#password(type='password', name='password', placeholder='post password' autocomplete='off') |
input#password(type='text', name='password', placeholder='post password' autocomplete='off') |
||||||
span |
.action-wrapper Mod Actions: |
||||||
label |
label |
||||||
input.post-check(type='checkbox', name='report' value=1) |
input.post-check(type='checkbox', name='dismiss' value=1) |
||||||
| Report |
| Dismiss Reports |
||||||
input#report(type='text', name='reason', placeholder='reason' autocomplete='off') |
label |
||||||
input(type='submit', value='submit') |
input.post-check(type='checkbox', name='ban' value=1) |
||||||
|
| Ban Poster |
||||||
|
label |
||||||
|
input.post-check(type='checkbox', name='global_ban' value=1) |
||||||
|
| Global Ban Poster |
||||||
|
label |
||||||
|
input.post-check(type='checkbox', name='preserve_post' value=1) |
||||||
|
| Show Post In Ban |
||||||
|
label |
||||||
|
input#report(type='text', name='reason', placeholder='ban reason' autocomplete='off') |
||||||
|
input(type='submit', value='submit') |
||||||
|
@ -0,0 +1,6 @@ |
|||||||
|
span.pages Page: |
||||||
|
- for(let i = 1; i <= pages; i++) |
||||||
|
if i === page |
||||||
|
span: a(href=`/${board._id}?p=${i}`) [#{i}] |
||||||
|
else |
||||||
|
span: a(href=`/${board._id}?p=${i}`) #{i} |
Loading…
Reference in new issue