|
|
|
mixin catalogtile(post, index, overboard=false)
|
|
|
|
- let anchorSubject = post.subject;
|
|
|
|
if post.subject
|
|
|
|
- const subjectAnchorMatch = post.subject.match(/^\/\w+\//);
|
|
|
|
if subjectAnchorMatch
|
|
|
|
- anchorSubject = subjectAnchorMatch[0]
|
|
|
|
.anchor(id=`${post.board}-${anchorSubject}`)
|
|
|
|
.catalog-tile(tabindex=index
|
|
|
|
data-board=post.board
|
|
|
|
data-post-id=post.postId
|
|
|
|
data-user-id=post.userId
|
|
|
|
data-name=post.name
|
|
|
|
data-tripcode=post.tripcode
|
|
|
|
data-subject=post.subject
|
|
|
|
data-filter=((post.subject+post.nomarkup).toLowerCase() || '')
|
|
|
|
data-date=post.date
|
|
|
|
data-replies=post.replyposts
|
|
|
|
data-bump=post.bumped)
|
|
|
|
- const postURL = `/${post.board}/${modview ? 'manage/' : ''}thread/${post.postId}.html`
|
|
|
|
.post-info
|
|
|
|
if overboard
|
|
|
|
div
|
|
|
|
| Thread from
|
|
|
|
a.no-decoration.post-subject(href=`/${post.board}/`) /#{post.board}/
|
|
|
|
else
|
|
|
|
input.left.post-check(type='checkbox', name='checkedposts' value=post.postId)
|
|
|
|
if modview
|
|
|
|
a.left.ml-5.bold(href=`recent.html?postid=${post.postId}`) [+]
|
|
|
|
include ../includes/posticons.pug
|
|
|
|
if post.country && post.country.code
|
|
|
|
if post.country.custom === true
|
|
|
|
span(title=post.country.name)
|
|
|
|
img.customflag(src=`/flag/${post.board}/${post.country.src}` alt=' ' loading='lazy')
|
|
|
|
|
|
|
|
|
else
|
|
|
|
span(class=`flag flag-${post.country.code.toLowerCase()}` title=post.country.name alt=post.country.name)
|
|
|
|
|
|
|
|
|
a.no-decoration.post-subject(href=postURL) #{post.subject || 'No subject'}
|
|
|
|
br
|
|
|
|
span(title='Replies') R: #{post.replyposts}
|
|
|
|
| /
|
|
|
|
span(title='Files') F: #{post.replyfiles}
|
|
|
|
if !overboard
|
|
|
|
| /
|
|
|
|
span(title='Page') P: #{Math.ceil(index/10)}
|
|
|
|
if post.files.length > 0
|
|
|
|
.col
|
|
|
|
.row.ct-r1
|
|
|
|
- const file = post.files[0]
|
|
|
|
- const type = file.mimetype.split('/')[0]
|
|
|
|
.post-file-src
|
|
|
|
a(href=`${postURL}#${post.postId}`)
|
|
|
|
if post.spoiler || file.spoiler
|
|
|
|
div.spoilerimg.catalog-thumb
|
|
|
|
else if file.hasThumb
|
|
|
|
img.catalog-thumb(src=`/file/thumb/${file.hash}${file.thumbextension}` width=file.geometry.thumbwidth height=file.geometry.thumbheight loading='lazy')
|
|
|
|
else if file.attachment
|
|
|
|
div.attachmentimg.catalog-thumb(data-mimetype=file.mimetype)
|
|
|
|
else if type === 'audio'
|
|
|
|
div.audioimg.catalog-thumb
|
|
|
|
else
|
|
|
|
img.catalog-thumb(src=`/file/${file.filename}` width=file.geometry.width height=file.geometry.height loading='lazy')
|
|
|
|
if post.files.length > 1
|
|
|
|
.row.ct-r2.wrap
|
|
|
|
each file, fileindex in post.files.slice(1)
|
|
|
|
- const type = file.mimetype.split('/')[0]
|
|
|
|
.post-file-src
|
|
|
|
a(href=`${postURL}#${post.postId}`)
|
|
|
|
if post.spoiler || file.spoiler
|
|
|
|
div.spoilerimg.catalog-thumb.small
|
|
|
|
else if file.hasThumb
|
|
|
|
img.catalog-thumb.small(src=`/file/thumb/${file.hash}${file.thumbextension}` height=file.geometry.thumbheight width=file.geometry.thumbwidth loading='lazy')
|
|
|
|
else if file.attachment
|
|
|
|
div.attachmentimg.catalog-thumb.small(data-mimetype=file.mimetype)
|
|
|
|
else if type === 'audio'
|
|
|
|
div.audioimg.catalog-thumb.small
|
|
|
|
else
|
|
|
|
img.catalog-thumb.small(src=`/file/${file.filename}` height=file.geometry.height width=file.geometry.width loading='lazy')
|
|
|
|
if post.message
|
|
|
|
pre.no-m-p.post-message !{post.message}
|